MemSQL

The No-Limits DatabaseTM

MemSQL maximizes performance, scalability and concurrency

The No-Limits Database

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



확장성(Scalability)

MemSQL은 OLTP 및 OLAP를 위한 스케일 아웃 관계형 데이터베이스입니다. Scale out 확장을 통한 최상의 성능 제공하며 높은 동시성을 보장합니다. 모든 노드에서 쓰기가 가능하므로 기존의 전통적인 RDB 가 지니던 한계인 쓰기 확장성을 통해 빠른 대량 데이터 로딩과 실시간 수집을 가능하게 합니다. 또한 MemSQL은 온프라미스, 클라우드, VM 환경 등 모든 환경에 빠른 구축이 가능합니다.



OLTP & OLAP

트랜잭션(OLTP & OLAP)에 따른 데이터 처리





내구성(Durability)/ Fast Writes

Row Store data & Index ( RAM )

  • Snapshot & Log를 디스크 보관
  • 메모리 최적화 데이터 구조(Skiplist)
  • 대규모 동시 업데이트



Column Store data ( Cache / Disk )

  • 조건에 부합하는 Column의 Segment를 찾기위해 Column Index를 활용
  • 활용된 Cache 데이터는 자동으로 내려짐
  • 해당 Segment만을 Cache에 올려 디스크 I/O를 최소화하여 Scan 수행




동시성(High Concurrency)

트랜잭션의 동시성을 높이는MVCC

  • 모든 Write은 새로운 버전의 Row를 생성함
  • 메모리 우선 처리로 매우 빠른 속도로 Commit
  • Old 버전은 garbage-collect 됨
  • Read는 절대 Block되지 않음
  • Write을 위해 Row-level locking
  • Online ALTER TABLE 허용


고가용성(High Availability)

Leaf node는 다른 가용 그룹(AG)의 leaf node와 Pair로 구성

  • 쌍으로 구성된 Leaf node가 Data를 다른 leaf node로 복제
  • Leaf node간 복제는 동기식 or 비동기식
  • 데이터는 파티션 별로 관리

DR을 위한 데이터 센터 간 복제

  • 데이터 복제는 비동기식으로 저장
  • DR node는 Heavy Read workload용으로 활용 가능


파이프라인(Pipeline)




MemSQL ops

설치 및 클러스터 구축, 주요 사용 메트릭의 실시간 보기를 위한 CLI, Web Interface



MemSQL Studio

Visual 사용자 인터페이스로, 복잡하고 무거운 오류 발생 가능성이 높은 클라이언트 SW의 오버헤드 없이 클러스터 상태를 유지하기 위해 모든 클러스터를 모니터링 및 디버그를 위해 쉽게 상호 작용을 도움



Operator for Kubernetes

사내 및 클라우드의 쿠버네티스 환경에서 클러스터 크기 조정, 장애 노드 교체 및 최신 버전으로 원활하게 업그레이드