SQLD 2-6 ] 분산 데이터베이스와 성능
❏ 분산 데이터베이스
- 데이터베이스를 여러 군데로 위치시켜서 사용성/성능 등을 극대화 시킨 데이터베이스
- 논리적으로는 동일한 시스템에 속하지만, 물리적으로는 분산되어있는 데이터들의 모임.
❏ 분산 데이터베이스의 투명성
- 분산 데이터베이스 가 되려면 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. 성능이 중요한 사이트
2. 공통코드, 기준정보, 마스터데이터 등에 적용
3. 실시간 동기화가 요구되지 않을 때가 좋다. 뭐 실시간의 업무적인 특성을 가지고 있어도 구성은 할 수 있다
4. 특정 서버에 부하가 집중이 될 때
5. 백업 사이트를 구성할 때
댓글
이 글 공유하기
다른 글
-
SQLD 3-1 ] 관계형 데이터베이스 개요
SQLD 3-1 ] 관계형 데이터베이스 개요
2016.02.18 -
오라클 DB 설치하기
오라클 DB 설치하기
2016.02.18 -
SQLD 2-5 ] 데이터베이스 구조와 성능
SQLD 2-5 ] 데이터베이스 구조와 성능
2016.02.15 -
SQLD 2-4 ] 대량 데이터에 따른 성능
SQLD 2-4 ] 대량 데이터에 따른 성능
2016.02.14