ワークロードが増え続けるにつれて、マルチマスタークラスター内のプライマリノードの数が増える可能性があります。 この場合、グローバル読み取り専用ノードは、すべてのプライマリノードからデータを読み取り、データベース間要求の処理を容易にすることができるため、役立ちます。 このトピックでは、Multi-master Cluster (Database/Table) Editionクラスターのグローバル読み取り専用ノードのアーキテクチャとコアの利点について説明します。
アーキテクチャ
マルチマスタークラスター内のすべてのデータファイルはPolarStoreに保存され、分散ファイルシステムPolarFileSystemを介してグローバル読み取り専用ノードにアクセスできるようになります。 グローバル読み取り専用エンドポイントを介して、グローバル読み取り専用ノードに接続できます。 PolarProxyの読み書き分離機能を利用して、複数のノードを含むSQL文を自動的に識別し、関連するノードからデータを読み取ります。
コアの利点
コスト削減
以前は、既存のクラスターのプライマリノードのデータを1か所に保存し、データベース間リクエストを処理するには、別のPolarDB for MySQLクラスターを購入する必要がありました。 さらに、プライマリノードから新しいクラスターにデータを同期するには、複数のData Transmission Service (DTS) 同期リンクを購入する必要がありました。
グローバル読み取り専用ノード機能では、既存のMulti-master Cluster (Database/Table) Editionクラスターにグローバル読み取り専用ノードを追加するだけで、データベース間リクエストを処理できます。 グローバル読み取り専用ノードはPolarStoreを介して既存のクラスターのプライマリノードのデータにアクセスできるため、追加のクラスターやDTS同期リンクは必要ありません。
低レイテンシ
通常、DTSを介してデータを同期するのに数秒かかりますが、グローバル読み取り専用データのレイテンシはわずか数十ミリ秒です。 これにより、クロスデータベースクエリの適時性が大幅に向上します。
サポートされているバージョン
この機能は、MySQL 8.0.1を実行するマルチマスタークラスターでサポートされています。
課金
計算ノードに対してのみ課金されます。 詳細については、「従量課金計算ノードの課金ルール」および「サブスクリプション計算ノードの課金ルール」をご参照ください。
使用法
グローバル読み取り専用ノードの追加
マルチマスタークラスターにグローバル読み取り専用ノードを追加することは、他のタイプのクラスターに共通の読み取り専用ノードを追加することと同じです。 詳細については、「読み取り専用ノードの追加」をご参照ください。
データベース間のデータの照会
グローバル読み取り専用ノードは、すべてのプライマリノードのデータに直接アクセスできるため、データベース間クエリを処理できます。 データベース間クエリのサンプルは次のとおりです。select * from db1.tbl1 t1, db2.tbl2 t2ここでt1.id=t2.id;
。 ビジネスニーズに応じてノード設定を調整できます。 詳細については、「クラスターの仕様を手動で変更する」をご参照ください。
グローバル読み取り専用ノードの削除
不要になったグローバル読み取り専用ノードを削除できます。 詳細については、「読み取り専用ノードの削除」をご参照ください。
グローバル読み取り専用エンドポイントは、グローバル読み取り専用ノードの削除とともに削除されます。 クラスターエンドポイントを介してノード間でデータをクエリすることはできません。 サービスの継続性を確保するために、クラスターエンドポイントを介してプライマリノードに再接続してください。
グローバル読み取り専用列ストアノードの追加
loose_polar_enable_imci_with_mm
パラメーターの値をON
に変更した後、グローバル読み取り専用列ストアノードを追加できます。 パラメーターの詳細については、「パラメーター設定」をご参照ください。 読み取り専用列ストアノードを追加する方法の詳細については、「読み取り専用列ストアノードの追加」をご参照ください。