読み取りトラフィックが増加し、データベースの応答が遅くなった場合、読み取り専用ノードを追加してクラスターの読み取り能力をスケールアウトできます。これにより、スループットが向上し、プライマリノード (読み取り/書き込みノード) の負荷が軽減されます。逆に、オフピーク時にはアイドル状態の読み取り専用ノードを削除してコストを節約できます。PolarDB のクラスターエンドポイントは、読み取り専用ノード間で読み取りリクエストの負荷を自動的に分散するため、アプリケーションの接続管理が簡素化されます。
適用範囲
開始する前に、以下の要件が満たされていることを確認してください。
課金方法:対象クラスターの課金方法は、サブスクリプション または 従量課金 である必要があります。
クラスターのステータス:対象クラスターは 実行中 の状態である必要があります。これは、計算ノードの仕様変更やマイナーバージョンのアップグレードなど、他の設定変更が進行中でないことを示します。
影響と制限
読み取り専用ノードを追加または削除する前に、ビジネスへの潜在的な影響と制限を評価し、変更を計画してください。
サービスへの影響
読み取り専用ノードの追加:読み取り専用ノードの追加には約 5 分かかります。複数の読み取り専用ノードを同時に追加する場合、それらは並行して処理されます。実際の所要時間は、クラスターの負荷やデータベースとテーブルの数などの要因によって異なります。このプロセスはクラスターに影響を与えません。
読み取り専用ノードの削除:読み取り専用ノードを削除すると、そのノードへの接続で瞬間的な切断が発生します。他のノードは影響を受けません。この操作はオフピーク時に実行し、アプリケーションに自動再接続メカニズムが備わっていることを確認することを推奨します。アプリケーションがクラスターエンドポイントに接続している場合、PolarDB は削除された読み取り専用ノードをエンドポイントから自動的に削除します。アプリケーションの設定を変更する必要はありません。
ノード数の制限
Enterprise Edition:
クラスター版:最大 15 個の読み取り専用ノードをサポートします。高可用性を確保するために、少なくとも 1 つの読み取り専用ノードを維持する必要があります。したがって、最後の読み取り専用ノードを削除することはできません。
マルチマスタークラスター (無制限) 版:最大 63 個の読み取り/書き込みノードと 15 個の読み取り専用ノード (グローバル読み取り専用ノード) をサポートします。
Standard Edition:最大 7 個の読み取り専用ノードをサポートします。
ノード仕様の制限
クラスターの安定性と高可用性を確保するため、プライマリノードと読み取り専用ノードの仕様には以下の制限が適用されます:
新しい読み取り専用ノードのメモリは、プライマリノードのメモリの半分未満にすることはできません。
新しい読み取り専用ノードには、最小限の CPU コア仕様が必要です。ルールは以下の通りです:
プライマリノード (読み取り/書き込みノード) の CPU 仕様
読み取り専用ノードに許可される最小 CPU 仕様
2
2
4
4
8
4
16
8
32
16
64
32
88
64
120
64
マルチマスタークラスター (無制限) 版 のクラスターは、上記の制限の対象外です。
列ストアインデックス読み取り専用ノード を追加する場合、その分析ワークロードの特性から、プライマリノード (読み取り/書き込みノード) よりも高い仕様にすることを推奨します。
ノードの追加
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで クラスター をクリックし、クラスターが配置されているリージョンを選択します。
以下のいずれかの方法で ノードの追加/削除 ウィザードを開きます:
対象クラスターの 操作 列で ノードの追加/削除 をクリックします。

対象クラスターの ID をクリックして 概要 ページに移動します。データベースノード セクションで ノードの追加/削除 をクリックします。

ノードの追加/削除 ウィザードで ノードの追加 (グローバル読み取り専用ノードの追加) を選択し、OK をクリックします。
説明ダイアログボックスでは、読み書きノードの追加、AI ノードの追加、列ストアインデックス読み取り専用ノードの追加、検索ノードを追加 など、他のタイプのノードも追加できます。
読み取り/書き込みノード の追加をサポートしているのは マルチマスタークラスター (無制限) 版 のクラスターのみです。他のクラスター版ではこの機能はサポートされていません。
列ストアインデックス読み取り専用ノード、AI ノード、または 検索ノード を追加するには、ご利用のクラスターが対応する機能のバージョン要件を満たしていることを確認してください。
アップグレード/ダウングレード ページで、現在の設定 を確認します。
アイコンをクリックしてノードを追加し、その仕様を選択します。説明このボタンを複数回クリックすると、複数のノードを同時に追加できます。
切り替え時間の設定:構成変更をいつ有効にするかを選択します。
すぐに適用:変更はすぐに有効になります。
スケジュール切り替え:今後 24 時間以内の時間を選択します。変更タスクは指定された時間の 30 分以内に完了します。スケジュールされたタスク ページでタスクを表示またはキャンセルできます。
サービス利用規約を読み、今すぐ購入 をクリックして支払いを完了します。タスクは指定された切り替え時間に実行されます。
(オプション) 他のタイプのノードを追加した場合、ノードのタイプに応じて以下の操作を実行します:
読み取り/書き込みノード:
CREATE DATABASE <name> [POLARDB_WRITE_NODE master_id];文を使用して、新しいノードにデータベースを作成できます。詳細については、「マルチマスタークラスターの命令」をご参照ください。AI ノード:文の前に
/*polar4ai*/を追加することで、AI SQL 文を実行できます。その他のシナリオについては、「Data-Agent」をご参照ください。列ストアインデックス読み取り専用ノード:テーブルまたは特定の列に
COLUMNAR=1コメントを追加することで、列ストアインデックスを作成できます。詳細については、「列ストアインデックスの追加」をご参照ください。検索ノード:Elasticsearch 互換の REST API を使用してインデックスを作成し、データを検索できます。詳細については、「インテリジェント検索の命令」をご参照ください。
ノードの削除
注意事項
読み取り/書き込みノード
マルチマスタークラスターから読み取り/書き込みノードを削除する前に、そのノード上のすべてのデータベースのエンドポイントを、他の利用可能な読み取り/書き込みノードに切り替えます。詳細については、「マルチマスタークラスターの命令」をご参照ください。
この操作を行わないと、これらのデータベースはアクセス不能になります。この問題が発生した場合、ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>; 文を使用して、これらのデータベースに読み取り/書き込みノードを再割り当てすることでアクセスを回復できます。
読み書きノード上のデータベースの分散をクエリします。
SELECT * FROM INFORMATION_SCHEMA.INNODB_CC_GLOBAL_LOCK_INFO WHERE LOCK_MODE = 'SLS_X' AND MASTER_ID = <master_id>;上記の文で返されたすべてのデータベースまたはデータオブジェクトのエンドポイントを、他の読み取り/書き込みノードに切り替えます。
説明クエリ結果には、
mysql/global_ddl_lockという名前とobjectタイプがTableの情報が含まれる場合があります。これは内部情報であり、このオブジェクトを切り替える必要はありません。ALTER DATABASE <name> POLARDB_WRITE_NODE <new_master_id>;
AI ノード
最後の AI ノードを削除すると、システムは即座にノードと、ベクターテーブルなどの関連データを消去します。ノードが削除されると、クラスターに送信された AI SQL 文は応答を受け取らなくなります。他の SQL 文は影響を受けません。
データ損失を防ぐため、ノードを削除する前に必要なデータをバックアップし、データのセキュリティと回復可能性を確保してください。
列ストアインデックス読み取り専用ノード
最後の列ストアインデックス読み取り専用ノードを削除すると、クラスターは列ストアクエリを高速化できなくなります。再度列ストアインデックスを使用してパフォーマンスを向上させたい場合は、別の列ストアノードを追加し、列ストアインデックスが自動的に再構築されるのを待つ必要があります。
クラスターのエンドポイント は、失敗したノードを自動的に削除します。アプリケーションの設定を変更する必要はありません。
検索ノード
すべての検索ノードを削除すると、システムは即座にノードと関連データを消去します。ノードが削除されると、クラスターに送信された REST API リクエストは応答を受け取らなくなります。他の SQL 文は影響を受けません。
データ損失を防ぐため、ノードを削除する前に必要なデータをバックアップし、データのセキュリティと回復可能性を確保してください。詳細については、「データバックアップ」をご参照ください。
手順
PolarDB コンソールにログインします。左側のナビゲーションウィンドウで クラスター をクリックし、クラスターが配置されているリージョンを選択します。
以下のいずれかの方法で ノードの追加/削除 ウィザードを開きます:
対象クラスターの 操作 列で ノードの追加/削除 をクリックします。

対象クラスターの ID をクリックして 概要 ページを開きます。データベースノード セクションで ノードの追加/削除 をクリックします。

ノードの追加/削除 ウィザードで、 ノードの削除 (グローバル読み取り専用ノードの削除)、読み書きノードの削除、AI ノードの削除、列ストアインデックス読み取り専用ノードの削除、または 検索ノードを削除 などのオプションを選択します。次に、OK をクリックします。
アップグレード/ダウングレード ページで、現在の設定 を確認します。対象ノード名の横にあるマイナスアイコン
をクリックして削除します。説明複数のノードを選択して同時に削除できます。
切り替え時間の設定:設定変更を有効にするタイミングを選択します。
すぐに適用:変更タスクはすぐに有効になります。
スケジュール切り替え:今後 24 時間以内の時間を選択します。変更タスクは指定された時間の 30 分以内に完了します。スケジュールされたタスク ページでタスクを表示またはキャンセルできます。
サービス利用規約を読み、今すぐ購入 をクリックして支払いを完了します。支払いが成功すると、タスクは指定された切り替え時間に実行されます。
課金
ノードの追加または削除は、計算ノードの料金にのみ影響します。ストレージ容量やその他のリソースの料金は影響を受けません。
従量課金
新しいノードは、作成時からリリースされるまで時間単位で課金されます。
いつでもノードを削除して課金を停止できます。
サブスクリプション
ノードを追加する際、追加時からクラスターの有効期限までの期間の料金を支払う必要があります。
ノードを削除すると、システムは残りの価値を自動的に計算し、返金を発行します。詳細については、「返金額の計算」をご参照ください。
よくある質問
ノード追加時に「リソースが不足しています」というメッセージが表示された場合はどうすればよいですか?
ノード追加時に リソースが不足しています。別のリージョンまたはゾーンで再試行してください。 というメッセージが表示された場合、現在のゾーンで選択した仕様が売り切れていることを意味します。以下を推奨します:
類似の仕様を選択する:少し低い仕様を選択してみてください。
ゾーンを変更する:将来の構成変更時にこの問題が再発するのを防ぐため、手動でゾーンを変更することを推奨します。
PolarDB クラスターは読み取り/書き込みノードの追加をサポートしていますか?
マルチマスタークラスター (無制限) 版 のクラスターのみが読み取り/書き込みノードの追加をサポートしています。この機能は他のエディションでは利用できません。ご利用のクラスターがマルチマスタークラスター (無制限) 版であることを確認してください。
ノードの追加または削除時に「仕様変更なし」というメッセージが表示された場合はどうすればよいですか?
このメッセージは、まだノードを追加または削除していないことを示します。画面の指示に従って
アイコンをクリックしてノードを追加するか、ノード名の横にあるマイナスアイコン
をクリックして削除してください。ノード削除時に
「DB ノードの数が正しくありません。」というメッセージが表示された場合はどうすればよいですか?高可用性 (HA) と自動フェイルオーバーを確保するため、PolarDB クラスター版のクラスターには、少なくとも 1 つの読み取り専用ノードが必要です。
ノードを削除する際、プライマリノード 1 つと列ストアインデックス読み取り専用ノード 1 つだけを残すことはできますか?
いいえ。列ストアインデックス読み取り専用ノードを追加または維持する前に、少なくとも 1 つの通常の読み取り専用ノードが必要です。
アプリケーションの書き込み負荷が高いです。読み取り専用ノードを追加することでこの問題は解決しますか?
いいえ。読み取り専用ノードは読み取り (
SELECT) リクエストのみを処理します。すべての書き込み操作 (INSERT/UPDATE/DELETE) は、引き続きプライマリノードによって処理されます。ボトルネックが書き込みパフォーマンスである場合は、読み取り専用ノードを追加するのではなく、プライマリノードの仕様をアップグレードすることを検討してください。
関連ドキュメント
ノード数がパフォーマンスに与える影響:パフォーマンステスト (OLTP)
読み取り専用ノードの列ストアインデックス機能:インメモリ列インデックス (IMCI)
検索ノード機能:インテリジェント検索 (PolarSearch)
AI ノード機能:PolarDB for AI
関連する API 操作
API | 説明 |
PolarDB クラスターにノードを追加します。 | |
PolarDB クラスターからノードを削除します。 |