정보처리기사/데이터베이스 활용

분산 데이터베이스의 투명성(Transparency)

glorypang 2025. 10. 20. 23:30
728x90
반응형
SMALL

1) 네이밍/위치 관련

  • 이름(네이밍) 투명성: 전역 스키마/이름으로 접근. 객체 이름만 알면 됨.
    예: Customer 테이블을 어느 노드에 두든 동일 이름으로 질의.
  • 위치(Location) 투명성: 데이터의 물리적 위치를 숨김.
    예: 서울/부산 노드 중 어디에 있든 SELECT * FROM Customer 동일 동작.

2) 분할/복제 관련

  • 분할(단편화, Fragmentation) 투명성: 테이블이 수평/수직 분할되어 있어도 하나처럼 보이게.
    예: Order가 지역별로 수평 분할되어도 전역 뷰로 단일 테이블처럼 조회.
  • 복제(Replication) 투명성: 복제본이 여러 곳에 있어도 일관된 하나의 데이터처럼 사용.
    예: 읽기는 가까운 복제본에서, 쓰기는 내부적으로 동기화—사용자는 구분 無.

3) 트랜잭션/동시성/일관성 관련

  • 트랜잭션 투명성: 분산 트랜잭션을 원자성(Atomicity) 있게 처리(2PC 등).
    예: 서로 다른 노드의 계좌 이체가 하나의 트랜잭션처럼 커밋/롤백.
  • 동시성(Concurrency) 투명성: 다수 사용자가 분산 환경에서 동시에 접근해도 직렬화 가능 결과 보장.
    예: 전역 락/타임스탬프/멀티버전으로 정합성 유지.
  • 일관성(Consistency) 투명성: 전역 제약조건(키, 외래키 등)이 분산 전역에서 만족되도록.
    예: 외래키가 다른 노드 테이블을 참조해도 제약 위반 없게 보장.

4) 장애/회복 관련

  • 장애(Failure/Fault) 투명성: 일부 노드·네트워크 장애 시에도 서비스 지속.
    예: 장애 노드는 자동 격리하고 다른 복제본으로 라우팅.
  • 회복(Recovery) 투명성: 장애 후 자동 복구(로그/체크포인트/재동기화)로 정상화.
    예: 다운된 노드 재기동 시 변경분 캐치업 후 자동 재편입.

5) 성능/확장/배치 관련

  • 성능(Performance) 투명성: 캐시, 위치 선택, 로드밸런싱 등 최적화가 내부적으로 수행.
    예: 쿼리를 지연 적은 노드로 자동 라우팅.
  • 확장(Scalability) 투명성: 노드를 늘리거나 데이터가 커져도 사용·개발 방식 변화 없음.
    예: 샤드 추가해도 애플리케이션 코드는 동일 쿼리 유지.
  • 이동/재배치(Migration) 투명성: 데이터를 다른 노드로 옮겨도 서비스 중단·코드 변경 無.
    예: 오프피크에 파티션 재밸런싱 자동 수행.

6) 이기종/자율성 관련(환경 다양성)

  • 이기종(Heterogeneity) 투명성: 서로 다른 DBMS/스키마/데이터모델을 통합 뷰로 제공.
    예: Oracle + PostgreSQL + NoSQL을 단일 스키마처럼 조인.
  • 자율성(Autonomy) 투명성(연합 DB 맥락): 로컬 시스템 정책·스케줄링을 유지하면서 전역 질의 가능.
728x90
반응형
LIST