AnalyticDB for PostgreSQLのデータサイズとコンピューティングワークロードが増加すると、CPU、メモリ、ディスクストレージ、コンピューティングノードなどのコンピューティングリソースが不十分になるため、データ処理速度がボトルネックになる可能性があります。 この場合、ビジネス要件に基づいて、コンピューティングノードの仕様とコンピューティングノードの数を変更できます。
次の表に、AnalyticDB for PostgreSQLのさまざまなリソースタイプで構成変更がサポートされる方法を示します。
操作 | サーバーレスモード | Elasticストレージモード |
ノード仕様のアップグレード | サホートされていない | 対応 |
ノード仕様のダウングレード | サホートされていない | 対応 |
計算ノードの追加 | 対応 | 対応 |
計算ノードの削除 | 対応 | 対応 |
使用上の注意
エラスティックストレージモードでAnalyticDB for PostgreSQL V6.0インスタンスから計算ノードを削除するには、インスタンスのマイナーバージョンが6.3.10.5以降である必要があります。 エラスティックストレージモードでAnalyticDB for PostgreSQL V7.0インスタンスから計算ノードを削除するには、インスタンスのマイナーバージョンがV7.0.1.2以降である必要があります。 インスタンスのマイナーバージョンの表示方法については、「インスタンスのマイナーバージョンの表示」をご参照ください。
エラスティックストレージモードでAnalyticDB for PostgreSQLインスタンスから計算ノードを削除すると、データの書き込みが影響を受ける可能性があります。 マイナーバージョンが6.6.2.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスにコンピューティングノードを追加すると、データの読み取りと書き込みが許可されます。 以前のバージョンのインスタンスにコンピュートノードを追加すると、データの読み取りのみが許可されます。
エラスティックストレージモードでインスタンスからコンピュートノードを削除する場合は、スケーリング後のインスタンス容量が元のインスタンスデータを格納するのに十分であることを確認してください。
サーバーレスモードのインスタンスの場合、計算ノードの数が変更されると、現在のSQL文が中断される可能性があります。 これらのSQL文は、変更後も再開できません。
設定変更方法
ノード仕様のアップグレードまたはダウングレード: ノード数を変更せずに、既存ノードのCPU、メモリ、ディスクなどのリソースの仕様を変更します。 この方法はデータ移行を伴わず、構成変更を迅速に完了することができます。
コンピュートノードの追加または削除: 元のインスタンスの上に同じ仕様のコンピュートノードを追加または削除します。 コンピュートノードを追加または削除すると、それに応じて総リソースが変更され、データ負荷が再バランスされます。 プロセスが複雑であるため、必要な時間はデータ量に比例します。 上記の方法を使用して構成の変更を完了するのに必要な時間については、「構成の変更に必要な時間」をご参照ください。
次のルールに従って、適切な構成変更方法を選択できます。
ノードモニタリング情報の表示 業務運用中にコンピューティングノードのCPU使用率およびI/O使用率が長期間にわたって高いままである場合、コンピューティングノードを追加することを推奨します。 CPUとメモリのリソースが不足しているが、I/O使用率が低い場合は、パフォーマンスのボトルネックにすばやく対処するために、ノードの仕様をアップグレードすることを推奨します。
ディスクの使用量が多く、コンピューティングリソースが十分な場合は、ノードの仕様をアップグレードするときに、コンピューティングノードのストレージ容量を増やすだけです。 これにより、計算ノードを追加する必要がなくなり、コストを節約できます。
リソースの設定を高から低に変更するには、ノードの仕様をダウングレードすることを推奨します。 ノードの仕様をさらに下げることができない場合は、計算ノードを削除します。
設定の変更に必要な時間
ノード仕様のアップグレードまたはダウングレードには、約10分かかります。 計算ノードの追加または削除に必要な時間は、インスタンスリソースの種類によって異なります。
Elasticストレージモード
計算ノード数の変更に要する時間は、30分から数十時間程度である。 正確な時間は、テーブルの数、パーティションの数、インデックスの数、圧縮ステータス、合計データサイズ、インスタンスの仕様など、さまざまな要因によって異なります。 計算ノード数の変更に必要な推定時間は、次の式を使用して計算できます。
推定所要時間 (分)=合計データサイズ (GB)/1.25 /変更後のノード数 + 予約時間。
予約時間は、リソースアプリケーションなどのステップの実行時間を含む。 予約時間は30分に固定されています。 たとえば、AnalyticDB For PostgreSQLインスタンスのデータサイズが1テラバイトから16の計算ノード数の増加に必要な推定時間は、次の式を使用して計算できます。1024/1.25/16 + 30 = 81分。
説明エラスティックストレージモードのインスタンスにコンピュートノードを追加する場合は、次の項目に注意してください。
マイナーバージョンが6.6.2.0より前のエラスティックストレージモードのAnalyticDB For PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0より前のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスの場合、再配布状態のテーブルの書き込みに失敗するか、一時的に読み取りに失敗することがあります。 後でもう一度試すことができます。
マイナーバージョンが6.6.2.0以降のエラスティックストレージモードのAnalyticDB For PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスの場合、データの読み取りと書き込みは中断されません。
サーバーレスモード
データを移行することなく、計算ノードの数を数分以内に変更することで、AnalyticDB for PostgreSQLインスタンスをサーバーレスモードでスケーリングできます。 スケーリング速度は、リソースに適用するのに必要な時間に基づいて変化し、データサイズの影響を受けません。 参考のために、次のスケーリングパフォーマンスが提供されます。
16個以下の計算ノードを持つインスタンスは、60秒以内にスケーリングできます。
16を超える計算ノードを持つインスタンスは、5分以内にスケーリングできます。
計算ノード設定の変更
計算ノードの追加
エラスティックスケーリング機能を使用すると、ビジネスが正常に実行され、コンピューティングノードの設定を変更するときにデータベース内のすべてのテーブルでデータの読み取りと書き込みが中断されなくなります。 マイナーバージョンが6.6.2.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスにコンピュートノードを追加すると、エラスティックスケーリング機能がサポートされます。 以下の点にご注意ください。
コンピューティングノードの設定を変更すると、すべてのテーブルでデータの再配布が順番に実行されます。 再配布状態にないテーブルは影響を受けません。 再配布状態のテーブルは、すべてのクエリ操作とINSERT、COPY、DELETE、およびUPDATEステートメントをサポートしますが、DDLステートメントとVACUUMステートメントはサポートしません。 TRUNCATE TABLEなどのDDLステートメントを実行すると、次のコードに示すようにエラーが返されます。
TRUNCATE t1;
ERROR: Unsupport 'TRUNCATE TABLE' command during online expansion on 't1'
のオンライン拡張中に「TRUNCATE TABLE」コマンドをサポートしない
大量のデータを書き込んだり更新したりすると、コンピュートノードの設定を変更するのに時間がかかります。 データが特定のテーブルに頻繁に書き込まれる場合、テーブルに書き込みロックが追加され、計算ノード構成の変更が高速化されます。 エラスティックスケーリング機能をサポートするエラスティックストレージモードのAnalyticDB for PostgreSQLインスタンスにコンピューティングノードを追加すると、AnalyticDB for PostgreSQLコンソールでスケーリングの進行状況を確認できます。
以前のバージョンのインスタンスにコンピュートノードを追加すると、エラスティックスケーリング機能はサポートされません。 これにより、テーブルの読み取りおよび書き込みが中断される可能性があります。 そのため、ピーク時間外に操作を実行することを推奨します。
AnalyticDB for PostgreSQLコンソールにログインします。
コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけて選択します。 で、アクション列を作成します。
[情報] ダイアログボックスで、この操作の影響を認識しており、構成変更操作を継続することに同意します。 [OK] をクリックします。
説明この手順は、サーバーレスモードのインスタンスでのみ使用できます。
On theアップグレード /ダウングレードページの値を選択します。計算ノードビジネス要件に基づいてパラメーターを設定し、利用規約を読んで選択し、今すぐ購入.
警告マイナーバージョンが6.6.2.0より前のエラスティックストレージモードのAnalyticDB For PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0より前のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスの場合、再配布状態にあるテーブルは、コンピューティングノードの数を変更した場合にのみ読み取ることができます。 マイナーバージョンが6.6.2.0以降のエラスティックストレージモードのAnalyticDB For PostgreSQL V6.0インスタンス、またはマイナーバージョンが7.0.5.0以降のエラスティックストレージモードのAnalyticDB for PostgreSQL V7.0インスタンスの場合、再配布状態にあるテーブルは、コンピューティングノードの数を変更すると読み書きできます。 データの再配布に必要な時間は、テーブルのサイズによって異なります。 適切な期間中にこの操作を実行します。
サーバーレスモードのインスタンスの場合、計算ノードの数を変更するリクエストを送信すると、現在のSQL文が中断されます。 これらのSQL文は、変更後も再開できません。
に戻ります。Return to theインスタンスページを開き、インスタンスがランニング状態になります。
次のSQL文を実行して、高いパフォーマンス要件を持つテーブルからデータをプリフェッチし、データアクセスを高速化できます。
SELECT count(*) FROM <hot_table>;
説明データプリフェッチは、サーバーレスモードのインスタンスにのみ必要です。
コンピューティングノードの数を変更すると、次の手順が実行されます。リソースが初期化され、システムテーブルに関するメタデータが同期され、リソースがロックされてデータ配布情報が変更され、リソースがロック解除されてクリアされ、ローカルキャッシュが非同期で復元されます。 ローカルキャッシュのヒット率は、ローカルキャッシュが非同期的に復元されるため、短期間は低いままです。 データをプリフェッチして、データアクセスを高速化できます。
計算ノードの削除
エラスティックストレージモードでインスタンスからコンピュートノードを削除する場合は、スケーリング後のインスタンス容量が元のインスタンスデータを格納するのに十分であることを確認してください。 スケーリング期間中は、インスタンスに対して更新または書き込み操作を実行しないことを推奨します。
AnalyticDB for PostgreSQLコンソールにログインします。
コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけて選択します。 で、アクション列を作成します。
[情報] ダイアログボックスで、この操作の影響を認識しており、構成変更操作を継続することに同意します。 [OK] をクリックします。
アップグレード /ダウングレードページの値を選択します。計算ノードビジネス要件に基づいてパラメーターを設定し、利用規約を読んで選択し、今すぐ購入.
警告エラスティックストレージモードのインスタンスの場合、再配布状態にあるテーブルは、計算ノードの数を変更した場合にのみ読み取ることができます。 データの再配布に必要な時間は、テーブルのサイズによって異なります。 適切な期間中にこの操作を実行します。
サーバーレスモードのインスタンスの場合、計算ノードの数を変更するリクエストを送信すると、現在のSQL文が中断されます。 これらのSQL文は、変更後も再開できません。
インスタンスページを開き、インスタンスがランニング状態になります。
次のSQL文を実行して、高いパフォーマンス要件を持つテーブルからデータをプリフェッチし、データアクセスを高速化できます。
ノード仕様のアップグレード
AnalyticDB for PostgreSQLコンソールにログインします。
コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけて選択します。 で、アクション列を作成します。
アップグレード /ダウングレードページで、次の表で説明するパラメーターを設定します。
パラメーター
説明
インスタンスリソースタイプ
現在のインスタンスのリソースタイプ。変更できません。
計算ノードの仕様
ビジネス要件に基づいてノード仕様を選択します。
シングルノードストレージ容量
ビジネス要件に基づいて、ノードごとのストレージ容量を選択します。
警告ノードの仕様を変更した場合にのみ、データを読み取ることができます。 適切な期間中にこの操作を実行します。
ストレージ容量を変更しても、データの読み取りと書き込みは影響を受けません。
利用規約を読んで選択し、今すぐ購入.
インスタンスページを開き、インスタンスがランニング状態になります。
ノード仕様のダウングレード
AnalyticDB for PostgreSQLコンソールにログインします。
コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけて選択します。 で、アクション列を作成します。
ダウングレードページで、次の表で説明するパラメーターを設定します。
パラメーター
説明
インスタンスリソースタイプ
現在のインスタンスのリソースタイプ。変更できません。
計算ノードの仕様
ビジネス要件に基づいてノード仕様を選択します。
シングルノードストレージ容量
ノードごとのストレージ容量をダウングレードすることはできません。
説明このパラメーターは、エラスティックストレージモードのBasic Editionインスタンスでは使用できません。
警告ノードの仕様を変更した場合にのみ、データを読み取ることができます。 適切な期間中にこの操作を実行します。
ストレージ容量を変更しても、データの読み取りと書き込みは影響を受けません。
利用規約を読んで選択し、今すぐ購入.
インスタンスページを開き、インスタンスがランニング状態になります。