AnalyticDB for PostgreSQL のデータサイズとコンピューティングワークロードが増加すると、CPU、メモリ、ディスクストレージ、計算ノードなどの計算リソースが不足し、データ処理速度がボトルネックになる可能性があります。この場合、ビジネス要件に基づいて、計算ノードの仕様と計算ノード数を変更できます。
次の表に、AnalyticDB for PostgreSQL のさまざまな [リソースタイプ] で構成変更がどのようにサポートされるかを示します。
操作 | サーバーレスモード | ストレージ弾力性モード |
ノード仕様のスペックアップ | 非サポート | サポート |
ノード仕様のスペックダウン | 非サポート | サポート |
計算ノードの追加 | サポート | サポート |
計算ノードの削除 | サポート | サポート |
使用上の注意
ストレージ弾力性モードの 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 分かかります。計算ノードの追加または削除に必要な時間は、インスタンスのリソースタイプによって異なります。
ストレージ弾力性モード
計算ノード数の変更に必要な時間は、約 30 分から数十時間です。正確な時間は、テーブル数、パーティション数、インデックス数、圧縮ステータス、合計データサイズ、インスタンスの仕様など、さまざまな要因によって異なります。計算ノード数の変更に必要な推定時間は、次の数式を使用して計算できます。
推定所要時間 (分) = 合計データサイズ (GB)/1.25/変更後のノード数 + 予約時間。
予約時間には、リソース申請などのステップの実行時間が含まれます。予約時間は 30 分に固定されています。たとえば、データサイズが 1 TB の AnalyticDB for PostgreSQL インスタンスの計算ノード数を 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: 't1' のオンライン拡張中に 'TRUNCATE TABLE' コマンドはサポートされていません大量のデータが書き込まれたり更新されたりすると、計算ノードの構成を変更するのに時間がかかります。スケーリングを高速化するために、書き込みが頻繁に行われるテーブルは再配布中に書き込みロックされ、読み取り/書き込みアクセスに短時間影響します。弾力性のあるスケーリング機能をサポートするストレージ弾力性モードの AnalyticDB for PostgreSQL インスタンスに計算ノードを追加する場合、AnalyticDB for PostgreSQL コンソールでスケーリングの進行状況を表示できます。
以前のバージョンのインスタンスに計算ノードを追加する場合、弾力性のあるスケーリング機能はサポートされていません。これにより、テーブルの読み取りと書き込みが中断される可能性があります。この操作は、オフピーク時に実行することをお勧めします。
- AnalyticDB for PostgreSQL コンソールにログインします。
- コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけ、[アクション] 列で を選択します。
[情報] ダイアログボックスで、この操作の影響を認識しており、構成変更操作を継続することに同意します。 を選択し、[OK] をクリックします。
説明このステップは、サーバーレスモードのインスタンスでのみ必要です。
[スペックアップ/スペックダウン] ページで、ビジネス要件に基づいて [計算ノード] パラメーターの値を選択し、サービス利用規約を読んで選択し、[今すぐ購入] をクリックします。
警告計算ノードのスケーリング中:
V6.0 (<6.6.2.0) / V7.0 (<7.0.5.0): 再配布中のテーブルは読み取り専用です
V6.0 (≥6.6.2.0) / V7.0 (≥7.0.5.0): 再配布中のテーブルは書き込み可能なままです
データの再配布に必要な時間は、テーブルサイズによって異なります。この操作は適切な期間に実行してください。
サーバーレスモードのインスタンスの場合、計算ノード数の変更をリクエストすると、現在の SQL 文は中断され、再開できません。
[インスタンス] ページに戻り、インスタンスが [実行中] 状態になるのを待ちます。
この SQL 文を実行して、パフォーマンス専有型テーブルをプリウォームします。
SELECT count(*) FROM <hot_table>;説明データプリフェッチは、サーバーレスモードのインスタンスでのみ必要です。
テーブルのプリウォームにより、データアクセスが高速化されます。
キャッシュの復元は非同期であるため、ノードのスケーリング直後はローカルキャッシュヒット率が低いままです。その他のスケーリング段階は次のとおりです。
リソースの初期化
システムテーブルのメタデータの同期
ロックの適用とデータ分布の変更
ロックの解放とリソースのクリーンアップ
計算ノードの削除
ストレージ弾力性モードのインスタンスから計算ノードを削除する場合は、スケール後のインスタンス容量が元のインスタンスデータを格納するのに十分であることを確認してください。スケーリング期間中は、インスタンスに対して更新または書き込み操作を実行しないことをお勧めします。
- AnalyticDB for PostgreSQL コンソールにログインします。
- コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけ、[アクション] 列で を選択します。
[情報] ダイアログボックスで、この操作の影響を認識しており、構成変更操作を継続することに同意します。 を選択し、[OK] をクリックします。
[スペックアップ/スペックダウン] ページで、ビジネス要件に基づいて [計算ノード] パラメーターの値を選択し、サービス利用規約を読んで選択し、[今すぐ購入] をクリックします。
警告ストレージ弾力性モードのインスタンスの場合、計算ノード数を変更すると、再配布状態のテーブルは読み取り専用になります。データの再配布に必要な時間は、テーブルサイズによって異なります。この操作は適切な期間に実行してください。
サーバーレスモードのインスタンスの場合、計算ノード数の変更をリクエストすると、現在の SQL 文は中断されます。これらの SQL 文は、変更後も再開できません。
[インスタンス] ページに戻り、インスタンスが [実行中] 状態になるのを待ちます。
この SQL 文を実行して、パフォーマンス専有型テーブルをプリウォームします。
ノード仕様のスペックアップ
- AnalyticDB for PostgreSQL コンソールにログインします。
- コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけ、[アクション] 列で を選択します。
[スペックアップ/スペックダウン] ページで、次の表で説明されているパラメーターを構成します。
パラメーター
説明
インスタンスリソースタイプ
現在のインスタンスのリソースタイプ。変更できません。
計算ノードの仕様
ビジネス要件に基づいてノード仕様を選択します。
単一ノードのストレージ容量
ビジネス要件に基づいてノードあたりのストレージ容量を選択します。
警告ノード仕様を変更する場合、データは読み取り専用になります。この操作は適切な期間に実行してください。
ストレージ容量を変更しても、データの読み取りと書き込みには影響しません。
サービス利用規約を読んで選択し、[今すぐ購入] をクリックします。
[インスタンス] ページに戻り、インスタンスが [実行中] 状態になるのを待ちます。
ノード仕様のスペックダウン
- AnalyticDB for PostgreSQL コンソールにログインします。
- コンソールの左上隅で、リージョンを選択します。
管理するインスタンスを見つけ、[アクション] 列で を選択します。
[スペックダウン] ページで、次の表で説明されているパラメーターを構成します。
パラメーター
説明
インスタンスリソースタイプ
現在のインスタンスのリソースタイプ。変更できません。
計算ノードの仕様
ビジネス要件に基づいてノード仕様を選択します。
単一ノードのストレージ容量
ノードあたりのストレージ容量はスペックダウンできません。
説明このパラメーターは、ストレージ弾力性モードの Basic Edition インスタンスでは使用できません。
警告ノード仕様を変更する場合、データは読み取り専用になります。この操作は適切な期間に実行してください。
ストレージ容量を変更しても、データの読み取りと書き込みには影響しません。
サービス利用規約を読んで選択し、[今すぐ購入] をクリックします。
[インスタンス] ページに戻り、インスタンスが [実行中] 状態になるのを待ちます。