-> 블로그 이전

[SQLD] 1-7. 분산 데이터베이스

2021. 10. 27. 17:59Certificate`/SQLD

분산 데이터베이스

- 여러 곳으로 분산된 DB를 하나의 가상 시스템으로 쓸 수 있도록 한 DB

- DB를 연결하는 빠른 네트워크 환경을 이용하여 DB를 여러 지역/노드로 위치시켜서 사용성/성능을 극대화시킨 DB

 

분산 DB의 투명성 (분 위 지 중 장 병)

1. 분할 투명성

  • 하나의 논리적 릴레이션을 여러 단편으로 분할시켜서 각 단편의 사본을 여러 Site에 저장

2. 위치 투명성

  • 사용하려는 데이터의 저장 장소를 명시하고 기록
  • 트랜잭션은 특정 데이터 항목의 위치에 독립적

3. 지역사상 투명성

  • 각 지역 시스템과 무관한 이름 사용 가능
  • 지역 DBMS와 물리적 DB 사이의 Mapping 보장

4. 중복 투명성

  • 트랜잭션이 데이터의 중복 개수/중복 사실을 몰라도 데이터 처리가 가능

5. 장애 투명성

  • 트랜잭션, DBMS, 네트워크, 컴퓨터 장애가 있어도 트랜잭션은 항상 정확히 처리

6. 병행 투명성

  • 다수의 트랜잭션이 동시에 수행해도 트랜잭션의 결과는 영향을 받지 않는다

 

 

 

적용 기법

● 테이블 위치 분산

  • 테이블의 구조 변경 X / 테이블이 다른 DB에 중복 생성 X
  • 설계된 테이블의 위치를 각각 다르게 위치 (본사 / 지사)

● 테이블 분할 분산

- 수평 분할

  • 각 지사별로 사용하는 로우가 다를 때
  • 데이터의 중복 발생 X

- 수직 분할

  • 각 지사별로 컬럼을 분리 (로우 단위로 분리 X)
  • 모든 데이터가 각 지사별로 분리

● 테이블 복제 분산

  • 동일한 테이블의 복사본을 여러 서버에서 동시에 관리

- 부분 복제

  • 본사 = 통합 테이블 관리 / 지사 = 해당된 로우만 관리
  • 지사에서 먼저 데이터가 발생되고 본사에서 전체적으로 통합 (지사 -> 본사)

- 광역 복제

  • 동일한 테이블을 여러 곳에서 복제하여 관리
  • 본사에서 데이터를 변경하면 자사에서 반영한다 (본사 -> 지사)

● 테이블 요약 분산

  • 유사한 데이터를 서로 다른 수준에서 요약하여 분산 관리

- 분석 요약

  • 각 지사별 동일한 주제 정보를 본사에서 통합 -> 전체 요약 정보 산출

- 통합 요약

  • 각 지사별 다른 주제 정보를 본사에서 단순 취합해서 제공

 

 

 

고려사항

1. 성능이 중요한 사이트에 적용

2. 공통코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성

3. 실시간 동기화가 요구되지 않을 때 좋다 / 거의 실시간(Near Real Time)의 업무적인 특징을 가지고 있을 때도 분산 환경 구성 가능

4. 특정 서버에 부하가 집중될 때 부하를 분산

5. 백업 사이트를 구성