Database HA

MMMMulti - Master replication Manager for MySQL

MMM 개요

  • Multi - Master replication Manager for MySQL (MMM)
    • Multi-Master의 단점을 보완하기 위해서 Manager 장비를 두어 가용성 보장(모니터링)
    • read/write DB와 read DB로 운영 중 Read/write DB에서 장애 발생 시
 Manager DB가 이를 감지하여 vip를 read DB로 이동시키는 구조(Failover)
    • 3rd party 제품으로 운영환경에 맞게 shell script 프로그래밍이 필요

MMM Achitecture

mmm-1

MMM 작동순서

  • Multi - Master replication Manager for MySQL (MMM) 작동 순서
    • Active Master에 장애 발생시 MMM Manager는 장애를 감지하고 Active Master의 접속을 차단(Virtual IP Down)하고 Passive Master로 서비스의 접속(Virtual IP up)을 넘김
    • FAIL BACK은 수동으로 진행하는 것이 원칙이나 패치 등으로 인한 정상 종료일 경우 Active Master를
 재가동 시켜도 무관함

MMM 장애 처리

mmm-1

MMM 장단점

장점

  • MySQL Replication이 지원하지 않는 auto Failover를 지원
  • MMM Manager Server의 관리가 쉬움
  • MMM Manager는 Virtual IP 관리도 가능
  • MMM Manager에서 Active Master와 Passive Master 관리가 가능
  • MySQL의 성능에 영향을 주지 않음
  • MySQL Storage Engine을 그대로 사용할 수 있음(MySQL cluster는 꼭 NDB를 사용해야 함)

단점

  • MMM Manager 이중화가 불가능
  • Multi Master로 사용이 가능하나 Multi Master 사용시 데이터 불일치 가능성 있음
  • Active Master 장애시 데이터 유실 가능성 있음

MHAMySQL High Availability

MHA Architecture

Basic Architecture

mha-1

MHA & Pacemaker Architecture

mha-1

MHA 장애 처리 순서

MHA 장애 처리 5단계

  1. Configuration Check
    1. Check Connect to server
    2. Find Dead Server and Alive Server
  2. Dead Master Shutdown
    1. Stop Slave IO Thread
    2. Run master_ip_failover and shutdown script
  3. Master Recovery
    1. Getting Lastest Slaves
    2. Saveing Dead Master’s binlog file
    3. Determining New Master
    4. New Master Diff Log Generation
    5. New Master Log Apply
    6. Run Master_ip_failover script
  4. Slaves Recovery
    1. Starting Parallel Slave Diff Log Generation
    2. Starting Parallel Slave Log Apply
  5. New Master Cleanup
    1. Resetting Slave info on the New Master
    2. Clearing Slave info

MHA의 장점

Benefit

  1. 최소한의 Down Time으로 Master의 장애 처리 및 Slave의 새로운 Master로 변경 수행 가능
  2. Master의 장애로 각 노드(Master 및 Slave)의 데이터 불일치가 발생하지 않음
  3. 현재 MySQL 서버의 설정을 변경 할 필요가 없음 (MySQL 5.0이상)
  4. 서버를 많이 늘릴 필요가 없음 (MySQL Cluster 대비)
  5. 스토리지 엔진에 제약을 받지 않음
  6. MySQL 성능에 전혀 제약 사항이 없음
mha-1

다양한 MHA Achitecture

  • Single master, multiple Slaves
  • Single master, multiple Slaves (one on remote datacenter)
  • Single master, multiple Slaves, one candidate master
  • Three Tier replication
  • Three Tier replication, multi-master

MHA 0.56 New Feature

  • MySQL 5.6 GTID 지원
  • MySQL 5.6 Multi-Thread Slave 지원
  • MySQL 5.6 Binlog checksum 지원
  • mysqlbinlog streaming host 지원
  • mysqlbinlog 위치 지원
  • ping_type=Select / Connect 이외 insert 추가
  • master_ip_online_change_scrip에 --orig_master_is_new_slave, --orig_master_ssh_user and --new_master_ssh_user option 추가

Galera Cluster

Codership에 의해 개발된 MySQL/MariaDB 이중화 도구로 Synchronous Multi-Master Cluster 소프트웨어로 MySQL Cluster CGE와 달리 별도의 NDB 엔진을 사용하지 않음 (InnoDB 사용)

기능

  • HA 클러스터링 시스템 - Single Point Of Failure을 방지하는 고가용성 솔루션
  • Active-Active 방식의 멀티마스터 구성
  • 모든 클러스터 노드에 읽기/쓰기 가능
  • 자동으로 신규 노드 추가
  • 클러스터 내 노드 자동 컨트롤
  • 특정 노드 장애시 자동으로 해당 노드 삭제
  • 로우 레벨의 병렬 복제
  • 기존의 MySQL Client 방식으로 동작 함으로써 어플리케이션에서 사용이 편리함
  • MySQL 5.1, 5.5 지원

장점

  • 마스터/슬레이브 간에 데이터 동기화 지연 없음
  • 노드 간 유실되는 트랜잭션이 없음
  • 읽기/쓰기 모두 확장이 가능
  • 클라이언트의 대기시간이 줄어듬(데이터는 각 로컬 노드는 존재)
  • VIP 불필요
  • NDB와 같은 새로운 스토리지 엔진 기술을 배울 필요가 없음

단점

  • 신규 노드 추가 시 기존 노드의 부하(Lock) 발생
  • Write 확장으로 인한 한계점 존재 (서버 간 Group Communication시 트래픽 발생)
  • 모든 노트는 동일한 데이터를 유지하기 때문에 저장공간 낭비

Galera Cluster 동작 개요

garela-1
garela-2
garela-3

Galera Cluster vs MySQL Cluster CGE

Performance

garela-4
garela-5
garela-6
garela-7
garela-8

Galera는 ...

  • MySQL Replication의 데이터 완전성 이슈 또는 Slave Lag
  • DRBD/SAN의 Fail-over 다운타임과 성능적인 페널티
  • ORACLE RAC의 Fail-Over 다운타임
  • NDB가 아닌 InnoDB 환경

등 에서 자유롭다 할 수 있다.

Galera Cluster vs 타 HA Solution

# Galera MySQL Replication DRDB SAN MySQL Cluster
Data Integrity
No Data Loss
Very fast or no Failover
No Performance Drop
InnoDB Compatibility

Tungstens

Continuent Introduction

  • Open Source Database 기반의 이중화 솔루션만을 전문적으로 공급
    • Data Clustering
    • Replication Management
    • High Availability
    • Disaster Recovery(DR)
  • Open Source 기반의 Tungsten Replicator와 Commercial 기반의 Continuent Tungsten 지원, 공급

Continuent가 제공하는 Open Source Database 이중화 관련 주요 서비스

  • 고객사가 운영하는 Open Source Database 이중화 관련 최적의 고가용성(HA)와 Disaster Recovery(DR)를 운영 가능토록 최적의 서비스 제공
  • 고객사가 비용 절감 할수 있도록 Cloud 및 On-Promises환경을 구축하여 Database 이중화 관련 Zero Down Time 운영을 보장
  • 최적의 Open Source Database의 이중화 운영을 지원하여 Open Source Database 의 성능 향상 보장
  • Continuent가 제공하는 Clustering 기능을 활용하여 최적의 Cloud 운영서비스 제공 가능(AWS등…)
  • Open Source Database(MySQL,MariaDB)를 기준으로 한 다양한 Database와의 동기화 지원(Oracle, MongoDB)

Continuent만이 제공하는 Open Source Database 이중화 관련 특화된 기능

Multi Master Replication
Global real-time transaction이 가능하도록 보다 유연한 multi-master replication configuration 제공
Parallel Replication
MySQL/MariaDB을 기준으로 다수의 slave 운영시 5배정도의 replication transaction performance 기능 향상 보장
Oracle Replication
  • MySQL/MariaDB와 Oracle간의 이기종 동기화(Replication) 기능 제공
  • Oracle Enterprise Database간만의 동기화(Replication) 기능 제공
Real-time Analytics and Big Data
  • Vertica와 같은 high-performance analytics 엔진과도 실시간으로 data 동기화 및 분석이 가능한 기능 제공
  • MySQL/MariaDB와 NoSQL의 MongoDB간의 실시간 이기종 동기화(Replication) 기능 제공
  • Data volume이 50TB 이상도 database cluster array를 활용한 scale 기능이 가능토록 제공

Continuent 제공 제품 및 서비스

Tungsten Configurations – Color Codes and Roles

Master : Write/Read 서비스 제공
매년 갱신하는 subscription 방식으로 24X7 지원을 원칙으로 하며 4시간이내의 고객응대를 원칙으로 합니다
Failover Slave : Read, Failover 서비스 제공
매년 갱신하는 subscription 방식으로 24X7 지원을 원칙으로 하며 4시간이내의 고객응대를 원칙으로 합니다
Ready-Only Slave : Read, No Failover
Continuent는 최소 2개의 failover slave를 권장하며 추가 증설하는 slave는 별도의 비용 청구없이 무상으로 설치, 지원을 하여 드립니다
Hot standby Master : Write/No Read 서비스 제공
매년 갱신하는 DR관련 subscription 방식으로 24X7 지원을 원칙으로 하며 4시간이내의 고객응대를 원칙으로 합니다
Hot standby Slave : No Read 서비스 제공
매년 갱신하는 DR관련 subscription 방식으로 24X7 지원을 원칙으로 하며 4시간이내의 고객응대를 원칙으로 합니다

High Availability(HA) Configuration

Continuent Tungsten Basic HA
(1 master + 1 failover slave로 구성)
SMB 고객사에 적합한 HA 구성
Continuent Tungsten HA
(1 master + 2 failover and read slaves로 구성)
보편적으로 사용되는 HA 구성 방식
Continuent Tungsten HA with Read Scale
(1 master + 2 failover slaves + n read slaves로 구성)
Media나 Web Portal 고객사에 적합한 HA 구성

HA and DR Configuration

Continuent Tungsten Basic HA & DR
(1 master + 1 failover slave/1 passive master로 구성)
SMB 고객사에 적합한 HA와 DR구성
Continuent Tungsten HA with DR Plus
(1 master + 2 failover slaves/1 passive master + 1 passive slaves로 구성)
보편적으로 사용되는 HA 및 DR 구성 방식(application 운영수가 많거나 최대한의 HA 구성이 필요한 고객사에 적합)
Continuent Tungsten HA and DR Site
(1 master + 2 failover slaves plus 1 passive relay master + 2 passive slaves 로 구성)
실시간으로 max. HA protection 구성이 필요한 고객사에 적합

Multi-site Configuration

Continuent Tungsten Basic HA and Active Failover
(1 master + 1 failover slave 추가적으로 2 active slaves로 구성)
두개의 사이트 환경은 반드시 low-latency WAN이나 최적의 bandwidth 환경의 network로 연결이 되어 있어야 합니다
Continuent Tungsten HA and Active Failover Site-aka System of Record)
(1 master + 2 failover slaves and 1 active relay master + 2 active slaves로 구성)
두개의 사이트 환경은 반드시 low-latency WAN이나 최적의 bandwidth 환경의 network로 연결이 되어 있어야 합니다
Continuent Tungsten Multi Master
(1 master + 2 failover slaves 그리고 1 master + 2 failover slaves로 구성)
최적의 Bandwidth Network 환경에 관계없이 두개 또는 여러 개의 location site에 구성 가능한 기능

Advanced Replication

Real-time replication from Oracle to Oracle

Continuent Tungsten은 실시간으로 Oracle Enterprise Database간의 동기화 기능 서비스를 제공하고 있습니다.(각각의 Oracle instance들과 RAC 지원) OGG(Oracle Golden Gate)의 비용문제로 고민하시는 고객사 에게는 최고의 선택이 되실수 있습니다. 동 서비스 제공에는 subscription이외에 max. 5일의 Deployment Consulting과 교육 서비스가 함께 제공 됩니다.

Real-time replication between MySQL and Oracle

Continuent Tungsten은 실시간으로 MySQL/MariaDB와 Oracle Enterprise Database간의 이기종 동기화 기능 서비스를 제공하고 있습니다. MySQL/Oracle Database간의 application 및 database transaction등을 지원하며 MySQL/MariaDB와 Oracle Database를 함께 운영하시는 고객사 에게는 최고의 선택이 되실수 있습니다. 동 서비스 제공에는 subscription이외에 max. 5일의 Deployment Consulting과 교육 서비스가 함께 제공 됩니다.

Real-time replication from Tungsten Cluster to Oracle
(MySQL master with 2 failover slaves와 Oracle slave로 구성)

Continuent Tungsten은 Cluster를 제공하여 Oracle과의 동기화 구성을 만들어 MySQL의 source date를 효율적으로 운영하도록 하여줍니다 . 동 서비스 제공에는 subscription이외에 max. 5일의 Deployment Consulting과 교육 서비스가 함께 제공 됩니다.

Real-time replication between MySQL and Oracle
(MySQL과 Vertica 및 MongoDB 동기화, 고객사 요청시 MySQL과 Hadoop과의 동기화 기능 서비스 제공 가능)

Continuent Tungsten은 실시간으로 MySQL/MariaDB와 Big Data간의 이기종 동기화 기능 서비스를 제공하고 있습니다.(Vertica, MongoDB등). 동 서비스 제공에는 subscription이외에 max. 5일의 Deployment Consulting과 교육 서비스가 함께 제공 됩니다.