on
[SQLD/개념정리] 2-5. 분산 데이터베이스와 성능
[SQLD/개념정리] 2-5. 분산 데이터베이스와 성능
1. 분산 데이터베이스의 개요
- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
- 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임
- 물리적 Site 분산, 논리적으로 사용자 통합 및 공유
⇒ 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터 베이스
2. 분산 데이터베이스의 투명성
① 분할 투명성(단편화) : 하나의 논리적 relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장
② 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요 ( 위치정보가 system catalog에 유지되어야 함 )
③ 지역사상 투명성 : 지역DBMS와 물리적 DB사이의 Mapping 보장, 각 지역시스템 이름과 무관한 이름 사용 가능
④ 중복 투명성 : DB 객체가 여러 site에 중복 되어 있는지 알 필요가 없는 성질
⑤ 장애 투명성 : 구성요소의 장애에 무관한 Transaction의 원자성 유지
⑥ 병행 투명성 : 다수 Transaction 동시 수행시 결과의 일관성 유지, Time stamp, 분산 2단계 Locking 이용 구현
3. 분산 데이터베이스의 장단점
[ 장점 ]
- 지역 자치성, 점증적 시스템 용량 확장
- 신뢰성과 가용성
- 효용성과 융통성
- 빠른 응답 속도와 통신비용 절감
- 데이터의 가용성과 신뢰성 증가
- 시스템 규모의 적절한 조절
- 각 지역 사용자의 요구 수용 증대
[ 단점 ]
- 소트웨어 개발 비용
- 오류의 잠재성 증대
- 처리 비용의 증대
- 설계, 관리의 복잡성과 비용
- 불규칙한 응답 속도
- 통제의 어려움
- 데이터 무결성에 대한 위협
4. 분산 데이터베이스의 활용 방향성
- 업무적인 특징에 따라 활용하는 기술 필요
5. 데이터베이스 분산구성의 가치
- 통합된 데이터베이스에서 제공할 수 없는 빠른 성능 제공
6. 분산 데이터베이스의 적용 기법
① 테이블 위치 분산
- 테이블 구조 변화X
- 테이블이 다른 데이터베이스에 중복되어 생성X
- 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 사용
② 테이블 분할 분산
- 단순히 위치만 다른 곳에 두는 것이 아닌 각각의 테이블을 쪼개어 분산하는 방법
- 수평분할 : 노드에 따라 테이블을 특정 컬럼의 값을 기준으로 로우를 분리
- 수직분할 : 노드에 따라 테이블 컬럼을 기준으로 컬럼을 분리
③ 테이블 복제 분산
- 동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 방법
- 부분 복제 : 통합된 테이블을 본사에 가지고 있으면서 각 노드별로는 노드에 해당된 로우를 가지고 있는 형태
- 광역 복제 : 통합된 테이블을 본사에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태
④ 테이블 요약 분산
- 지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우
- 분석 요약 : 각 노드별로 존재하는 요약정보를 본사에 통합하여 다시 전체에 대해 요약정보를 산출하는 방법
- 통합 요약 : 각 노드별로 존재하는 다른 내용의 정보를 본사에 통합하여 다시 전체에 대해 요약정보를 산출하는 방법
7. 데이터베이스 분산 설계 적용이 효과적인 경우
- 성능이 중요한 사이트
- 공통코드, 기준정보, 마스터 데이터 등에 대한 분산환경을 구성하는 경우
- 실시간 동기화가 요구되지 않는 경우
- 특정 서버에 부하가 집중되는 경우
- 백업 사이트(Disaster Recovery Site)를 구성하는 경우
출처(참고 자료) : '데이터 전문가 포럼' 카페 개념 정리 자료
- https://m.cafe.naver.com/ca-fe/web/cafes/sqlpd/articles/13374?useCafeId=false
from http://45jung.tistory.com/19 by ccl(A) rewrite - 2021-09-01 04:26:46