0. 분산 데이터베이스 개념
- 여러 곳으로 분산된 데이터베이스를 하나의 가상 시스템처럼 사용할 수 있게 하는 데이터베이스
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임이다.
1. 분산 데이터베이스의 6가지 투명성(Transparency)
- 분할 투명성 : 하나의 논리적 관계가 여러 단편으로 분할되어 각 단편의 사본이 여러 Site에 저장된다.
- 위치 투명성 : 사용하는 데이터의 저장 장소 명시할 필요 없다. 위치정보는 System Catalog에 유지된다.
- 지역사상 투명성 : 지역DBMS와 물리적 DB 사이에 Mapping을 보장한다.
- 중복 투명성 : DB 객체가 여러 site에 중복되어 있는지 알 필요가 없다.
- 장애 투명성 : 구성요소의 장애에 무관한 Transaction의 원자성 유지
- 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking 구현
2. 분산 데이터베이스 장점
- 효율성과 융통성
- 빠른 응답 속도와 통신비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구 수용 증대
- 지역 자치성, 점증적 시스템 용량 확장
- 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다.
- 네트워크 부하 및 트래잭션 집중에 따른 성능 저하를 분산 데이터베이스 환경 구축으로 방지할 수 있다.
3. 분산 데이터베이스 단점
- 소프트웨어 개발 비용 증가
- 오류의 잠재성 증대
- 처리 비용의 증대
- 설계, 관리의 복잡성과 비용
- 불규칙한 응답 속도
- 통제의 어려움
- 데이터 무결성에 대한 위협
4. 분산 데이터베이스 적용 기법들
4-1 테이블 위치 분산
- 테이블의 구조는 변하지 않고, 다른 데이터베이스에 중복되어 생성되지 않는다.
- 그저 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
- 각 위치별로 필요로 하는 정보가 서로 다를 때 사용한다.
- 테이블의 위치가 다르므로, 테이블의 위치를 파악할 수 있는 도식화된 데이터베이스 문서가 필요하다.
- ex) 1~6에의 자료를 본사에서는 1~3을 지사에서는 4~6을 관리한다.
4-2 테이블 분할 분산
- 수평분할 : 각 지사별로 사용하는 Row가 다를 때 이용한다.
- 각 지사의 테이블에서 통합처리를 해야 하는 경우 조인이 발생하여 성능 저하가 발생할 수 있다.
- 한 지사에서 하나의 데이터만 존재하므로 데이터의 무결성은 보장된다.
- ex) 지사1은 고객 100명 데이터중에 1~50을 가지고, 지사2는 51~100의 데이터를 갖는다.
- 수직분할 : 칼럼을 기준으로 Column을 분리한다.
- 칼럼을 기준으로 분할했기 때문에 각각의 테이블에는 동일한 Primary Key와 값을 가지고 있어야 한다.
- 데이터를 한군데 모아도 동일한 Primary Key는 하나로 표현 가능하므로 데이터 중복은 발생하지 않는다.
- ex) 제품의 재고량은 지사별로 관리, 제품의 단가는 본사에서 관리한다.
- 본사 = 제품번호(Pk) + 단가 , 지사 = 제품번호(Pk) + 재고량
4-3 테이블 복제 분산
- 부분복제 : 통합된 데이터는 본사에, 각 지사별로는 나누어진 로우를 가지고 있다.
- 본사의 데이터는 지사 데이터들의 합이다.
- 전체 데이터의 통합처리도 본사의 테이블을 이용하므로 여러 테이블에 조인이 발생하지 않는다.
- 실제 프로젝트에서 많이 사용하는 데이터베이스 분산 기법이다.
- 지사에서 데이터의 입력, 수정, 삭제가 발생하여 본사에서 많이 이용한다.
- ex) 본사는 전국 회원정보를 가진다. 지사1은 남자 회원정보를 지사2는 여자 회원정보를 가진다.
- 본사 = 지사1 + 지사2
- 광역복제 : 통합된 테이블을 본사에도 가지고 있고, 각 지사에도 본사랑 동일한 데이터를 모두 가진다.
- 본사에서는 데이터를 관리하고, 지사에서는 데이터를 읽어 업무 프로세스를 발생시킨다.
- 실제로 프로젝트에서 많이 쓰이는 데이터베이스 분산기법이다.
- 본사에서 데이터가 입력, 수정, 삭제가 되어 지사에서 이용한다.
4-4 테이블 요약 분산
- 분석요약 : 각 지사별로 존재하는 요약정보를 본사에 통합하여, 다시 전체에 대해 요약정보를 산출한다.
- 통합 통계 데이터에 대한 정보제공에 용이한 분산기법이다.
- ex) 지사1 = 판매실적 요약본, 지사2 = 판매실적 요약본 ---> 본사 = 전체 판매실적 요약본
- 통합요약 : 각 지사별로 존재하는 다른 내용의 정보를 본사에 통합하여, 다시 전체에 대한 요약정보를 산출한다.
- 각 지사는 타지사와 다른 요약정보를 가지고 있다.
- 통합 요약은 지사에서 요약한 정보를 본사에서 취합하여, 각 지사별의 데이터를 비교하기 위해 사용한다.
- 통합 통계 데이터에 대한 정보제공에 용이한 분산기법이다.
5. 데이터베이스 분산 설계 적용할 곳
- 성능이 중요한 사이트에 적용한다.
- 공통 코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성하면 성능이 좋아진다.
- 실시간 동기화가 요구되지 않을 때 좋다.
- 특정 서버에 부하가 집중이 될 때 부하를 분산할 때도 좋다.
- 백업 사이트를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다.
참고문헌 - SQL 전문가 가이드 2013 Edition
'DB' 카테고리의 다른 글
[DB] 트랜잭션의 개념, 4가지 특성, COMMIT, ROLLBACK (0) | 2022.05.26 |
---|---|
[DB] DML, DDL, DCL, TCL 명령어의 종류 (0) | 2022.05.25 |
[DB] 식별자의 개념, 특징, 분류 (0) | 2022.05.21 |
[DB] 관계의 개념, 특징, 분류 (0) | 2022.05.20 |
[DB] 속성의 개념, 특징, 분류 (0) | 2022.05.19 |