장애 시 다운타임을 줄이거나, 또는 zero down time 을 목적으로 각 벤더사들은
저마다 다른 구성의 DB를 사용한다.
대표적으로 많이 쓰이는 구조들을 정리 및 비교 해보자.
- Oracle
- rac
특징 : 다수의 인스턴스가 하나의 스토리지를 공유.
다수의 인스턴스 중 한쪽 인스턴스가 장애가 나도 나머지 인스턴스에서 서비스가 지속된다.
제약 : 다수의 인스턴스가 하나의 스토리지를 사용하기에 중복작업이 발생하지 않기 위한 overhead 가 필요.
- MariaDB
- replication
특징 : 2대 이상의 서버로 구성. Master 에서만 R/W 가능 Slave 에서는 Read 만 가능.
제약 : Slave 에서는 Read 만 가능하므로 Read 부하만 줄여줄수 있다.
두대의 장비로 두대 만큼의 성능개선 효과를 볼수가 없다.
장애시 아주 짧은 순간이라 할지라도 failover 되는 down time 이 발생한다.
- galera cluster
특징 : 최소 3대 이상의 서버로 구성. 서버별 별도의 스토리지.
하나의 서버에 이상이 생겨도 다른 서버에서 서비스 지속 가능.
무중단 운영 가능.
제약 : 각각 서버들이 중복된 DB 를 갖는 구조이기 때문에 스토리지 측면에서 비효율 적임.
Replication 구조를 asynchronous 라고 하는데 갈레라 클러스터는 다수의 스토리지이기때문에
asynchronous 라고 할수 있을것 같지만 synchronous 라고 분류한다.
- MSSQL
- MSCS (Microsoft Cluster Server)
특징 : MS 서버의 기능인 클러스터링으로 두서버를 묶어서 이중화 하는 기술.
한쪽서버가 down 이되면 failover 되어 passive 가 active 가 됨.
스토리지는 하나의 스토리지를 쓴다.
제약 : 스토리지가 하나인 점에서는 Rac 와 유사하지만 passive 에서는 write 불가하다.
Master-slave 구조라는 점에서는 Replication 과 유사.
벤더마다 고가용성을 위한 DB 구조의 구현방식이나 용어들이 조금씩 다르다.
그렇지만 공유 스토리지를 사용하는가? 아닌가? multi-master 인가? master-slave? 인가 에 따라 특징을 나눌수있다.
대개 master-slave 구조에서는 failover 시 down time 이 발생할수 밖에 없고,
Slave 에서 조회업무는 분산해줄수 있지만 실질적으로 AP 에서 조회만 따로 분리내기가 쉽지않다.
그래서 Slave 의 활용도가 떨어지기 때문에 메인 업무의 DB 구조를 master-slave 로 하는 곳은 많지않다.
mariadb 의 galera cluster 는 무중단 운영이 가능한 멀티마스터 구조를 무료로 사용할 수 있는 것이 강점이다.
물론 상용에서는 무료로 운영하는데 어려움이 있겠지만..
## 몽고db 추가해보자
'생계 > 기타' 카테고리의 다른 글
DBEAVER 디비버 유용한 기능, 단축키 알아보자 (0) | 2024.07.17 |
---|---|
모바일 게임을 pc에서 즐기자 삼성 사이드싱크 sidesync (0) | 2018.08.14 |
구글 클라우드 플랫폼 무료 계정 사용하기 (5) | 2018.03.07 |
윈도우즈 7 32 bit 설치용 USB부팅디스크 만들기 (2) | 2017.10.06 |
레노버 아이디어패드 320 리뷰 (0) | 2017.09.28 |