主流の MySQL クラスター実装アーキテクチャの長所、短所、適用可能なシナリオの分析
この記事は主に、現在の主流の MySQL クラスター アーキテクチャの実装方法とその長所と短所を分析し、まとめたものであり、皆様の参考、研究、共通のために公開されています。進捗状況に誤りがある場合は、お気軽に教えてください~
1. マスター/スレーブ レプリケーション アーキテクチャ MHA
MHA は、Master High Availability Manager および Tools for MySQL の略で、日本の MySQL によって作成された MySQL 高可用性管理ツールです。 Perl 言語を使用する専門家。目的は、MySQL のマスター高可用性マネージャーとツールの高可用性とメイン データベースのデータの一貫性を維持することです。
MHA は現在、MySQL 高可用性のための比較的成熟したソリューションであり、多くの企業で広く使用されています。その最大の特徴は、複数のスレーブ間の差分ログを修復し、最終的にすべてのスレーブでデータの一貫性を保ち、スレーブ データベースを新しいマスターとして選択し、他のスレーブをそこにポイントできることです。
マスターに障害が発生した場合、MHA は複数のスレーブから 1 つをランダムに選択して新しいマスターとして機能します。設定ファイルで最初にマスターになる特定のスレーブを指定することもできます。
アーキテクチャは次のとおりです。参照してください。
上の図の簡単な説明については、次を参照してください。
1. MHA アーキテクチャでの読み取りと書き込みの分離 ベスト プラクティスは、読み取りと書き込みの分離を計画することです。アプリケーションの開発および設計中に、事前に 2 つの接続プール (読み取り接続プールと書き込み接続プール) を設定し、読み取り負荷分散用のツールを使用することもできます。 F5、LVS、HAPROXY、SQL プロキシなど、可能な限り、バックアップがマスターにアップグレードされた後にロード バランシング、障害チェック、および読み取り/書き込みストリッピング機能を実現するだけで十分です。LVS を使用することをお勧めします。 MHA マネージャー ノードは主に、マスター ライブラリがクラッシュしたときに bin ログをスレーブ ライブラリに完全に同期し、マスター ライブラリとバックアップ ライブラリのステータスと切り替えを監視します。
2. 公式クラスター MySQLCluster アーキテクチャ
MySQL Cluster は、Oracle が公式に提供するエンタープライズ レベルのソリューションです。共有ストレージを使用しないデータ ストレージ モデルを採用し、クラスター内のデータのリアルタイム同期とアプリケーションに対するデータベース ノード障害の透過性を真に実現します。公式には、MySQL Cluster はデータベース システムの 99.999% の可用性を保証できると約束されています。
上記の図の簡単な説明については、以下を参照してください:
1. 読み取りおよび書き込みの負荷分散には、負荷分散と障害チェックが可能な限り、F5、LVS、HAPROXY またはその他の SQL プロキシ ツールを使用できます。
2. MySQL Cluster はクラスター機能とシャーディング機能の両方をサポートしており、テーブルは通常、NDB Cluster ストレージ エンジンの使用を必要とします。
4. MySQL Cluster 内の他のノードを管理するため、構成データの提供、ノードの起動と停止、バックアップの実行など、それ自体の障害は MySQL Cluster には影響しません。
5.SQL ノード: クラスター データにアクセスするために使用されるノード。 NDB ノード: クラスター データの保存に使用されます ;
7. MySQL Cluster はクラスター間のリアルタイム同期をサポートしており、粒度は行レベルと同じくらい詳細にすることができるため、データセンターの展開が可能になります。
3. オープンソース分散ソリューション Cobar
Cobar は、アリババの B2B 部門によって開発されたリレーショナル データ用の分散処理システムであり、従来のデータベースと同様に、分散環境で大規模なデータ サービスを提供できます。 Cobar の主な機能は次のとおりです。
1. Cobar は、テーブルの複数の部分への水平分割をサポートし、それらを異なるライブラリに配置して、テーブルの水平分割を実現します。 3. ほとんどの場合、上記 2 つの方法が混合して使用されます。
4. Cobar は、動作に異常が発生した場合に、バックエンドに接続されている MySQL に自動的にハートビートを送信します。バックアップマシンに切り替えます。
上の図の以下の簡単な説明については、以下を参照してください:
1. Cobar は、クラスター クラスター機能とシャーディング データ スライス機能の両方をサポートし、一般的に実際のニーズに応じて組み合わせて使用する方法を採用します。
2. Cobar は負荷を実現します。アプリケーション リクエストのバランス、バックエンド ノードのヘルス チェック、SQL セグメンテーション、クエリ結果セットの集約、その他の機能
3. MySQL プライマリ データベースとセカンダリ データベースは、プライマリ - マスター双方向同期モード、つまり MySQL M01 に設定する必要があります。また、MySQL S01 はプライマリ/マスター同期モードに設定する必要があります。
http://www.bkjia.com/PHPjc/1090823.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/1090823.html技術記事主流の MySQL クラスター実装アーキテクチャの利点、欠点、適用可能なシナリオの分析 この記事は主に、現在の主流の MySQL クラスター アーキテクチャの実装方法、利点、欠点を分析してまとめたものです。