새소식

Study/Classes

[SQLD] 2-4. 분산 데이터베이스와 성능

  • -
728x90

패스트캠퍼스 강의와 이기적 기본서를 기반으로 공부합니다. 

1. 개요

중앙 집중형 데이터베이스: 한 대의 물리적 시스템에 DB 관리 시스템을 설치, 여러 명의 사용자가 사용

분산 데이터베이스: 물리적으로 떨어져 있는 데이터베이스를 네트워크로 연결하여 하나의 가상 시스템으로 사용할 수 있도록 한 DB

분산 데이터베이스의 투명성

분할 투명성 단편화. 하나의 논리적
사용자 입장에서 고객에 대한 데이터가 나누어 저장되어있더라도 한 개의 테이블로 인식
위치 투명성 데이터의 저장 장소 명시 불필요
고객은 데이터가 어느 위치에 있더라도 같은 명령을 이용해 데이터에 접근 가능
위치 정보가 system catalog에 유지
지역 사상 투명성 지역 DBMS와 물적 데이터베이스 사이의 사상(mapping)이 보장됨
각 지역 시스템 이름과 무관한 이름 사용 가능
중복 투명성 DB 객체가 여러 site에 중복되어 있는지 알 필요 없음
중복되어 존재해도 고객과 무관하게 데이터의 일관성 유지
장애 투명성 각 지역 시스템/통신망에 이상이 발생해도 무결성 보장
장애와 무관하게 transaction의 원자성 유지
병행 투명성 다수의 transaction 동시 수행 시 결과의 일관성 유지

장점

  • 지역자치성
  • 신뢰성 및 가용성
  • 빠른 응답 속도와 통신 비용 절감
  • 시스템 규모의 조절
  • 각 지역 사용자의 요구 수용 가능
  • 분산 데이터베이스를 추가해 시스템 용량 확장이 쉬움

단점

  • 소프트웨어 개발 비용 - 구현이 어려움
  • 오류의 잠재성 - 어디서 잘못되었는지 모를 수 있음
  • 처리 비용 
  • 불규칙한 응답 속도 - 응답하는 DB 위치에 따라 달라질 수 있음
  • 관리 및 통제의 어려움
  • 데이터 무결성 위협

2. 분산 데이터베이스 설계 방식

출처: t.ly/rUf-6

1-1. 상향식 설계 방식

지역 스키마 작성 후 전역 스키마를 작성해 통합하여 분산 데이터베이스 구축

1-2. 하향식 설계 방식

전역 스키마 작성 후 해당 지역 사상 스키마를 작성해 구축

분산 데이터베이스의 활용 방향

과거 - 위치 중심의 분산 설계 

현재 - 업무 필요에 의산 분산 설계 - 내부 운영/ 외부 오픈

  • 빠른 성능
  • 원거리 혹은 다른 서버에 접속했을 경우 발생하는 네트워크 부하, 트랜잭션 집중에 따른 성능 저하의 원인 분석
    →분산 데이터베이스 환경 구축, 성능 상 문제 발생 원인 제거 가능

3. 분산 데이터베이스의 적용기법

테이블 위치 분산 설계된 테이블의 위치를 각각 다르게 함
테이블 분할 분산 fragmentation 테이블을 수평분할/수직분할 등으로 쪼개어 분산
테이블 복제 분산 replication 동일한 테이블을 다른 지역/서버에 동시에 생성하여 관리
부분복제: 통합된 테이블을 본사에 한군데, 각 지사별로는 지사에 해당된 row 저장
광역복제: 통합된 테이블을 본사 및 지사에서 동일하게 저장
테이블 요약 분산 summarization 지역 혹은 서버 간 데이터가 비슷하지만 서로 다른 유형으로 존재
분석요약: 지사별로 존재하는 요약정보를 본사에서 통합, 전체에 대한 요약정보를 재산출
통합요약: 지사별로 존재하는 다른 내용의 정보를 본사에서 통합, 다시 요약 정보 산출
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.