분산 데이터베이스
- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임, 물리적 Site 분산, 논리적으로 사용자 통합 공유
분산데이터베이스의 투명성(Transparency)
- 분할 투명성(단편화): 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장(ex.고객의 정보가 여러 site에 나눠 저장되어 있지만 하나처럼 느껴짐)
- 위치 투명성: 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함
- 지역 사상 투명성: 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역 시스템 이름과 무관한 이름 사용 가능
- 중복 투명성: DB객체가 여러 site에 중복되어 있는지 알 필요가 없는 성질
- 장애 투명성: 구성요소 (DBMS,Computer)의 장래에 무관한 Transaction의 원자성 유지
- 병행 투명성: 다수 Transaction 동시 수행시 결과의 일관성 유지, Time stamp, 분산 2단계 Locking을 이용 구현
분산 데이터베이스 적용방법
- 분산 환경의 데이터베이스를 성능이 우수하게 현장에서 가치 있게 사용하는 방법은 업무의 흐름을 보고 업무구성에 따른 아키텍처 특징에 따라 데이터베이스를 구축하는 것
- 단순히 분산 환경에서 데이터베이스를 구축하는 것이 목적이 아니라, 업무의 특징에 따라 데이터베이스 분산구조를 선택적으로 설계하는 능력이 필요
분산 데이터베이스 장단점
장점
- 지역자치성, 점증적 시스템 용량 확장
- 신뢰성과 가용성
- 효용성과 융통성
- 빠른 응답 속도와 통신비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구 수용 증대
단점
- 소프트웨어 개발비용
- 오류의 잠재성 증대
- 처리 비용의 증대
- 설계, 관리의 복잡성과 비용
- 불규칙한 응답 속도 (서버의 물리적 위치)
- 통제의 어려움
- 데이터 무결성에 대한 위협
분산 데이터의 활용 방향성
- 업무 필요에 의한 분산 설계(현재방식)
- 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공
- 원거리 또는 다른 서버에 접속하여 처리함으로 인해 발생되는 네트워크 부하 및 트랜잭션 집주엥 따른 성능 저하의 원인을 분석하여 분산 데이터베이스 환경 구축을 함으로써 성능 상 문제 발생 원인을 제거할 수 있음
분산 데이터베이스 적용 기법
테이블 위치 분산
- 설계된 테이블의 위치를 각각 다르게 위치시키는 것(자재품목은 본사DB, 생산제품은 지사DB)
테이블 분할(Fragmentation) 분산
- 각각의 테이블을 쪼개어 분산하는 방법
- 수평분할: 지사(Node)에 따라 테이블을 특정 칼럼의 값을 기준으로 로우(Row)를 분리
- 수직분할: 지사(Node)에 따라 테이블 칼럼을 기준으로 칼럼를 분리, 로우단위로는 분리되지 않는다.
테이블 복제(Replacation) 분산
- 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형
- 부분복제: 통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사별로는 지사에 해당된 로우(Row)를 가지고 있는 형태
- 광역복제: 통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태
테이블 요약(Summarizaion) 분산
- 지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우
- 분석요약: 분석요약(Rollup Replacation)은 각 지사별로 존재하는 요약정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법
- 통합요약: 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해서 요약정보를 산출하는 분산방법
분산 데이터베이스를 적용해서 성능이 향상된 사례
- 테이블복제 분산중 광역복제로 볼 수 있다.
'Computer Science > 데이터베이스' 카테고리의 다른 글
DDL(Data Definition Language)-Oracle (0) | 2023.06.09 |
---|---|
관계형 데이터베이스(Relational Database) (1) | 2023.06.09 |
데이터 베이스 구조와 성능 (0) | 2023.06.08 |
대량 데이터에 따른 성능 (0) | 2023.06.08 |
반정규화와 성능 (0) | 2023.06.08 |