토픽 142 / 201·분산 트랜잭션 및 보안
분산DB 투명성 (Distributed Database Transparency)
분산DB 투명성 (Distributed Database Transparency)
분산 데이터베이스 환경에서 사용자가 데이터의 물리적 분산 상태를 인식하지 않고 마치 하나의 중앙 집중식 데이터베이스처럼 사용할 수 있도록 시스템이 제공하는 추상화 특성
목적: 분산 환경의 복잡성 은닉, 사용자 편의성(단일 DB처럼 사용), 애플리케이션 이식성, 데이터 독립성 확보
Date의 12가지 분산DB 규칙
투명성 유형 상세
- •위치 투명성(Location Transparency): 데이터가 어떤 사이트에 저장되어 있는지 사용자가 알 필요 없음, 데이터 이름만으로 접근, 데이터 이동 시 애플리케이션 수정 불필요
- •분할 투명성(Fragmentation Transparency): 테이블이 수평/수직 분할되어 여러 사이트에 저장되어도 하나의 테이블처럼 접근, 수평 분할(행 기준)·수직 분할(열 기준)·혼합 분할
- •복제 투명성(Replication Transparency): 동일 데이터가 여러 사이트에 복제되어 있어도 사용자는 인식하지 못함, 시스템이 자동으로 복제본 관리·동기화, 가용성·성능 향상
- •병행 투명성(Concurrency Transparency): 다수 사용자가 동시에 분산 데이터에 접근해도 일관성 유지, 분산 락킹·분산 타임스탬프로 구현
- •장애 투명성(Failure Transparency): 일부 사이트나 네트워크 장애 시에도 시스템이 정상 동작하는 것처럼 보임, 자동 복구·Failover 메커니즘
2PC와의 관계: 분산 트랜잭션의 원자성 보장을 위해 2PC(Two-Phase Commit) 프로토콜 활용, Prepare Phase(모든 참여 사이트에 커밋 준비 요청) → Commit Phase(전체 커밋 또는 전체 롤백), 병행 투명성과 장애 투명성의 구현 기반
장점: 사용자 편의성(분산 인식 불필요), 애플리케이션 이식성, 데이터 이동/재배치 유연성, 시스템 확장 용이
단점: 투명성 구현의 높은 복잡도, 성능 오버헤드(분산 쿼리/트랜잭션), 완전한 투명성 달성 어려움(네트워크 지연 등), 장애 처리 복잡
적용사례: 글로벌 분산 데이터베이스(Spanner, CockroachDB), 다중 데이터센터 환경, 지역별 데이터 저장 규제 대응, 대규모 분산 시스템
비교: 중앙집중식 DB(단일 사이트/투명성 불필요/확장성 제한/SPOF) vs 분산 DB(다중 사이트/투명성 필요/수평 확장/고가용성)
연관: 분산 데이터베이스, 2PC, 데이터 독립성, 샤딩, 복제, CAP 이론