OLTP

OLTP database

스케일아웃 OLTP 데이터베이스

TCO를 낮추고 시장 출시를 앞당겨 주는 MySQL 호환 OLTP 데이터베이스

Clustrix는 클라우드 또는 데이터 센터에 적합한 첨단 스케일아웃 관계형 OLTP 데이터베이스를 제공합니다. ClustrixDB는 드롭인(drop-in) 방식으로 MySQL 대체하는 솔루션으로 애드테크, 전자상거래, 게임, 대규모 웹 및 모바일 비즈니스 등에서 일반적으로 사용하는 대용량 트랜잭션의 고부가가치 OLTP 애플리케이션을 위해 개발되었습니다.

OLTP MySQL 애플리케이션이 확장성에 한계가 있어(MySQL의 스케일업은 제한적) 비즈니스 성장에 걸림돌이 되기 시작하면 샤딩(sharding) 기법의 사용을 고려해야 합니다. 이는 애플리케이션 및 데이터 아키텍처를 재설계하고 개발해야 함을 의미합니다. ClustrixDB의 분산형 아키텍처, MySQL 호환성, 선형 수평 확장을 통해 확장 목표를 더 빠르게 달성하고 TCO도 낮출 수 있습니다.

OLTP 데이터베이스 개요

OLTP 데이터베이스는 Hadoop 또는 Redis와 같은 데이터 저장소와 다릅니다. OLTP 데이터베이스는 ACID 보장해야 합니다. 그래야 언제나 정확한 최신 데이터를 얻을 수 있습니다. 온라인 트랜잭션 프로세싱 애플리케이션의 경우, 최신데이터가 확보된 것으로 가정하는 오류를 허용할 수 없습니다. 진정한 OLTP 데이터베이스는 관계형 데이터베이스이기도 하므로, 개발자는 융통성을 발휘하면서 쿼리에서 조인을 사용할 수 있습니다. 친숙한 SQL 표준을 준수하며 웹 규모의 확장성을 갖춘 진정한 관계형 데이터베이스를 원하는 개발자에게 있어, MySQL과 같은 데이터베이스는 대용량 트랜잭션을 처리하는 고부가가치 애플리케이션 대부분을 지원하는 기반으로 자리매김했습니다.

클라우드 확장성과 OLTP

하지만 클라우드 확장성은 전혀 다른 문제이며, 기존 OLTP 데이터베이스 대부분이 여기서 고전하고 있습니다. 클라우드가 성숙한 플랫폼으로 온전히 자리 잡자, 개발자들은 데이터의 가치를 실현할 클라우드 네이티브 방식을 본격적으로 찾기 시작했습니다. 이들은 하드웨어에 표준 클라우드 인스턴스를 사용하면서 데이터를 탄력적으로 스케일아웃하는 방법을 모색합니다. 그에 따라 데이터 저장소가 부상했습니다. 데이터 저장소의 무공유 아키텍처를 사용하면 분산형 컴퓨팅을 최대한 활용할 수 있습니다. 클라우드 데이터베이스 개발자들은 AWS, Azure, Google Cloud와 프라이빗 클라우드 등에서 이식성을 지원할 방법도 찾고 있습니다. 클라우드 벤더들은 이와 같은 방식으로 작동하는 데이터베이스(예: Google Spanner, Amazon Aurora)를 개발하기 시작했는데, 아직은 새롭고 제한적인 수준이며 인프라와의 종속 관계 때문에 클라우드 독립성 테스트를 통과하지 못합니다.

클라우드를 위한 OLTP 데이터베이스

10년 전, Clustrix 엔지니어들은 드롭인 방식으로 MySQL을 대체하고 상용 하드웨어에서 스케일아웃하는 솔루션, 즉 MySQL에 익숙한 개발자에게 편리할 뿐 아니라 관리자를 위한 셀프 관리 기능도 갖춘 솔루션을 개발하기 시작했습니다. 당시 이러한 요구 사항에 부합하는 OLTP 데이터베이스를 만든다는 것이 매우 어려울 것으로 여겨졌습니다. 실제로도 쉽지 않은 일이었습니다. 새로운 영역을 개척하기 시작한 Clustrix는 MySQL의 장점을 살리되 무공유 아키텍처를 기반으로 삼았고, 사용 편의성을 염두에 두었습니다. 진정한 분산형 ACID 보장 SQL 데이터베이스가 탄생하기까지 상당한 엔지니어링 과정을 거쳐야 했습니다. 오늘날 DevOps 시대가 도래하면서 상황이 완전히 달라졌습니다. MySQL 샤딩은 로드 리밸런싱 및 애플리케이션 리팩토링을 끊임없이 반복해야 하므로 너무 힘든 일입니다. 이제 확장성의 제약은 용납되지 않습니다. 따라서 개발자는 클라우드 확장성을 위해 ACID 보장을 포기하기 또는 방대한 유지 보수 작업을 감수하기 중 하나를 선택했습니다.

Clustrix는 다릅니다. ClustrixDB를 사용하는 개발자는 선택의 기로에 놓일 일이 없습니다.

데이터베이스 환경: OLTP 데이터베이스와 OLAP 데이터베이스

데이터베이스는 까다롭습니다. ‘관계형’은 데이터베이스에 대한 논의에서 가장 많이 언급되는 유형이지만, 그 외에도 다양한 유형의 데이터베이스가 있습니다. 실제로 시장에는 관계형 데이터베이스 외에도 각종 데이터 유형을 처리하고 다양한 워크로드 또는 활용 사례를 관리하도록 설계된 수백 가지의 데이터베이스가 있습니다.

OLTP와 OLAP

데이터베이스에는 수많은 하위 카테고리가 있지만, 대개는 둘 중 하나에 속합니다. 트랜잭션 데이터베이스, 즉 OLTP(On-Line Transactional Processing) 데이터베이스와 분석 데이터베이스, 즉 OLAP(On-Line Analytical Processing) 데이터베이스입니다.  OLTP 데이터베이스는 대개 관계형 데이터베이스이며, OLAP 데이터베이스는 다시 실시간 분석 데이터베이스 아니면 데이터 웨어하우징 데이터베이스로 나눌 수 있습니다.

OLTP 데이터베이스

OLTP는 수많은 짧은 온라인 트랜잭션(INSERT, UPDATE, DELETE)으로 이루어집니다. OLTP 시스템은 다중 액세스 환경에서 데이터 무결성을 유지하면서 매우 빠른 속도로 쿼리를 처리하는 데 주안점을 둡니다. 그리고 짧은 대기 시간으로 처리하는 초당 트랜잭션 수 및 고도의 동시성 처리 능력을 기준으로 성능이 측정됩니다. OLTP 데이터베이스에는 상세한 최신 데이터가 있습니다.

OLAP 데이터베이스

OLAP는 트랜잭션 볼륨이 상대적으로 적습니다. 대체로 쿼리가 매우 복잡하고 집계를 사용합니다. 이 시스템에서는 응답 시간을 기준으로 성능이 측정됩니다. OLAP 데이터베이스에는 주로 집계된 기록 데이터가 있습니다.  일반적으로 데이터 웨어하우징은 긴 기간의 방대한 데이터를 조사하여 패턴을 찾아내고 현재 또는 미래에 대한 결론이나 권장 사항을 도출합니다. 이와 달리 실시간 분석은 현재 실행되는 트랜잭션 및/또는 데이터에 주목하면서 비슷한 결론이나 권장 사항을 이끌어냅니다.

OLTP를 위한 솔루션. 흔한 범용 데이터베이스가 아닙니다.

ClustrixDB는 온프레미스 또는 클라우드에서 고부가가치 대용량 트랜잭션 워크로드를 처리하는 OLTP 애플리케이션을 위해 설계된 분산식(다중 노드) 관계형 스케일아웃 데이터베이스입니다.  ClustrixDB는 MySQL과 같은 단일 노드 OLTP 데이터베이스로는 감당할 수 없을 만큼 성장한 기업에서 기존 데이터베이스의 한계를 넘어서 성능 저하 또는 ACID 보장 포기 없이 방대한 트랜잭션 볼륨과 엄청난 수의 동시 사용자도 능히 처리할 수 있는 확장이 필요할 때 탁월한 선택입니다.

자세한 내용이 궁금하신가요?

Clustrix의 리소스 페이지에서 백서, 사례 연구 등 각종 자료를 참조하거나 Clustrix 전문가와 상담해 보세요.

"ClustrixDB는 성배(holy grail)와 같은 데이터베이스 솔루션이라고 할 수 있습니다. MySQL로는 불가능했던 스케일아웃 기능을 막대한 비용이나 기술적 과제 없이도 실현할 수 있으니까요."

– David Smith, CTO, Viverae

viverae clustrix customer

"ClustrixDB 덕분에 더 이상 확장 문제를 겪지 않게 되었습니다. 용량이 더 필요할 때는 노드만 추가하면 선형 확장이 가능합니다. 3노드 클러스터에서 21노드 클러스터로 원활하게 마이그레이션할 수 있었습니다."

–Nicolas Van Eenaeme, CIO, Massive Media(Twoo 모기업)

twoo clustrix customer