본문 바로가기
Database2026년 5월 23일3분 읽기

CockroachDB 25 — Multi-region 정책·생존 목표 프로덕션 운영

YS
김영삼
조회 1382
CockroachDB 25 — Multi-region 정책·생존 목표 프로덕션 운영

핵심 요약

CockroachDB 25 multi-region 정책으로 3리전(서울·도쿄·싱가포르) 운영 8개월. table locality·survival goal 조합으로 사용자 리전 가까운 데이터에 single-digit ms 응답, 한 리전 전체 다운에도 다운타임 0. 단, 단가는 RDS의 2배 수준.

1. 핵심 개념

개념설명
region물리적 리전(서울 등)
locality테이블·행이 어느 region에 우선
survival goalregion 또는 zone 장애 생존

2. 설정 한 줄

SET CLUSTER SETTING server.default_storage_engine = 'pebble';
ALTER DATABASE app PRIMARY REGION "ap-northeast-2";
ALTER DATABASE app ADD REGION "ap-northeast-1", "ap-southeast-1";
ALTER DATABASE app SURVIVE REGION FAILURE;

ALTER TABLE users SET LOCALITY REGIONAL BY ROW;
ALTER TABLE settings SET LOCALITY GLOBAL;

3. Locality 유형

  • REGIONAL BY TABLE — 한 region에 마스터, 다른 곳은 readable
  • REGIONAL BY ROW — 행마다 region 컬럼으로 분산
  • GLOBAL — 모든 region에서 강한 일관성 읽기

4. 측정

쿼리일반 DB(서울만)CRDB 25
서울 사용자 조회(서울 region 행)2ms3ms
도쿄 사용자 조회(도쿄 region 행)52ms3ms
전역 설정 읽기2ms2ms
region 전체 장애 다운타임전체0

5. SQL 호환

Postgres wire 호환. pgvector 확장도 25부터. ORM(Drizzle, Prisma) 그대로 사용. 다만 일부 함수·EXPLAIN 출력은 다름.

6. 비용

3리전 9 노드(각 region 3노드, c6i.4xlarge) 월 $14,500. RDS multi-AZ 동급 대비 약 2배. 데이터 송수신비 추가로 운영 비용 신중히.

7. 결정 가이드

  • 글로벌 사용자, 리전 가까운 latency 필수 → CRDB
  • 단일 리전·단일 region → RDS Postgres 또는 Aurora
  • 강한 일관성 + region 장애 생존 → CRDB

자주 묻는 질문

Q. Spanner와 비교? Spanner는 GCP 전용. CRDB는 멀티 클라우드. 컴플라이언스·벤더 락인 회피라면 CRDB.

댓글 7

개개발자준호5개월 전
한국어 자료 더 없을까요? 영문 문서가 너무 빠르게 바뀌네요.
프프리랜서개발자(guest)5개월 전
운영 6개월차인데 글에서 말한 함정 정확히 그대로 겪었습니다 ㅠㅠ
김김영삼개발자준호5개월 전

저희 팀 기준 평균 1~2주였습니다. 기존 경험에 따라 더 짧을 수도 있습니다.

코코딩하는민수5개월 전
1~2년 뒤에도 유지될 만한 선택이라고 보시는지 궁금합니다.
보보안전문가태호5개월 전
사내 표준으로 잡고 있는데 신입 온보딩에서 이해도가 훨씬 좋아졌어요.
주주니어개발자소연5개월 전
프로덕션에 적용하기 전 검증 단계로 추천하시는 방법 있을까요?
김김영삼주니어개발자소연5개월 전

관련해서 다음 글에서 좀 더 깊이 다뤄볼 예정입니다. 기다려 주세요!

Ctrl+Enter로 등록