본문 바로가기
SingleStoreDB/엔지니어링

한눈에 SingleStore알아보기

by 에이플랫폼 [Team SingleStore Korea] 2019. 6. 24.

The No-Limits Database

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

 


확장성(Scalability)

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


OLTP & OLAP

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

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


내구성(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를 생성함

Read는 절대 Block 되지 않음

Old 버전은 garbage-collect 됨

Write을 위해 Row-level locking

Isolation Level : Read Committed

 


고가용성(High Availability)

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

쌍으로 구성된 Leaf node가 Data를 다른 leaf node로 복제

Leaf node 간 복제는 동기식 or 비동기식

데이터는 파티션 별로 관리


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

데이터 복제는 비동기식으로 저장

DR node는 Heavy Read workload 용으로 활용 가능


파이프라인(Pipeline)

외부 소스에서 실시간 데이터 수집

외부 데이터를 추출, 변환 및 로드(ETL) 기능 제공

병렬 확장을 통한 분산 워크 로드 처리를 통한 빠른 성능 제공

Kafka, Amazon S3, Azure Blob, Filesystem, 과 HDFS 데이터 소스들 지원

JSON, Avro, and CSV 데이터 포맷 지원


MemSQL ops

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

오류가 발생하기 쉬운 설치 프로세스 제거

환경 전반의 다양한 엔지니어링 팀을 위한 모니터링 간소화

버전 업그레이드

SingleStore 라이선스 관리

클러스터에서 대량의 노드를 동적으로 관리

NUMA 최적화

백업 및 복원


MemSQL Studio

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

클러스터 관리

SQL Editor

리소스 사용량

- 쿼리 또는 노드 레벨에서 워크 로드 프로필 기록 및 시각적 분석

- (Disk / Network usage, waiting for disk I/O & CPU, etc.)

시각적 설명(Visual Explain)

- 최대 성능을 위해 데이터베이스 스키마 최적화

- 병목 현상 파악 및 핵심 엔진 작동 개선

파이프라인 관리

- 외부 소스에서 실시간 수집 데이터 모니터링 및 관리

기타

- MemSQL Studio 버전 관리 및 업그레이드, 라이선스 관리


Operator for Kubernetes

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

인프라 자유

- 쿠버네티스로 관리되는 컨테이너화된 구축은 구성 요소 또는 배포 방법을 변경하지 않고 물리적 또는 클라우드 인프라에 구현

운영 오버헤드 감소

- 설치 및 배포 – 수분 내 수행

- 탄력적 확장 - memsql-cluster.yaml을 변경하여 클러스터 수정

- 온라인 업그레이드 - 새 릴리스 ID 업그레이드 클러스터로 클러스터 구성 업데이트

단순화된 라이프 사이클

- 컨테이너 추상화를 통해 HW/SW를 독립적으로 원활하게 업그레이드 수행 가능

​※ www.a-platform.biz | info@a-platform.biz