Business

MemSQL

The No-Limits Database

MemSQL은 OLTP 및 OLAP 업무를 동시에 수용하며 확장이 자유로운 분산처리 관계형 데이터베이스입니다.
Scale-Out을 통한 최상의 성능을 제공하며 높은 동시사용성을 보장합니다. 대용량 데이터를 실시간 수집 및 처리가 가능하고 온프레미스, 클라우드, VM 환경 등 다양한 환경에서 빠른 구축을 지원합니다.

확장성(Scalability)

MemSQL은 OLTP 및 OLAP를 위한 스케일 아웃 관계형 데이터베이스입니다. Scale out 확장을 통한 최상의 성능 제공하며 높은 동시성을 보장합니다. 모든 노드에서 쓰기가 가능하므로 기존의 전통적인 RDB 가 지니던 한계인 쓰기 확장성을 통해 빠른 대량 데이터 로딩과 실시간 수집을 가능하게 합니다. 또한 MemSQL은 온프라미스, 클라우드, VM 환경 등 모든 환경에 빠른 구축이 가능합니다.
용량과 성능의 증가에 따라 운영 중에 스케일 아웃을 통해 쉽고 유연하게 확장이 가능합니다.
(예를 들어 동시 사용자가 많아지면 Aggregator노드를 추가하고, 대이터 용량 증가와 빠른 배치/집계/테이블 검색이 요구될 때는 Leaf 노드를 증가시키면 됩니다)

OLTP & OLAP

트랜잭션(OLTP & OLAP)에 따른 데이터 처리
MemSQL은 Memory 기반의 Rowstore와 Disk 기반의 Columnstore를 모두 지원합니다. 동시성이 높은 OLTP & Mixed 워크로드를 위한 Rowstore는 단일 레코드 삽입 및 무작위 검색에 적합합니다. 또한 대규모 데이터셋 분석쿼리를 위한 Columnstore는 배치 로드, 빠른 집계 및 테이블 검색에 적합합니다.

내구성(Durability)/ Fast Writes

Row Store data & Index (RAM)
Snapshot & Log를 디스크에 주기적으로 보관함으로서 Persistence를 보장합니다. 메모리 최적화 데이터 구조(Skiplist)를 통해 빠른 데이터 처리가 가능합니다.
일반 디스크기반 DBMS와 달리 메모리에서 우선 프로세싱을 해서 대규모 동시 업데이트가 가능합니다.
Column Store data (Cache / Disk)
조건에 부합하는 Column의 Segment를 찾기위해 Column Index를 활용하여 해당 Segment만을 Cache에 올려 디스크 I/O를 최소화하여 Scan 수행이 가능합니다.
( MPP 구조를 통해 매우 빠른 Full Scan이 가능합니다.) 활용된 Cache 데이터는 자동으로 내려짐으로 메모리의 효율적 관리가 가능합니다.

동시성(High Concurrency)

트랜잭션의 동시성을 높이는 MVCC
모든 Write은 새로운 버전의 Row를 생성하고, 메모리 우선 처리로 매우 빠른 속도로 Commit이 이루어집니다.
Read는 절대 Block되지 않습니다. Write을 위해 Row-level locking 메커니즘을 사용합니다.
Online ALTER TABLE도 매우 용이하게 처리가 됩니다.

고가용성(High Availability)

Leaf 노드는 다른 가용 그룹(AG)의 노드와 쌍(Pair)으로 구성
데이터는 MemSQL만의 데이터 저장소인 파티션 단위로 관리가 됩니다.
쌍(Pair)으로 구성된 Leaf 노드가 Data를 다른 Leaf 노드로 복제를 합니다.
DR(Distery recovery)
DR를 위한 데이터 센터 간 데이터 복제는 비동기식으로 진행이 됩니다. DR 노드는 Heavy Read workload용으로 활용 가능합니다.

파이프라인(Pipeline)

외부 소스에서 실시간 데이터 수집을 위한 다양한 파이프라인을 제공합니다.
제공되는 파이프라인은 Kafka, Filesystem, HDFS, Amazon S3, Azure Blob 등이 있습니다.
외부 소스로 부터의 데이터 수집시에 추출, 변환 및 로드(ETL) 기능을 통해 MemSQL에 적재가 가능합니다.
대량의 데이처 처리를 위해 병렬 확장을 통한 분산 워크로드 처리로 빠른 성능을 제공합니다.
JSON, Avro, 그리고 CSV 등 다양한 데이터 포멧을 지원합니다.

MemSQL Ops

설치 및 클러스터 구축, 주요 사용 메트릭의 실시간 보기를 위한 CLI 및 Web 기반 UI를 제공합니다.
간단한 조작을 통해 쉬운 설치 프로세스를 제공합니다.
DBMS 환경 전반의 다양한 엔지니어링 팀을 위한 모니터링 기능을 간소화합니다.
버젼 업그레이드, 라이센스 관리, 클러스터 상의 모든 노드에 대해서 동적 관리가 가능합니다.
NUMA 기능을 통해 하나의 호스트에서 다중 Leaf 노드 구성을 통해 병렬도를 높일 수 있습니다.
백업 및 복원 기능은 UI를 통해 수행 가능합니다.

MemSQL Studio

클러스터의 안정적인 상태 유지를 위해 모니터링 및 디버그를 쉽게 하기 위한 Web UI 형태의 관리자 콘솔을 제공합니다.
SQL을 편집하고 실행가능한 SQL Editor를 제공합니다.
쿼리 또는 노드 레벨에서 워크로드 프로필을 기록하고 이를 통해 리소스 사용량을 시각적으로 분석이 가능합니다.
(Disk / Network usage, Disk I/O & CPU, etc.)
데이터베이스 스키마 최적화 및 병목 지점 파악을 통한 최대 성능을 위한 시각적으로 트래킹이 가능한 시각적 설명(Visual Explain) 기능을 제공합니다.
외부 소스에서 파이프라인을 통해 실시간 수집되는 데이터에 대한 모니터링 및 관리가 가능합니다.

Operator for Kubernetes

쿠버네티스로로 관리되는 컨테이너 기반으로 구축된 MemSQL 클러스터를 자유롭게 관리가 가능하게 하는 오퍼레이터를 제공합니다.
온프레미스 및 클라우드 인프라에서 구성 요소나 배포 방법을 변경하지 않고 수분 내에 MemSQL를 설치, 배포 및 확장이 가능합니다. MemSQL 등의 소프트웨어 및 하드웨어의 업그레이드을 독립적으로 수행함으로써 단순화된 관리 라이프 사이클을 제공합니다.