Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
웹서버/DB

CockroachDB 아키텍처: 분산 SQL 데이터베이스의 계층적 설계

CockroachDB는 SQL 쿼리를 키-값 데이터로 변환하는 계층적 아키텍처로 구성되며, 레인지 단위의 Raft 기반 복제와 Pebble 저장소 엔진을 통해 강한 일관성과 수평 확장성을 제공한다. 각 노드는 SQL 게이트웨이로 기능하며, 자동 데이터 분산과 범위 분할을 통해 운영 오버헤드를 최소화한다.

2026.09.29  ·  14회  · 

계층적 아키텍처 설계

CockroachDB는 SQL 계층, 트랜잭션 계층, 분산 계층, 복제 계층, 저장소 계층으로 구성된 5개 계층 구조를 사용한다. 클라이언트 SQL 요청은 각 노드의 SQL 게이트웨이에서 키-값(KV) 연산으로 변환되며, 이는 클러스터 전체에 분산된다. 이러한 계층적 설계는 각 계층이 상위·하위 계층을 "블랙박스 API"로 취급하도록 함으로써 독립적 진화와 유지보수를 용이하게 한다.

레인지 기반 데이터 분산

데이터는 기본 64 MiB 크기의 레인지로 분할되어 클러스터 노드에 분산되며, 기본적으로 3개 레플리카로 복제된다. 각 레인지는 정렬된 키-값 쌍의 모놀리식 맵을 형성하고, 레인지가 크기 임계값에 도달하면 자동으로 분할된다. 이러한 작은 레인지 크기는 노드 장애 시 빠른 복구와 재균형을 가능하게 한다.

Raft 합의 기반 복제

CockroachDB는 각 레인지에 대해 Raft 합의 알고리즘을 적용하여 레플리카 간 일관성을 보장한다. Raft 리더는 모든 쓰기 작업을 조정하고 쓰기가 커밋되려면 레플리카 과반수의 동의가 필요하다. 레인지 리스 개념을 통해 특정 레플리카는 읽기를 로컬에서 처리하여 Raft 오버헤드를 줄인다.

저장소 엔진: Pebble

CockroachDB는 Go로 구현된 임베디드 저장소 엔진인 Pebble을 사용한다. Pebble은 로그-구조화 병합 트리(LSM) 기반으로 동작하며, 메모리 테이블에서 정렬된 문자열 테이블(SST) 파일로 데이터를 점진적으로 컴팩션한다. 이 설계는 순차 디스크 I/O를 최적화하여 높은 쓰기 처리량을 제공한다.

WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원