* 데이터베이스의 아키텍처(Shared Disk & Shared Nothing)
* Shared Disk & Shared Nothing
: 앞서 Active-Active 구성의 DB는 저장소 부분의 병목되는 경우가 있다.
이것은 복수의 서버가 1대의 디스크(저장소)를 공유하도록 구성되었기 때문이다.
이렇게 복수의 서버가 1대의 디스크를 사용하는 구성을 'Shared Disk'라고 한다.
Shared Disk 타입의 Active-Active 구성은 DB 서버를 늘려도 무한으로 처리율이
향상되지 않는다. 이것은 저장소가 공유 자원이라서 쉽게 늘리기 어렵고
DB 서버 대수가 증가할수록 DB 서버 간의 정보공유를 위한 오버헤드가 크기 때문이다.
-> 이 단점을 극복하기 위한 아키텍처로 고안된 것이 'Shared Nothing'이다.
: Shared Nothing은 문자 그대로 '아무것도 공유하지 않는다'란 의미로 네트워크 이외의 자원을
모두 분리하는 방식이다. 이 아키텍처는 서버와 저장소의 세트를 늘리면 병렬처리 때문에
선형적으로 성능이 향상되는 장점이 있다.
-> Shared Nothing 구성은 Google이 유효성을 증명했고, 구글은 자사가 개발한
Shared Nothing 구조를 '샤딩(Sharding)'이라고 부른다.
* Shared Nothing의 장단점
- 장점 : 비용 대비 성능이 좋다. 같은 구성의 DB서버를 횡으로 나열하기 때문에
구조가 간단하며 원칙적으로 DB서버 수에 비례해서 저장소가 늘어난다.
- 단점 : 저장소를 공유하지 않는다. 즉, 각각의 DB 서버가 동일한 1개의 데이터에
접근할 수 없다.
-> 단점을 해결하기 위한 방법은 DB 서버 하나가 다운되었을 때 다른 DB서버가 이를 이어받아
계속 처리할 수 있게 하는 '커버링(Covering)' 구성 등의 방법을 고려해야 한다.
*이 포스트는 '데이터베이스 첫걸음'책을 참고하여 작성했습니다.
'데이터베이스 > 데이터베이스' 카테고리의 다른 글
데이터베이스((데이터베이스(DB) - 트랜잭션(Transaction)) (0) | 2017.09.05 |
---|---|
데이터베이스(데이터베이스(DB)의-관계형 데이터베이스의 계층) (0) | 2017.08.24 |
데이터베이스(데이버베이스(DB)의 아키텍처-리플리케이션) (1) | 2017.08.22 |
데이터베이스(데이터베이스(DB)-클러스터링(Clustering)) (0) | 2017.08.18 |
데이터베이스(데이터베이스(DB)의 아키텍처-가용성과 확장성의 확보) (0) | 2017.08.18 |