📌 1. 분산 데이터베이스의 개요
-
여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스이다.
-
논리적으로 동일한 시스템에 속하나 , 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임이다.
즉 분산 데이터베이스는,
데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스이다.
📌 2. 분산 데이터베이스의 투명성(Transparency)
분산 데이터베이스는 다음과 같은 6개의 투명성을 가져야 한다.
1. 분할 투명성(단편화)
- 하나의 논리적 Relation 이 여러 단편으로 분할되어 각 단편의 사본이 여러 site 에 저장
2. 위치 투명성
- 사용하려는 데이터 저장 명소 명시 불필요.
- 위치 정보가 System Catelog 에 유지되어야 함
3. 지역사상 투명성
- 지역 DBMS 와 물리적 DB 사이의 Mapping 보장.
- 각 지역시스템 이름과 무관한 이름 사용 가능
4. 중복 투명성
- DB 객체가 여러 site 에 중복 되어 있는지 알 필요가 없는 성질
- 데이터베이스 객체가 여러 시스템에 중복되어 존재함에도 고객과는 무관하게 유지되는 데이터의 일관성
5. 장애 투명성
- 구성요소 (DBMS, Computer) 의 장애에 무관한 Transaction 의 원자성(무결성) 유지
6. 병행 투명성
- 다수 Transaction 동시 수행시 결과의 일관성 유지
- 여러 고객의 응용 프로그램이 동시에 분산 데이터베이스에 대한 트랜잭션을 수행하는 경우에도 이상없는 결과
- Time Stamp, 분산 2 단계 Locking 을 이용 구현
📌 3. 분산 데이터베이스의 적용 방법
📌 4. 분산 데이터베이스의 장단점
📌 5. 데이터베이스 분산구성의 가치
데이터를 분산환경으로 구성하였을 때 가장 핵심적인 가치는
"통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공한다는 점이다."
📌 6. 분산 데이터베이스의 적용 기법
자세한 내용은 요기에
1. 테이블 위치 분산
- 설계된 테이블의 위치를 각각 다르게 위치시키는 것이다.
- 테이블 구조는 변하지 않는다.
- 다른 데이터베이스에 중복되어 생성되지도 않는다.
- 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우 사용한다.
- 테이블의 위치가 서로 다르기 때문에 테이블의 위치를 파악할 수 있는 도식화된 위치별 데이터베이스 문서가 필요하다.
2. 테이블 분할 분산
- 단순히 테이블의 위치만 다른곳에 두는 것이 아니라 , 각 각 의 테이블을 쪼개어 분산
- 수평분할(row 기준) , 수직분할(컬럼기준) 등이 있다.
3. 테이블 복제 분산
- 동일한 테이블을 다른 지역이나 서버에 동시에 생성하여 관리하는 유형
4. 테이블 요약 분산
📌 7. 분산 데이터베이스를 적용하여 성능이 향상된 사례
-
성능이 중요한 사이트에 적용한다.
-
공통코드, 기준정보, 마스터 데이터 등에 대한 분산환경을 구성하면 성능이 좋아진다.
-
실시간 동기화가 요구되지 않을 때 좋다, 그러나 실시간의 업무적인 특징을 가지고있어도 분산환경 구축 가능하다
-
특정 서버에 부하가 집중될 때 부하를 분산 할 수 있다
-
백업사이트를 구성할 때 적용한다.
참고한 블로그들
https://eehoeskrap.tistory.com/58
https://antkdi.github.io/posts/post-license-sqld-distributed/
https://chae-developer.tistory.com/62?category=919741