PolarDB for MySQLには、Cluster EditionおよびMulti-master Cluster (データベース /テーブル) Editionのエディションがあります。 このトピックでは、これらのエディションのアーキテクチャ、利点、および一般的な使用シナリオについて説明します。
次の表は、さまざまなエディションの一般的な使用シナリオを比較しています。
エディション | 説明 | シナリオ |
Cluster Edition | Cluster Editionは、コンピューティングがストレージから切り離されているアーキテクチャに基づいて開発されています。 これにより、より高速なスケーリング、より大きなストレージ容量、およびレプリケーション遅延が削減されます。 |
|
マルチマスタークラスタ (データベース /テーブル) Edition | Multi-master Cluster (Database/Table) Editionは、複数のプライマリノードと読み取り専用ノードを含むマルチマスターアーキテクチャに基づいて開発されています。 クラスター内のすべてのデータは、共有ストレージプールであるPolarStoreに保存されます。 各プライマリノードはPolarFileSystemを使用してPolarStoreのデータにアクセスします。 クラスターエンドポイントを使用して、クラスター内のすべてのノードにアクセスできます。 PolarProxyは、SQL文を必要なプライマリノードに自動的に転送します。 |
|
Cluster Edition
Cluster Editionは、コンピューティングがストレージから切り離されているアーキテクチャに基づいて開発されています。 これにより、より高速なスケーリング、より大きなストレージ容量、およびレプリケーション遅延が削減されます。
1つのプライマリノードと複数の読み取り専用ノード
PolarDBは、分散クラスターベースのアーキテクチャを使用します。 Cluster Editionクラスターは、1つのプライマリノードと0〜15の読み取り専用ノードで構成されています。 複数のノードがデータベースのエンジン層を構成する。 プライマリノードは読み取り要求と書き込み要求を処理し、読み取り専用ノードは読み取り要求のみを処理します。 Cluster Editionでは、プライマリノードと読み取り専用ノード間でアクティブ /アクティブフェールオーバー方式が使用されます。 この方法により、データベースの高可用性が保証されます。
PolarStore
複数の計算ノードが1セットのデータを共有するため、各計算ノードがデータのコピーを保持する必要がなくなります。 これにより、ストレージコストが大幅に削減されます。 Cluster Editionは、分散ストレージとファイルシステムを使用します。 これにより、個々のデータベースサーバーの機能に制限されることなく、データベースのストレージ容量を数百テラバイトにシームレスに拡張できます。
コンピューティングとストレージの分離
Cluster Editionでは、コンピューティングをストレージから切り離し、ビジネスの成長に合わせてクラスターを簡単に拡張できます。 計算ノードはメタデータのみを保存し、データファイルとredoログはPolarStoreに保存されます。 redoログに関連するメタデータのみが、計算ノード間で同期される必要があります。 これにより、プライマリノードと読み取り専用ノード間のレプリケーション待ち時間が短縮されます。 プライマリノードに障害がある場合、読み取り専用ノードはすぐにプライマリノードとして引き継ぐことができます。
読み書き分離
Cluster Editionには、PolarProxyに基づいて実装された読み書き分離機能が付属しているため、透過的で高可用性、および適応型の負荷分散を実行できます。 読み書き分離機能は、クラスターエンドポイントに基づいてCluster Editionの各ノードにSQLリクエストを自動的に転送し、クラスターが大量の同時リクエストを集約して処理できるようにします。 詳細については、「読み書き分離」をご参照ください。
高速ネットワーク接続
データは、高速ネットワーク上でリモートダイレクトメモリアクセス (RDMA) プロトコルを使用して、クラスタの計算ノードとストレージノードの間で送信されます。 I/Oはもはやデータベースのパフォーマンスを制限する要因ではありません。
データの信頼性と一貫性
ストレージノード上のデータには複数のレプリカがあり、データの信頼性が保証されます。 さらに、Parallel-Raftプロトコルを使用して、これらのレプリカ間でデータの一貫性を確保します。
アーキテクチャ
次の図は、Cluster Editionのアーキテクチャを示しています。
サポートされているエンジンバージョン
Cluster Editionは、PolarDB for MySQL 5.6、5.7、8.0のカーネルバージョンをサポートしています。
シナリオ
大規模および中規模企業向けの本番データベース。
インターネット、IoT、eコマース、物流、ゲームなどの業界で使用されるデータベース。
高いデータセキュリティを必要とする金融、証券、保険業界のコアデータベース。
ノードの仕様と価格
Cluster Editionは、専用および汎用仕様をサポートしています。 詳細については、「請求項目」をご参照ください。
マルチマスタークラスタ (データベース /テーブル) Edition
マルチマスタークラスタ (データベース /テーブル) エディションは、PolarDB for MySQLを提供します。これは、複数のプライマリノードと読み取り専用ノードを含むマルチマスターアーキテクチャに基づいて開発され、同時読み書き機能を向上させます。
アーキテクチャ
次の図は、Multi-master Cluster (Database/Table) Editionのアーキテクチャを示しています。
クラスター内のすべてのデータファイルはPolarStoreに保存されます。 各プライマリノードはPolarFileSystemを使用してPolarStoreのデータにアクセスします。 クラスターエンドポイントを使用して、クラスター内のすべてのノードにアクセスできます。 データベースプロキシは、SQL文を必要なプライマリノードに自動的に転送します。
サポートされているエンジンバージョン
PolarDB for MySQL 8.0のみがマルチマスタークラスター (データベース /テーブル) エディションをサポートしています。
メリット
スケールアウトを秒単位で書き込む
最大32個の計算ノード上のデータベースへの同時データ書き込みがサポートされています。 データベースは数秒以内に異なる計算ノードにスケジュールでき、同時リクエストに対するクラスターの全体的な読み取り /書き込み機能が向上します。
マルチマスターバックアップ (セカンダリノードなし)
プライマリノードに障害が発生した場合、別の低トラフィックのプライマリノードへのフェールオーバーは数秒以内に完了できます。 セカンダリノードがないため、フェールオーバーのために特別に占有されるリソースが節約され、TCOが半分になります。
グローバル読み取り専用ノード
グローバル読み取り専用ノードからすべてのプライマリノードに書き込まれたデータを読み取り、複数のデータベースを含む要求を実行できます。
シナリオ
Multi-master Cluster (Database/Table) Editionは、マルチテナント、ゲーム、eコマースなどの同時実行性の高い読み書きシナリオに適しています。
SaaSのマルチテナンシー: テナント間の高い同時実行性と負荷分散
Multi-master Cluster (Database/Table) Editionでは、異なるプライマリノード間でテナントのデータベースを切り替えるか、新しいプライマリノードを追加してトラフィックバーストを処理することで、負荷分散を実装できます。
グローバルなゲームサーバーとeコマースシナリオ: 急成長するビジネスに対応するための数分でのスケーリング
マルチマスタークラスタ (データベース /テーブル) エディションは、秒単位のスケールアウトをサポートし、透過ルーティング機能を提供します。 これらをミドルウェアまたはビジネスベースのデータベースおよびテーブルシャーディングソリューションと組み合わせて、スケールアウトプロセスを数日から数分に短縮できます。
異なるサーバーにデプロイされたゲーム: パフォーマンスとスケーラビリティの向上
ゲームが多数のプレイヤーを引き付けている場合、データベースを新しいプライマリノードに切り替えて、負荷分散を実装できます。 ゲームがその素数を過ぎたとき、データベースをいくつかのプライマリノードに集約して、運用コストを削減できます。
ノードの仕様と価格
マルチマスタークラスタ (データベース /テーブル) エディションは、専用および汎用仕様をサポートしています。 詳細については、「PolarDB For MySQL Enterprise Editionのコンピュートノード仕様」をご参照ください。
マルチマスタークラスタ (データベース /テーブル) エディションの課金の詳細については、「課金項目」をご参照ください。