1-2장 데이터 모델과 성능 - 6절 분산 데이터베이스와 성능

Study/SQLD

1-2장 데이터 모델과 성능 - 6절 분산 데이터베이스와 성능

tnddj1219 2022. 6. 19. 20:05
728x90

1. 분산 데이터 베이스 개요

분산 데이터 베이스 정의
데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜, 사용성/성능 등을 극대화시킨 데이터베이스
여러 곳으로 분산되어있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스
논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합·공유

분산 데이터 베이스의 투명성
분할 투명성(단편화) : 하나의 논리적 관계가 분할되어 각 단편의 사본이 여러 사이트에 저장됨
위치 투명성: 사용하려는 데이터 저장 장소가 명시되지 않아도 됨
지역사상 투명성: 지역 DBMS와 물리적 DB 사이의 사상이 보장됨
중복 투명성: DB 객체 중복 여부를 몰라도 됨
장애 투명성: 구성요소(DBMS, 컴퓨터)의 장애에 무관하게 트랜잭션의 원자성이 유지됨
병행 투명성: 다수 Transaction 동시수행시 결과의 일관성 유지, Time Stamp, 분산 2단계 Locking을 이용 구현

2. 분산 데이터베이스의 적용 방법 및 장단점

분산 데이터베이스 적용 방법
업무의 흐름을 보고 업무구성에 따른 아키텍처 특징에 따라 데이터베이스를 구성
업무의 특징에 따라 데이터베이스 분산구조를 선택적으로 설계하는 능력이 필요

분산 데이터 베이스 설계 방식
상향식: 지역 스키마 작성 후 전역 스키마 작성
하향식: 전역 스키마 작성 후 지역사상 스키마 작성

분산 데이터 베이스 장단점

 

3. 데이터베이스 분산구성의 가치

통합된 데이터베이스에서 제공 할 수 없는 빠른 성능을 제공한다는 점
원거리 또는 다른 서버에 접속하여 처리하므로 인해 발생되는 네트워크 부하 및 트랜잭션 집중에 따른 성능 저하의 원인을 분산된 데이터베이스 환경을 구축하므로 빠른 성능을 제공하는 것이 가능해진다

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

테이블 위치 분산
설계된 테이블의 위치를 분산. 테이블 구조는 변하지 X, 테이블이 다른 데이터베이스에 중복되어 생성되지 않음
테이블별 위치 분산은 정보를 이용하는 형태가 각 위치별로 차이가 있을 경우에 이용한다.

테이블 분할(Fragmentation) 분산
테이블을 쪼개서 분산함
수평분할: 테이블을 특정 칼럼의 값을 기준으로 Row를 분리.
수직분할: 테이블 칼럼을 기준으로 칼럼(Row)을 분리다. 칼럼을 기준으로 분할하였기 때문에 각각의 테이블에는 동일한 Primary Key 구조와 값을 가지고 있어야 한다.

테이블 복제 분산(Table Replication)
동일한 테이블을 다른 지역이나 서버에서 동시 생성함, 원격지 조인을 내부 조인으로 변경하여 성능 향상
많은 시간이 소요되고 데이터베이스와 서버에 부하(Load)가 발생하므로 보통 실시간(On-Line) 처리에 의해 복사하는 것보다는 배치에 의해 복제가 되도록 한다.
부분복제: 통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사별로는 지사에 해당된 로우(Row)를 가지고 있는 형태. 지사에서 데이터에 대한 입력, 수정, 삭제가 발생하여 본사에서 이용하는 방식
광역복제: 통합된 테이블을 한군데(본사)에 가지고 있으면서 각 지사에도 본사와 동일한 데이터를 모두 가지고 있는 형태. 본사에서 데이터가 입력, 수 정, 삭제가 되어 지사에서 이용하는 방식

테이블 요약 분산(Table Summarization)
지역간에 또는 서버 간에 데이터가 비슷하지만 서로 다른 유형으로 존재하는 경우 사용
분석요약: 동일한 테이블 구조를 가지고 있으면서 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식
통합요약: 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출하는 방식

5. 분산 데이터베이스를 적용하여 성능이 향상된 사례

성능이 중요한 사이트에 적용해야 한다.
공통코드, 기준정보, 마스터 데이터 등에 대해 분산환경을 구성하면 성능이 좋아진다.
실시간 동기화가 요구되지 않을 때 좋다. 거의 실시간(Near Real Time)의 업무적인 특징을 가지고 있을 때도 분산 환경을 구성할 수 있다
특정 서버에 부하가 집중이 될 때 부하를 분산할 때도 좋다.
백업 사이트(Disaster Recovery Site)를 구성할 때 간단하게 분산기능을 적용하여 구성할 수 있다

728x90