데이터베이스/데이터베이스

데이터베이스(데이터베이스(DB)의 아키텍처-Shared Disk & Shared Nothing)

benjykim 2017. 8. 22. 19:34
반응형

* 데이터베이스의 아키텍처(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)' 구성 등의 방법을 고려해야 한다.











*이 포스트는 '데이터베이스 첫걸음'책을 참고하여 작성했습니다.

반응형