スケーリング
クラスタのスケーリングとは、クラスタのワークロードまたはデータ ストレージのニーズの変化に応じて、クラスタにノードの追加または削除を行うプロセスです。
Bigtable クラスタは次の方法でスケーリングできます。
- 自動スケーリング
- 手動ノード割り当て
ほとんどの場合、自動スケーリングを選択します。クラスタの自動スケーリングを有効にすると、Bigtable はクラスタを継続的にモニタリングし、設定に基づいてノード数を自動的に調整します。
クラスタの CPU 使用率などの指標に基づいて Bigtable クラスタをスケーリングできます。たとえば、クラスタの負荷が大きく、CPU 使用率が極めて高い場合は、CPU 使用率が下がるまでクラスタにノードを追加できます。また、クラスタの使用率が高くないときにノードを削除すれば、コストを節約できます。
制限事項
次の制限事項にご注意ください。
ノードの可用性
クラスタで手動ノード割り当てが有効か、自動スケーリングが有効かにかかわらず、ノードの割り当てが適用されます。詳細については、割り当てとノードの可用性をご覧ください。
ノードの再調整中に発生する遅延
クラスタにノードを追加した後、クラスタのパフォーマンスが大幅に向上するまでに、負荷のかかった状態が最大 20 分間続く可能性があります。そのため、短期的にアクティビティが増大するワークロードでは、CPU 負荷が上昇した後でクラスタにノードを追加しても、Cloud Bigtable がデータをリバランスし終わるまでにアクティビティの急増が終了してしまうので、パフォーマンスは向上しません。
この遅延に対応するには、クラスタの負荷が増加する前に、プログラムまたは Google Cloud コンソール を使用してクラスタにノードを追加します。これにより、ワークロードが増加する前に、Bigtable が追加ノード間でデータの再調整を完了できるようになります。ノードの手動割り当てを使用しているクラスタでは、ノード数を変更します。自動スケーリングを使用しているクラスタでは、ノードの最小数を変更します。トラフィックが正常な状態に戻ったら、ノードの設定を元に戻します。
スケールダウンが速すぎることによるレイテンシの増加
クラスタ内のノード数を減らしてスケールダウンする場合、10 分間に 10% を超えるクラスタサイズの縮小は行わないようにしてください。スケールダウンが速すぎると、クラスタ内の残りのノードが一時的に過負荷になる場合にレイテンシが増加するなど、パフォーマンス上の問題が発生する可能性があります。
スキーマ設計に関する問題
テーブルのスキーマ設計に問題がある場合は、Bigtable クラスタにノードを追加してもパフォーマンスが向上しないことがあります。たとえば、テーブル内の 1 つの行に対して多数の読み取りまたは書き込みを行うと、すべての読み取りまたは書き込みがクラスタの同じノードで行われるため、ノードを追加してもパフォーマンスは向上しません。一方、読み取りや書き込みがテーブル内の複数の行に均等に分散している場合は、ノードの追加によって一般にパフォーマンスが向上します。
Bigtable を効果的にスケーリングできるスキーマを設計する方法について詳しくは、スキーマの設計をご覧ください。
次のステップ
- Bigtable の自動スケーリングについて学習する。
- プログラムまたは Google Cloud コンソールでインスタンスをモニタリングする方法を確認する。