MariaDB 복제

싱하·2024년 6월 28일
0

mariadb

목록 보기
10/11

모든 DB는 싱글로 쓸 수 없다...

그래서 현재 업무에서 복제를 하고있는 MariaDB복제방법 대해서 간단히 말해보려한다.
그리고 중요한 업무라면 고가용성(HA)를 위하여 2노드 이상의 DB를 구축한다.

Galera Cluster

모든 노드가 master노드로서 작동이 된다.

장점

  • 어디든 읽고 쓰기가 가능하여 편리하다.
  • 장애시 다운타임 X
  • slave노드가 없음. 고로 복제 지연발생x
  • LB나 스플릿의 필요가 없음
  • 모든 노드가 같은 status로 유지가 된다.

단점

  • 만약 3노드의 서버 성능이 다 다르다면 가장 안좋은 서버의 성능을 따라감
  • innodb엔진만 사용이 가능

내가 느끼기에는 galera방식이 가장 오라클의 RAC방식과 비슷하다.
물론 쿼리 분산은 안되지만 A-A구조이기 때문에 그렇게 생각이 된다.

Maxscale

단순 쿼리 라우터라고 생각하면 된다.
select이면 2번, dml은 1번으로 설정이 다 가능함.
GTID를 통하여 복제 체크

장점

  • 쿼리의 분산이 이루어짐
  • slave or master에 long query 발생시 maxscale이 판단하여 master->slave로, slave->master로 쿼리를 보낸다

단점

  • maxscale용 서버 필요
  • Enterprise버전이 필요함.(Community 지원X)

이외 Replication

MHA(Master High Availability)

  • Master monitor서버 필요.
  • Master 1 노드, Slave 1노드 이상
  • Failover시 가장 최신 동기화 노드가 master

MMM(Multi-Master Replication Manager)

  • MMM monitor 서버 필요
  • monitor<->agent 통신방식

회고

현재 내가 운영 중인 서비스중 MariaDB를 사용중인 서비스는 2개이다.
1. maxscale 이중화

  • LB->Maxscale1,2호기->MariaDB1,2호기
  • 위 프로세스로 구성이 되어 DML과 Select의 구분이 있어 쿼리가 밀집되지않음
  1. MCCS방식(멘텍)
  • 스토리지 복제방식
  • MCCS agent가 Heartbeat체크
  • Active-Standby 구성

OpenSource DB의 발전이 계속되면서 Oracle뿐아닌 이기종 DB도 계속 공부하는 중.

profile
끄적끄적...

0개의 댓글