[SQLD] #5. 데이터 모델과 성능 - 분산 데이터베이스

김정인·2021년 1월 12일
0

SQLD

목록 보기
5/16

분산 데이터베이스와 성능

💡 분산 데이터베이스

  • 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화시킨 데이터베이스
  • 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
  • 논리적으로 동일한 시스템, 네트워크 통해 물리적으로 분산되어있는 데이터들의 모임
  • 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터집합
  • 통합된 데이터베이스에서 제공할 수 없는 빠른 성능을 제공
  • 장점: 지역 자치성, 신뢰성 가용성, 효용성 융통성, 빠른 응답속도, 비용절감, 각 지역 사용자 요구 수용
  • 단점: 비용증가, 오류의 잠재성 증대, 설계 관리의 복잡성, 불규칙한 응답 속도, 통제의 어려움, 데이터 무결성 위협

💡 분산 DB의 투명성

  • 분할 투명성(단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 사본이 여러 site에 저장
  • 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요, 위치정보가 시스템 카탈로그에 유지
  • 지역사상 투명성 : 지역 DBMS와 물리적 DB 사이의 Mapping 보장
  • 중복 투명성 : DB 객체가 여러 stie에 중복 되어 있는지 알 필요가 없는 성질
  • 장애 투명성 : 구성요소(DBMS, Computer)의 장애에 무관한 트랜잭션의 원자성 유지
  • 병행 투명성 : 다수 트랜잭션 동시 수행시 결과의 일관성 유지, TimeStamp, 분산 2단계 Locking 이용

💡 분산 DB 적용 기법

  • 테이블 위치 분산
    - 설계된 테이블을 본사와 지사단위로 분산
    - 테이블 구조 변경 X
    - 테이블이 다른 데이터베이스에 중복으로 생성 X
    - 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우 사용
    - 테이블 위치를 파악할 수 있는 도식화된 위치별 데이터베이스 문서 필요
  • 테이블 분할 분산
    - 각각의 테이블을 쪼개어 분산
    • 수평 분할: 특정 칼럼의 값 기준으로 로우 단위 분리
    • 수직 분할: 칼럼을 기준으로 칼럼 단위로 분리
  • 테이블 복제
    - 분산동일한 테이블을 다른 지역이나 서버에서 동시에 생성하여 관리하는 유형
    • 부분 복제: 마스터 DB에서 테이블의 일부의 내용만 다른 지역이나 서버에 위치
    • 광역 복제: 통합된 테이블을 본사에 가지고 있으며 각 지사에 본사와 동일한 데이터 분배
  • 테이블 요약 분산
    - 지역 간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우
    • 분석 요약: 각 지사별로 존재하는 요약 정보를 본사에 통합하여 다시 전체에 대해 요약. 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식
    • 통합 요약: 각 지사별로 존재하는 다른 내용 정보를 본사에 통합, 다시 전체의 요약 산출

💡 분산 DB 설계를 고려해야 하는 경우

  • 성능이 중요한 사이트
  • 공통코드, 기준정보, 마스터 데이터의 성능향상
  • 실시간 동기화가 요구되지 않는 경우, 거의 실시간의 업무적인 특징을 가지고 있는 경우
  • 특정 서버에 부하가 집중되어 부하를 분산
  • 백업 사이트 구성하는 경우

데이터 전문가 지식포털 참고

0개의 댓글