DB & AWS Knowledge
갈레라 클러스터 개요 본문
-
출처
-
https://mariadb.com/kb/en/galera-cluster/ (MariaDB 공식 소개 사이트)
-
https://galeracluster.com/ (클러스터 개발사 공식 사이트)
-
https://jsonobject.tistory.com/510 (구축 방법 및 각 설정 옵션 설명)
-
-
이 페이지에서는 갈레라 클러스터의 개요 및 작동 과정을 소개한다.
-
codership 사에서 MariaDB 기반으로 개발한 가상 동기화 멀티마스터 복제 솔루션이다.
-
다른 HA 솔루션과는 다르게 Linux 에서만 작동하는 특징이 있다.
-
모든 노드에서 Master 서버같이 동시 읽기, 쓰기 가능
-
동기화 혹은 연결이 되지 않는 노드에 대한 failover 등의 조치가 자동으로 이루어진다.
-
row level 단위의 병렬 동기화가 이루어 진다.
-
일반적인 DB 접속 후 사용하는 환경으로 구성되어 있어서 DB이외의 다른 API 혹은 솔루션 접속 및 연결 절차 과정이 없다.
-
기본 아키텍처 도식도 (그림 출처 : http://vtechie.com/2016/03/15/mariadb-galera-cluster-centos-7/)
-
-
갈레라 클러스터 버전
-
갈레라 클러스터에 사용되는 개념 및 용어
-
갈레라 클러스터는 wsrep (Write Set Replication) 이라는 일련의 트렌잭션 기록 묶음 (set) 을 이용하여 각 노드간 동기화를 수행하는 구조다.
-
갈레라 클러스터는 Galera Slave Threads 를 replication DB thread 이외에 병렬 쓰기를 위하여 추가로 사용한다. DB 에서는 wsrep_slave_threads 파라미터로 조절이 가능하다.
-
복제, 기록등을 담당하는 라이브러리가 있다. 라이브러리는 아래와 같이 구성되어 있다.
-
wsrep API - 갈레라 클러스터의 작동 인터페이스를 담당한다.
-
wsrep hooks - DB 엔진 안에서 작동하는 wsrep 구조다.
-
Galera provider - 갈레라 클러스터 라이브러리에서 wsrep API 가 작동하도록 한다,
-
certification - DB 내에서 일련의 쓰기 세트 및 이에 대한 검증 수행을 담당한다.
-
replication - 복제 프로토콜 및 클러스터에 대한 통합 명령 기능을 제공한다.
-
GCS framework - 클러스터 그룹간의 통신 시스템에 대한 플러그인 구조를 제공한다. (갈레라 클러스터는 vsbes, gemini 를 base 로 한 프레임워크를 수용했으나 이 이외에 다른 프레임워크 형식을 사용 할 수 있다.)
-
-
-
주의사항
-
갈레라 클러스터는 기본적으로 InnoDB 스토리지 엔진을 지원한다. MyISAM 은 한정적으로 지원하고 (신규기능 테스트성) 그이외의 스토리지는 지원을 하지 않는다.
-
Lock Table 등의 테이블의 베타성 잠금을 지원하지 않는다.
-
모든 테이블에 PK 설정을 권장한다. 갈레라 클러스터에서는 PK 가 없는 테이블에 delete 지원을 하지 않으며, PK 가 없는 테이블은 각 노드마다 데이터 순서가 상이 할 수 있다.
-
general log 및 slow log 설정을 특정 테이블 대상으로 수행 할 수 없다. 또한 이를 설정시에는 LOG_OUTPUT=FILE 로 파라미터를 바꿔 놓아야한다.
-
트랜잭션 처리 row 및 size 크기가 제한되어있다. 3버전에서는 각각 최대 128K, 2GB 로 설정 할 수 있다.
-
노드가 추가될수록 각 노드간 동기화 필요 시간으로 인하여 전체 데이터 동기화에 대한 필요 시간이 증가한다.
-
모든 노드에 데이터를 쌓으므로 이에 대한 저장 스토리지 공간 및 비용 산정이 필요하다.
-
'MySQL > H.A (High Availability)' 카테고리의 다른 글
갈레라 클러스터 구성 방법 (0) | 2021.03.04 |
---|---|
MHA 구성 방법 (0) | 2021.03.04 |
MHA 개요 (0) | 2021.03.03 |
MMM 구성 방법 (0) | 2021.03.03 |
MMM 개요 (0) | 2021.03.03 |