1. 분산 데이터베이스의 정의
1) 여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
2) 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임, 물리적 Site 분산, 논리적으로 사용자 통합 및 공유
2. 분산 데이터베이스의 6가지 투명성(Transparency)
1) 분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장
2) 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함
3) 지역사상 투명성 : 지역DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용 가능
4) 중복 투명성 : DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질
5) 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 Transaction의 원자성 유지
6) 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현
* 전통적인 분산 데이터베이스 구축과 같이, 분산 환경의 데이터베이스를 위와 같은 특징 모두를 만족하면서 구축하는 사례는 최근에도 드뭄.
3. 분산 데이터베이스의 적용 방법 및 장단점
1) 분산 데이터베이스 적용방법
- 업무의 흐름을 보고 업무 구성에 따른 아키텍쳐 특징에 따라 데이터베이스를 구성
- 업무의 특징에 따라 데이터베이스 분산구조를 선택적으로 설계하는 능력 필요
- 데이터베이스 분산설계라는 측면보다 데이터베이스 구조설계(아키텍처)라는 의미로 이해해도 무방
2) 분산 데이터베이스 장단점
장점 | 단점 |
- 지역 자치성, 점증적 시스템 용량 확장 - 신뢰성과 가용성 - 효용성과 융통성 - 빠른 응답 속도와 통신비용 절감 - 데이터의 가용성과 신뢰성 증가 - 시스템 규모의 적절한 조절 - 각 지역 사용자의 요구 수용 증대 |
- 소프트웨어 개발 비용 - 오류의 잠재성 증대 - 처리 비용의 증대 - 설계, 관리의 복잡성과 비용 - 불규칙한 응답 속도 - 통제의 어려움 - 데이터 무결성에 대한 위협 |
4. 분산 데이터베이스의 활용 방향성
1) 업무적인 기능이 다양해지고 데이터의 양이 기하급수적으로 증가하는 환경에서 적용하는 고급화된 기술
2) 분산설계의 방향성은 [위치 중심의 분산설계]에서 [업무필요에 의한 분산설계]
5. 데이터베이스 분산 구성의 가치
1) 통합된 데이터베이스에서 제공할 수 없는 빠른 성능의 제공이 핵심 가치
2) 원거리 또는 다른 서버에 접속하여 처리하므로 인해 발생되는 네트워크 부하 및 트랜잭션 집중이 성능 저하의 원인
3) 분산된 데이터베이스 환경의 구축을 통해 빠른 성능의 제공이 가능, 즉 분산 데이터베이스 핵심가치는 [데이터 처리 성능]
6. 분산 데이터베이스의 적용 기법
- 분산의 종류는 [테이블 위치 분산], [테이블 분할 분산], [테이블 복제 분산], [테이블 요약 분산] 전략이 존재
- 가장 많이 사용되는 [테이블 분할 분산] 방법은 성능이 저하되는 많은 데이터베이스에서 가장 유용하게 적용할 수 있는 기술적인 방법
- 분산 환경으로 데이터베이스를 설계하는 방법은 우선 통합 데이터 모델링을 하고 각 테이블 별로 업무적인 특징에 따라 지역 또는 서버별로 테이블을 분산 배치나 복제 배치하는 형태로 설계
1) 테이블 위치 분산
▷ 설계된 테이블의 위치를 각각 다르게 위치시키는 방법
▷ 테이블의 구조가 변하지 않고 다른 데이터베이스에 중복되어 생성되지 않음
2) 테이블 분할(Framentation) 분산
▷ 위치뿐만 아니라 각각의 테이블을 쪼개어 분산하는 방법
▷ 테이블을 나누는 기준에 따라 Row 단위로 분리하는 [수평분할]과 Column 단위로 분할하는 [수직분할]로 나뉨
3) 테이블 복제(Replication) 분산
▷ 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 방법
▷ 마스터 데이터베이스의 일부 내용만 다른 지역/서버에 위치시키는 [부분복제]와 전체 내용을 다른 지역/서버에 위치시키는 [광역복제]로 나뉨
4) 테이블 요약(Summarization) 분산
▷ 지역간 또는 서버간 데이터가 비슷하지만 서로 다른 유형의 데이터를 요약하는 방법
▷ 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 [분석요약]과 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식의 [통합요약]으로 나뉨
7. 효과적인 데이터베이스 분산 설계
- 성능이 중요한 사이트에 적용
- 공통코드, 기준정보, 마스터 데이터 등에 분산환경을 구성
- 실시간 동기화가 요구 되지 않는 환경에 효과적, 거의 실시간(Near Real Time)의 업무적인 특징을 갖은 환경 구성도 가능
- 특정 서버에 부하가 집중이 될 떄 부하를 분산할 목적으로 사용
- 백업 사이트(Disastoer Recovery Site)를 구성할 때 분산 기능을 사용 가능
'IT > note' 카테고리의 다른 글
AWS Marketplace / 마켓 등록 절차, 용어 설명 등 팁 공유 (5) | 2022.01.26 |
---|---|
Server OS의 변화 동향에 따른 client OS의 향후 동향 예측 (10) | 2022.01.25 |
QA 조직 요구 사항 및 인력 구성 (6) | 2022.01.25 |
클라우드 컴퓨팅의 서비스 형태, 장점, 단점, IaaS, PaaS, SaaS (0) | 2022.01.19 |
Blockchain 기본 정리, 입문 내용 (0) | 2022.01.19 |
댓글