스물두줄

정보관리기술사 · 개념서 · 데이터베이스

분산 데이터베이스 투명성

설명 영상 분산 데이터베이스 투명성 · 2:49

왜 배우는가: 분산 데이터베이스는 데이터가 여러 지역·노드에 나뉘어 있어도 사용자가 단일 DB처럼 쓰게 하는 것이 핵심 목표이며, 그 목표를 달성하는 조건이 투명성이다. 실무에서는 복제·분할 설계와 응용 개발 방식을 정할 때 투명성 수준이 기준이 되고, 시험에서는 정의와 종류를 묻는 1교시 용어 문제로 반복 출제되었다.

출제 이력: 제139회 1교시 7번, 제132회 1교시 13번

1. 한 줄 정의와 핵심 키워드

분산 데이터베이스 투명성은 사용자가 데이터의 물리적 분산을 인식하지 않고 단일 DB처럼 사용하도록 분산 특성을 숨기는 성질이다.

  • 핵심 키워드: 분산 데이터베이스, 투명성(Transparency), 위치 투명성, 중복 투명성, 분할 투명성, 병행 투명성, 장애 투명성, 명명 투명성

2. 개념 풀이

쉬운 말로 하면 "데이터가 어디 있는지, 몇 벌인지, 어떻게 쪼개졌는지를 응용 프로그램이 몰라도 되게 가려 주는 성질"이다. 사용자는 한 대의 중앙 DB에 질의하듯 SQL을 쓰고, 분산 DBMS가 뒤에서 위치를 찾고 복제본을 고르며 결과를 합친다.

정식 정의는 분산 DBMS가 논리적으로 하나인 데이터베이스를 물리적으로 여러 사이트에 나누어 두면서도, 사용자 관점에서는 분산이 드러나지 않도록 보장하는 속성이다.

핵심 용어는 다음과 같다.

  • 위치 투명성(Location Transparency): 사용자가 데이터의 저장 위치를 명시하지 않아도 접근한다. 위치 정보는 시스템 카탈로그에 유지한다.
  • 명명 투명성(Naming Transparency): 데이터 항목을 사이트와 무관한 고유 이름으로 식별한다.
  • 중복 투명성(Replication Transparency): 같은 데이터 객체가 여러 사이트에 복제되어 있어도 사용자가 이를 알 필요가 없다.
  • 분할 투명성(Fragmentation Transparency): 하나의 논리적 릴레이션이 여러 단편으로 나뉘어 있어도 사용자는 단편을 의식하지 않고 원래 릴레이션처럼 질의한다.
  • 병행 투명성(Concurrency Transparency): 여러 트랜잭션이 동시에 수행되어도 결과가 일관되게 유지된다.
  • 장애 투명성(Failure Transparency): DBMS나 컴퓨터 등 구성요소에 장애가 나도 트랜잭션의 원자성을 유지한다.

3. 등장 배경과 필요성

기업 데이터가 여러 지역 지점과 서버에 흩어지면서 중앙 집중식 DB만으로는 응답 속도와 가용성을 맞추기 어려워졌다. 지역별 자치 운영과 데이터의 지역 처리가 필요해졌고, 빠른 네트워크가 이를 현실로 만들었다.

그러나 분산을 응용 프로그램이 직접 처리하게 하면 개발과 유지보수 비용이 커진다. 투명성은 이 복잡성을 DBMS 내부로 옮겨 응용 개발자가 단일 DB 모델로 일하게 하려는 요구에서 나왔다. 즉 분산의 이점(성능·가용성·지역 자치)은 살리고, 분산의 복잡성은 숨기려는 설계 목표이다.

그럼에도 대량 데이터의 지역·글로벌 처리에는 여전히 유용하다고 본다. 따라서 투명성은 분산 DB 설계 원리로서 여전히 시험에서 중요하게 다뤄진다.

  • 투명성 수준이 높을수록 응용의 이식성과 사용 편의성이 높아진다.
  • 대신 질의 최적화와 갱신 전파 비용이 늘어 성능 오버헤드가 생긴다.

4. 구성요소·원리·절차

분산 데이터베이스는 여러 사이트에 흩어진 데이터를 하나의 DB처럼 보이게 하는 구조다. 사용자 질의는 전역 스키마를 기준으로 들어오고, 시스템은 이를 사이트별 지역 질의로 바꾸어 실행한 뒤 결과를 합친다. 구성요소는 다음과 같다.

구성요소역할투명성과의 관계
전역 스키마(Global Schema)사용자가 보는 단일 논리 구조위치·분할·중복 투명성
지역 스키마(Local Schema)각 사이트의 물리 구조지역사상 투명성의 대상
시스템 카탈로그(System Catalog)단편의 위치·사본 정보 보관위치·명명 투명성
분산 질의 처리기질의 분해·최적화·사이트 배정위치·분할 투명성
분산 트랜잭션 관리기2단계 커밋 등으로 원자성 보장장애·병행 투명성

원리는 단편화(Fragmentation)와 할당(Allocation), 그리고 복제(Replication)의 세 축이다. 단편화는 릴레이션을 수평 또는 수직으로 나누는 방법이다. 수평 단편은 행을 조건으로 나누고, 수직 단편은 열 집합으로 나눈다. 단편은 재구성 규칙(수평은 합집합, 수직은 조인)으로 원래 릴레이션을 복원할 수 있어야 한다. 단편은 재구성이 가능해야 분할 투명성이 성립한다.

질의 처리 절차는 다음과 같다.

  • 사용자가 전역 스키마 기준으로 질의를 제출한다.
  • 분산 질의 처리기가 명명·분할 정보를 이용해 전역 질의를 단편 질의로 바꾼다(질의 변환).
  • 시스템 카탈로그에서 단편과 사본의 위치를 찾아 사이트를 고른다(사본 선택).
  • 사이트별 부분 질의를 병렬 또는 순차로 실행하고, 중간 결과를 전송한다(데이터 전송 최소화).
  • 결과를 합쳐 사용자에게 돌려준다.
  • 갱신은 복제본 전체에 반영하고, 커밋은 2단계 커밋으로 확정한다.
분산 질의 처리 흐름

5. 관련 법령·기준·표준

분산 데이터베이스는 특정 법령이 정한 기준이 아니라 학술·업계 표준 체계로 다룬다. 분산 트랜잭션은 X/Open DTP 모델(트랜잭션 매니저와 리소스 매니저의 역할 구분)을 사실상의 표준으로 쓴다. 분산 트랜잭션의 정당성 보증 알고리즘은 2단계 커밋(2PC)이며, 원자성은 all-or-nothing 결과를 보증해야 한다. 공공·금융 시스템에서 개인정보를 분산 저장할 때는 적용되는 개인정보 보호 기준을 확인한다.

아래 표는 분산 데이터베이스 설계와 운영에서 다루는 기준값과 조건을 모은 것이다. 값은 교재·기준서에서 널리 쓰이는 것이며, 법정 수치가 아니다.

항목기준값적용 조건근거
투명성 개수6가지분산 DB 성립 요건교재·기술문서
2단계 커밋준비 단계 후 확정 단계분산 트랜잭션 원자성X/Open DTP, 2PC
커밋 소요 시간적용 상황에 따라 달라짐2PC 적용 시분산 트랜잭션 문서
단편 재구성수평 합집합, 수직 조인단편화 후 원래 릴레이션 복원분산 DB 교재
갱신 방식마스터만 갱신듀플리케이션 방식분산 DB 문서

표 아래 설명: 6가지 투명성은 교재 기준으로 단편화·위치·지역사상·중복·장애·병행 투명성을 가리킨다. 2단계 커밋의 소요 시간은 적용 상황에 따라 달라지므로 설계 목표값으로 단정하지 않는다. 듀플리케이션은 마스터만 갱신을 허용하므로 쓰기 충돌이 적지만 지연이 생긴다.

6. 유형과 비교

분산 데이터베이스는 데이터 배치 방식에 따라 분할(단편화), 복제, 혼합 형태로 나뉜다. 투명성은 이 배치 방식을 사용자에게 얼마나 숨기느냐에 따라 달라진다. 아래 표는 배치 방식별 특징을 비교한다.

비교 항목분할(Fragmentation)복제(Replication)혼합(분할 + 복제)
데이터 배치릴레이션을 수평 분할 또는 수직 분할 하여 사이트별 저장같은 데이터의 사본을 여러 사이트에 저장분할된 단편마다 사본을 여러 사이트에 저장
주요 목적지역성 확보, 질의 처리 부하 분산가용성 향상, 읽기 성능 향상두 목적의 동시 달성
필요한 투명성분할 투명성, 위치 투명성중복 투명성, 장애 투명성분할·중복·위치 투명성 모두
주요 부담조인이 사이트를 넘나들어 질의 비용 증가갱신 시 모든 사본 동기화 필요설계와 질의 최적화가 가장 복잡

표는 배치 방식이 바뀔 때마다 필요한 투명성이 달라짐을 보인다. 분할 구조에서는 사용자가 단편 위치를 몰라도 되어야 하므로 위치 투명성이 핵심이다. 복제 구조에서는 갱신 일관성이 핵심이라 병행 투명성과 중복 투명성이 함께 요구된다.

비교 항목동기 복제비동기 복제마스터-슬레이브 듀플리케이션
갱신 반영 시점커밋 전에 모든 사본 반영커밋 후 일정 시점에 사본 반영마스터 갱신 후 설정 시간에 복제
일관성강한 일관성최종 일관성(Eventual Consistency)복제본은 지연된 상태를 가짐
갱신 허용모든 사이트 가능모든 사이트 가능(충돌 해결 필요)마스터만 갱신 허용
성능 영향응답 시간 증가응답 시간 짧음복제 부하가 주기적으로 발생

이어지는 내용

로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기