반응형

❏ 분산 데이터베이스

 

  - 데이터베이스를 여러 군데로 위치시켜서 사용성/성능 등을 극대화 시킨 데이터베이스

  - 논리적으로는 동일한 시스템에 속하지만, 물리적으로는 분산되어있는 데이터들의 모임.

 

 

 

 

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

 

  - 분산 데이터베이스 가 되려면 6가지 투명성 을 만족해야한다!

 

http://wiki.gurubee.net/pages/viewpage.action?pageId=27427190 

분할. 위치. 지역사상. 중복. 장애. 병행.

 

 

 

 

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

 

 1. 분산 데이터베이스 적용 방법

   - 업무의 흐름을 보고 업무 구성에 따른 아키텍처 특징에 따라 구성.

     단순히 분산환경에서 구축해보자! 라는게 목적이 아니라, 업무에 따라 이건 분산구조를 해야겠군. 설계하는 능력이..

 

 2. 분산 데이터베이스 장단점

   

* 데이터무결성 : 무결성 은 온전함 을 의미. 데이터 값이 정확한 상태

 

 

 

 

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

 

 - 분산 데이터베이스는 데이터의 양이 엄청나게 많아지면서 쓰이는 최근 데이터베이스 기술이다.

   업무적인 특징에 따라 활용해야한다. 옛날에는 분산 시스템하면 그냥 단순히 위치 적인 면에서만 멀리 떨어져있었지만.

   지금은 확실한 '업무 필요'에 의해 설계해야한다!

 

 

 

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

 

 - 통합된 데이터베이스에서 찾아볼 수 없는 빠른성능!!

 - 네트워크 부하가 덜 하니까 또 그만큼 제공하는 빠른 성능!!

 

 

 

 

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

 

 - 무슨 기법들이 있을까. 종류에는 테이블 위치분산, 테이블 분할 분산, 테이블 복제 분산, 테이블 요약 분산 이 있다.

 - 가장 많이 쓰이는건 테이블 복제 분산.

 

 1. 테이블 위치 분산

 

 

 

- 테이블의 구조는 변하지 않는다

- 말 그대로 '위치' 분산 이니까. 테이블 이 다른 위치에 정말 있다. 본사, 지사..

- 그만큼 위치가 각각 있으니까.. 위치를 파악할 수 있는 문서가 필요하다.

 

2. 테이블 분할 분산

 - 테이블 분할 분산은.. 위치도 다른곳에 놓기도 하고.. 또 테이블을 분할 시키기 까지..!!

 - 테이블 분할 하는데는 두 가지 방법(수평/수직) 분할이 있다. 

 

 2-1. 수평분할

 

 

- 테이블을 수평으로 짜른다?? 아.. 지사마다 한 테이블을 가로로 짤라서 나눠 저장하는것.

- 각 지사 별로 사용하는 로우(Row)가 다를 때 이용한다.

- 데이터를 수정할 때에는 남의 지사꺼 수정하지말고 자기네 데이터만 수정해야한다.

- 단점은.. 각 지사들 테이블들을 모아서 통합처리 하려면 JOIN 이 발생하여 성능 저하가 에상된다.

- 중복이 발생하지 않고, 데이터의 무결성이 보장된다

 

2-2. 수직분할

 

 

 

- 칼럼을 기준으로 분리한다. 로우 단위로는 분리하지 않는다(당연한말)

- 칼럼으로 짤랐으니까, PK 를 각각 가지고 있어야 한다.

- 데이터를 한군데 모아놔도 중복이 안된다. (모았을 때 동일한 PK는 하나로 표현하면 되니까)

- 전체 칼럼을 보려면 각 지사마다 떨어져있는걸 다 JOIN 해야하니.. 별로.

 

 3. 테이블 복제 분산

  - 동일한 테이블을 다른 지역이나 서버에 동시에 생성하여 관리한다.

  - 부분복제 : 마스터 데이터베이스에서 테이블의 일부만 다른데에 저장

  - 광역복제 : 마스터 데이터베이스의 테이블의 내용을 다른데에 저장

 

 3-1. 부분복제

 

 

 

- 통합된 테이블을 본사에 갖고 있으면서 각 지사별로 해당된 Row 들을 가지고 있는 형태

- 즉.. 본사 = 지사 + 지사

- 각 지사에서 데이터 처리가 용이하다. 통합처리도 JOIN 안써도 되고 그냥 본사꺼 쓰면 되고.

- 지사간 끼리는 안겹치고.. 실제 프로젝트에서 많이 쓰이는 기법이다.

- 다른 지역간 데이터 복제할때 시간이 좀 걸린다고 한다. 그래서 복제하는건 밤에 한다고...

- 또, 본사와 지사 양쪽에서 수정하면 좀 애매해지기 때문에 지사에서 수정->본사로 복제 한다.

 

 3-2. 광역복제

 

 

 

- 그냥 다 갖고있네

- 실전에서도 많이 쓰임. 부분복제처럼.

- 본사에서 수정, 삭제, 입력 하면 똑같이 지사에서 적용된다. 

- 이것도 복제 할때 시간이 좀 걸려서 밤에 작업한다고 한다.

 

 

 4. 테이블 요약 분산

  - 지역간에 데이터가 비슷 하지만 서로 다른 유형으로 존재하는 경우가 있다.

  - 분석요약 : 동일한 테이블 구조를 가지고 있는데, 분산되어 있는 동일한 내용의 데이터를 이용하여 통합된 데이터를 산출

  - 통합요약 : 분산되어 있는 다른 내용의 데이터를 이용하여 통합된 데이터를 산출

 

 

  4-1. 분석요약

 

 

 

 

- 각 지사별로 존재하는 정보를 본사에 올리는 느낌? 본사에서는 각 지사꺼 다 받아서 통합해놓은거 갖고있고.

- 통계 같은거 낼때 좋음. 

- 이것 또한 야간에 작업한다..

 

4-2. 통합요약

 

 

 

- 각 지사별로 다른 내용의 정보를 본사에서 통합하여 다시 산출

- 분석요약이랑 뭐가다른가?

 

분석요약 vs 통합요약의 예
  1. 분석요약 : A, B, C 각 지사는 모두 '가-상품'의 판매실적을 가지고 있으며, 지사별 판매실적은 서로 다름
    이를 본사 S 가 통합하여 '가-상품'의 전체 판매실적을 산출함
  2. 통합요약 : 지사 A는 '가-상품'만을 전문으로 하여 '가-상품'의 판매실적만 가지고 있고,
    지사 B는 '나-상품'만을 전문으로 하여 '나-상품'의 판매실적만 가지고 있으며,
    지사 C는 '다-상품'만을 전문으로 하여 '다-상품'의 판매실적만 가지고 있음
    이를 본사 S가 통합하여 '가, 나, 다 - 상품'의 통합 판매실적을 산출함

 

 

 

❏ 분산 데이터베이스를 적용해서 성능이 향상된 사례

 

 

 

 

 

 

❏ 데이터베이스 분산 설계는 다음과 같은 경우에 적용하면 효과적이다.

 

 1. 성능이 중요한 사이트

 2. 공통코드, 기준정보, 마스터데이터 등에 적용

 3. 실시간 동기화가 요구되지 않을 때가 좋다. 뭐 실시간의 업무적인 특성을 가지고 있어도 구성은 할 수 있다

 4. 특정 서버에 부하가 집중이 될 때

 5. 백업 사이트를 구성할 때

반응형
글이 도움이 되셨다면 공감과 광고 클릭 한번 부탁드려요! :)
감사합니다 ✨