X

NewSQL

I. RDBMS와 NoSQL 장점 제공, NewSQL의 개념 및 특징

가. NewSQL의 개념

  • RDBMS의 ACID 특성을 유지하며 OLTP 워크로드에 NoSQL의 확장성을 제공하는 데이터베이스 관리 시스템

나. NewSQL의 특징

특징 특징 설명
신규 아키텍처 – 비공유 노드 클러스터를 사용, 각 노드는 데이터의 하위 집합 관리
– 분산 동시성 제어, 흐름 제어 및 분산 쿼리 처리
SQL 최적화 및 확장성 – SQL에 최적화 된 스토리지 엔진
– SQL과 동일 인터페이스 및 확장성 제공
투명한 샤딩 – Raft 또는 Paxos 합의 알고리즘을 사용
– 데이터베이스를 여러 노드로 자동 분할

 

II. NewSQL의 주요 기능 및 핵심 기술

가. NewSQL의 주요 기능

구분 주요 기능 기능 설명
SQL 관리
측면
SQL 기반 상호작용 – APP와 DBMS의 입력/조회/갱신/삭제 시 SQL 사용
트랜잭션 ACID 지원 – 트랜잭션 커밋 시 원자성/일관성/독립성/영속성
비잠금 동시성 제어 – 데이터 무결성 처리 위해 Non-locking 구조 지원
아키텍처
측면
노드 단위 고성능 – 각 단일 DBMS 서버 노드 단위로 확장, 고성능 보장
병렬, 비공유 아키텍처 – 병렬 수행, 고성능, 데이터가 각 서버에 독립적 존재

나. NewSQL의 핵심 기술

구분 핵심 기술 세부 설명
RDBMS
측면
인덱싱 – 데이터베이스 검색 속도 향상, 테이블 연관, 독립적인 저장공간
MVCC – 트랜잭션의 다중 버전 동시성 제어로 트랜잭션 직렬화
샤딩 – 동일 테이블 스키마의 데이터를 다수 데이터베이스에 분산 저장
NoSQL
측면
스키마리스 – 테이블과 컬럼 스키마 없이 Key-Value 기반 단순 검색, 추가 용이
인메모리 – 고성능, 저지연 서비스, 버퍼 관리 불필요
DB 스케일링 – Scale-Out 방식의 유연한 데이터 구조

 

III. NewSQL과 유사 DBMS 비교

비교 항목 NewSQL RDBMS NoSQL
스키마 스키마 제약 없음 연관 스키마, 테이블 스키마 없음
확장성 읽기/쓰기 확장성 읽기 확장성 제공 읽기/쓰기 확장성 제공
고가용성 고가용성 내장 별도 구성 필요 고가용성 내장
ACID 특성 ACID 특성 제공 ACID 특성 제공 ACID 특성 미제공
BASE 특성 BASE 특성 제공 BASE 특성 미제공 BASE 특성 제공
성능오버헤드 낮음 중간 높음
보안성 높음 높음 낮음
적용 제품 Google Spanner,
VoltDB
Oracle, MSSQL,
MySQL, IBM DB2
MongoDB, HBASE
Redis, Cassandra
활용 분야 게임, E-커머스, Telco. 금융, CRM, HR, APP 빅데이터, IoT, SNS

 

[참고]

  • 위키백과, “NewSQL”, 2020. 4
  • Google Spanner, “A NewSQL Journey or Beginning of the End of the NoSQL Era”, 2018. 10
Categories: 데이터베이스
도리: