대표 제품을 읽는 기준

NewSQL 제품 비교에서 먼저 봐야 할 것은
어떻게 분산 일관성을 만들었는가입니다

이 제품들은 모두 SQL과 ACID를 유지한 채 수평 확장을 노리지만, 시간 모델과 합의 방식, 저장 계층 분리 방식이 다릅니다. 즉 제품명보다 순서를 어떻게 맞추고 샤딩을 누가 숨기는지가 핵심입니다.

SQL 인터페이스 유지 기존 관계형 질의 모델을 크게 버리지 않고 애플리케이션을 이어갑니다.
분산 상태에서도 ACID 트랜잭션 순서와 커밋 결과를 여러 노드가 같은 기준으로 봐야 합니다.
샤딩·복제를 DB 내부로 이동 애플리케이션이 직접 분산을 조립하지 않게 해 운영 부담을 낮춥니다.
대표 제품
일관성을 맞추는 중심 장치
실제로 가능해지는 것
Google Spanner 글로벌 분산에 강한 제품
TrueTime으로 전역 시점을 추정해 커밋 순서를 안정화 여러 리전에 퍼진 노드가 같은 시간 감각을 기준으로 외부 일관성을 맞춥니다.
지역을 넘는 거래에서도 “먼저 끝난 커밋이 먼저 보인다”는 기대를 지키기 쉽습니다. 글로벌 정산, 계정, 예약처럼 순서 보장이 중요한 업무에 맞닿아 있습니다.
CockroachDB PostgreSQL 호환 + 자동 샤딩
Raft 복제와 범위 단위 재배치로 샤드별 합의를 유지 데이터 범위가 노드 사이를 이동해도 복제본 다수가 같은 상태를 확인합니다.
장애나 노드 추가 시에도 분산 재배치를 DB가 흡수해 서바이벌 성격이 강합니다. 애플리케이션은 직접 샤드 운영보다 SQL 계층에 더 집중할 수 있습니다.
TiDB MySQL 호환 + TiKV 저장 엔진
SQL 계층과 저장 계층을 분리하고 TiKV + Raft로 데이터 상태를 복제 질의 처리 노드와 저장 노드를 독립적으로 늘릴 수 있게 구조를 쪼갭니다.
MySQL 애플리케이션 감각을 유지하면서 읽기·쓰기 부하를 다른 층에서 조절하기 쉽습니다. 운영자는 계산 확장과 저장 확장을 따로 다루는 선택지를 얻게 됩니다.
YugabyteDB PostgreSQL 호환 + 분산 트랜잭션
PostgreSQL 호환 API 위에서 분산 트랜잭션과 복제를 묶어 멀티노드 상태를 관리 익숙한 Postgres 개발 경험을 유지하면서도 데이터는 여러 노드에 나뉘어 저장됩니다.
기존 PostgreSQL 지식과 도구를 살리면서 분산 OLTP로 확장하려는 선택에 가깝습니다. “완전히 새로운 모델”보다 “익숙한 모델의 분산화”에 무게가 있습니다.
학습 포인트

대표 제품 표를 읽을 때는 기능 이름 자체보다 시간·합의·저장 구조를 통해 어떤 상태 일관성을 보장하는지를 봐야 합니다. 그 차이가 글로벌 일관성, 장애 생존성, 계층 분리 운영 같은 실제 특성으로 이어집니다.