4. 분산 데이터베이스
1) 분산 데이터베이스
- 중앙 집중형 DB : 한 대의 물리적 시스템에 데이터베이스 관리 시스템을 설치하고 여러 명의 사용자가 DBMS에 접속
- 분산 데이터베이스 : 물리적으로 떨어진 DB를 네트워크로 연결하여 단일 데이터베이스 이미지를 보여주고 분산된 작업 처리를 수행
투명성 제공 : 시스템이 네트워크로 분산되어 있는지 여부 인식 불가능, 자신만의 DB를 사용하는 것처럼 사용 가능
투명성 : 분할, 위치, 지역사상, 중복, 장애, 병행 투명성
* 분산 데이터베이스의 투명성
분할 투명성 |
- 하나의 논리적 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 시스템에 저장되어 있음을 인식할 필요 없음 |
위치 투명성 |
- 데이터가 어느 위치에 있더라도 동일한 명령을 사용하여 데이터에 접근 가능 |
지역 사상 투명성 |
- 지역 DBMS와 물적 DB 사이의 사상(MAPPING)이 보장됨. 각 지역 시스템 이름과 무관한 이름이 사용 가능 |
중복 투명성 |
- DB 객체가 여러 시스템에 중복되어 존재하지만 데이터의 일관성이 유지됨 |
장애 투명성 |
- DB가 분산되어 있는 각 지역의 시스템이나 통신망에 이상이 발생해도 데이터 무결성은 보장됨 |
병행 투명성 |
- 여러 프로그램이 동시에 분산 DB에 대한 트랜잭션을 수행해도 결과에 이상 없음 |
* 사상
- 외부/개념적 사상(논리적사상) : 외부적 뷰와 개념적 뷰의 상호 관련성 정의 (개념적 뷰의 필드 타입은 변화 없음)
- 개념/내부적 사상(물리적사상) : 개념적 뷰와 DBMS간의 상호 관련성 정의 (DB구조 변경시 개념적/내부적 사상이 바뀌어야 개념적 스키마가 그대로 남음)
2) 분산 데이터베이스 설계 방식
(1) 상향식 설계 방식
- 지역 스키마 작성 후 향후 전역 스키마를 작성
- 즉, 지역별로 DB구축 후 전역 스키마로 통합
(2) 하향식 설계 방식
- 전역 스키마 작성 후 해당 지역 사상 스키마를 작성
- 즉, 기업 전체의 전사 데이터 모델을 수렵하여 전역 스키마 생성 후 각 지역별로 지역 스키마 생성
* 데이터베이스 미들 웨어 : 기업에 여러 종류의 DBMS가 있어 이(異)기종 DBMS에 연동 할 떄 사용
ODBC, JDBC
* 분산 데이터베이스 장 단점
장점 |
단점 |
- 높은 가용성, 신뢰성 - 빠른 응답 (병렬 처리) - 용량 확장 용이 (분산 DB 추가만으로 가능) |
- 관리와 통제 어려움 (네트워크를 통해 분리 되어 있으므로) - 보안관리 어려움 - 데이터 무결성 관리 어려움 - 설계 복잡 |
3) 분산데이터베이스 적용 기법
테이블 위치 분산 |
- 설계된 테이블의 위치를 각각 다르게 위치시키는 것 - 테이블의 구조 불변 / 다른 데이터베이스에 테이블이 중복 생성 안됨 - 테이블별 위치 분산은 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 이용 |
테이블 분할 분산 |
- 각각의 테이블을 쪼개어 분산 - 수평분할(Horizontal Fragmentation) : 테이블의 로우(Row)단위로 분리 각 지사(Node)별로 사용하는 로우(Row)가 다를 때 이용 - 수직분할(Vertical Fragmentation) : 테이블을 칼럼(Column) 단위로 분할 |
테이블 복제 분산 |
- 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리 - 부분복제(Segment Replication) : 마스터 DB에서 테이블 일부의 내용만 다른 지역이나 서버에 위치시킴 - 광역복제(Broadcast Replication) : 마스터 데이터베이스의 테이블의 내용을 각 지역이나 서버에 존재시킴 |
테이블 요약 분산 |
- 지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우 - 분석요약(Rollup Summarization) : 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식 - 통합요약(Consolidation Summarization) : 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식 |
'[자격증] SQLD (SQL Developer)' 카테고리의 다른 글
[SQLD][책없이 공부]2과목 01. SQL 기본_02 DDL (0) | 2019.11.14 |
---|---|
[SQLD][책없이 공부]2과목 01. SQL 기본_01 관계형 데이터 베이스, SQL 종류 (0) | 2019.11.14 |
[SQLD][책없이 공부]1과목 02. 데이터 모델과 성능_02 반정규화 (0) | 2019.11.13 |
[SQLD][책없이 공부]1과목 02. 데이터 모델과 성능_01 성능데이터모델링, 정규화 (0) | 2019.11.13 |
[SQLD][책없이 공부]1과목 01. 데이터 모델링 (Data Modeling)_03 (0) | 2019.11.12 |