Cloud Bigtableは、Google Cloud Platform(GCP)上の大規模な運用および分析処理向けの、フルマネージドでスケーラブルなNoSQLデータベースサービスである。そして最近、このパブリッククラウドプロバイダーは、Bigtable Autoscalingの一般向け提供を発表した。これにより、アプリケーションの需要の変化に応じて、容量が自動的に追加、削除され、コストの最適化ができるようになる。
Bigtableの自動スケーリングにより、使用要求の変化に基づいて、クラスター内のノード数が自動的にスケールアップまたはスケールダウンされる。その結果、プロビジョニングが過剰になり、不要なコストが発生したり、プロビジョニングが不足して、ビジネスチャンスを逃すリスクが軽減される。
以前は、Bigtableのスケーリングはプログラムで実行できた。BigtableのCloud Monitoring APIがいくつかのメトリックを公開しているためである。顧客は、クラスターのこれらのメトリックをプログラムで監視し、Bigtableクライアントライブラリの1つまたはgcloudコマンドラインツールを使って、現在のメトリックに基づいてノードを追加、削除できる。
今では、顧客はCloud Console、gcloud、Bigtable admin API、クライアントライブラリを介してBigtableクラスターの自動スケーリングを設定できる。プログラムで行う代わりに、Bigtable自動スケーリング設定でノードの最小数と最大数を設定できる。
Bigtable Autoscalingを深堀りするブログ投稿で、BigtableのディベロッパーアドボケートのBilly Jacobson氏とソフトウェアエンジニアのBigtableのJustin Uang氏が、自動スケーリング機能の有効化について説明している。
自動スケーリングは、既存のクラスターに対して有効にすることも、新しいクラスターで構成することもできます。2つの情報が必要になります。ターゲットCPU使用率と、ノード数を範囲内に保つための範囲です。複雑な計算、プログラミング、メンテナンスは必要ありません。注意すべき制約の1つは、範囲内の最大ノード数が最小ノード数の10倍を超えることはできないということです。ストレージ使用率は自動スケーリングのファクタですが、ストレージ使用率の目標はBigtableによってセットされ、設定することはできません。
自動スケーリングに加えて、Googleは、次のようなコストをさらに最適化し、管理オーバーヘッドを削減する機能も追加した。
- ストレージ量を2倍にすると、顧客はより多くのデータをより少ないコストで保存できるようになる。特に、最適化されたストレージ処理に役立つ。Bigtableノードは、SSDの場合はノードあたり5TB(2.5TBから)、HDDの場合はノードあたり16TB(8TBから)をサポートするようになった。
- クラスターグループは、より良い顧客体験を保証するために、どのようにして顧客がアプリケーショントラフィックをルーティングするかを決める柔軟性を提供する。たとえば、顧客はBigtableインスタンスを最大8つのリージョンにデプロイして、データをエンドユーザーのできるだけ近くに配置できる。
- より詳細な使用率メトリックにより、可観測性、トラブルシューティングの高速化、ワークロード管理を向上できる。たとえば、アプリプロファイルメトリックによる直近のCPU使用率には、メソッドとテーブルのディメンションが含まれる。これにより、BigtableクラスターのCPU使用率と、Bigtableインスタンスリソースがどのように使われたかをより詳細に観測できる。
最後に、自動スケーリング機能はすべてのBigtableリージョンで利用でき、HDDとSSDクラスターで機能する。