MySQLソリューション 高可用性ソリューション | システム監視・サーバ監視・障害監視・ネットワーク監視・システム運用・MySQLを提供

MySQLソリューション 高可用性ソリューション

構成別比較

構成別のアーキテクトを紹介します。
MySQLも他の商用RDBのように複数の高可用性手段がありますので、ニーズにより選択が可能です。

  高可用性 パフォーマンス 拡張性 運用の容易さ 導入コスト
レプリケーション構成
(Master-Slave)
低い
Active/Standby(HA)構成
(DRDB+Heartbeat)
やや低い
Active/Standby +レプリケーション 構成
(DRDB+Heartbeat+Master-Slave)
やや低い
Active/Active構成
(MySQLCluster)
高い
Active/Active構成
(uni/cluster for MySQL)
× 高い

 

DR:BD+Heartbeat+Master-Slave 構成が、弊社お勧めの構成となります。

 

レプリケーション構成(Master-Slave)

MySQLは、強力なレプリケーション機能を持っています。
検索系サーバのスケールアウトや、更新系サーバの検索負荷を減らす目的としてかなり有用となります。安価な機器で比較容易に構築が可能です。DR用のスタンバイデータベース用途として活用することもできます。
非同期な連携となるため、Write-Writeクラスター環境には向いていません。(ただし、アプリケーションの書込制御次第で双方向レプリケーションという構成も可能です)

 

レプリケーションの仕組み

Slaveにも更新負荷はかかりますが、バイナリログ出力を停止すればI/O負荷が下ります。
レプリケーションの仕組み

 

レプリケーション構成は検索系サーバを簡単にスケールアウトできます。

 

Active/Standby(HA)構成(DR:BD+Heratbeat)

OSSプロダクトである、「DR:BD」と「Heartbeat」を組合わせることで、共有ディスク無しの、安価なHAクラスターの構築が可能になります。HeartbeatとDRBDは相性がよく、セットソリューションとして扱われることが多いです。HeartbeatクラスタにMySQLリソースを登録することで、MySQLのHAシステムが構築できます。(弊社検証環境にて動作を確認しております)
Active/Standby(HA)構成(DR:BD+Heratbeat)

 

Heartbeatが疎通確認とリソースの死活監視、Failoverを実現します。
DR:BDはPrimary Nodeのみ書き込(Mount)み可能。クラスター構成時も Split Brainを防ぐDR:BD + Heartbeat 構成は、24×365システムが安価で構築できます。
※DR:DBは同期書込の性質上、データの更新時に多少のオーバーヘッドがあります。(弊社環境での確認時は5~10%程度の速度ダウン)

 

Active/Standby +レプリケーション 構成(DRDB+HertBeat+Master-Slave)

「DR:BD」と「Heartbeat」のHAクラスタをレプリケーションMasterとすることで、更新系サーバの可用性を確保しつつ、検索系サーバの可用性とスケーラビリティを確保する高可用性MySQLシステムの構築が可能となります。
Active/Standby +レプリケーション 構成(DRDB+HertBeat+Master-Slave)
24×365対応でReadノードのスケールも可能な本構成が弊社お勧めの構成となります。

 

Active/Active構成(uni/cluster for MySQL)

SmartStyle社の提供する商用プロダクトuni/cluster for MySQL(※)は、MySQLのActive-Activeクラスターの実現を可能にします。
※開発元はContinuent社
Active/Active構成(uni/cluster for MySQL)
uni/clusterはMySQL DBを2台~最大16台までActive環境で構築することができます。
(モジュールが必要)

  • APサーバーにuni/cluster Driver
  • MySQL DBサーバにuni/cluster ontroller

スケールアウトとしてMySQL DBサーバを構築する要領となります。(Active)

 

Active/Active構成(uni/cluster for MySQL)
【障害時の切替】
MySQL DB(A)が障害でアクセスができなくなります
⇒uni/clusterがMySQL DB(A)の障害を検知します
⇒uni/clusterがMySQL DB(A)からMySQL DB(B)へ切り替えます
⇒MySQL DB(A)のアクセスはMySQL DB(B)へ自動的にデータを引き継ぎ、継続させます

 

Writeノードをクラスター化することが可能で、MySQL Clusterより安価に構築できます。

 

お問い合わせ・お見積もりはこちら