このページでは、Spanner が提供するストレージ使用率の指標について説明します。
ストレージ指標
Spanner には、ストレージ指標として次のものが用意されています。
- データベース ストレージの合計容量: データベースまたはインスタンス内のデータベースに保存されるデータ量。これは保存容量の上限の対象です。
- バックアップ ストレージの合計容量: インスタンスまたはデータベースに関連付けられたバックアップで保存されるデータ量。バックアップ ストレージは別々に保存、課金されます。保存容量の制限はありません。
これらの指標のグラフは、Google Cloud コンソールまたは Cloud Monitoring コンソールで確認できます。
また、データベース ストレージの使用率は、Cloud コンソールの [インスタンス] ページと [インスタンスの詳細] ページに表示されます。
データの保持とストレージ サイズに関する注意事項
上述のストレージ指標を使用してデータのサイズを定期的に確認すると、予期しない結果が生じている可能性があります。たとえば、最近データを削除していない場合でも、報告されたデータベースの合計ストレージの容量が著しく減少していることがあります。逆に、大幅な削除を行った後は、サイズは比較的変化しないことがあります。
これらの影響は、Spanner のマルチバージョン ストレージのサポートに起因しています。 マルチバージョン ストレージでは、削除または上書きされたすべてのデータがストレージに保持されます。また、期間限定で、以前のステイル読み取りやポイントインタイム リカバリなどのデータ値を読み取ることができる機能が有効になります。大量のデータ削除を行っても、すぐにはデータベースのストレージ指標に反映されません。同様に、データベースの合計サイズが予期せず減少した場合は、Spanner の定期的なデータ圧縮プロセスによって、数日前に削除または上書きされた大量のデータが最近クリーンアップされたことを意味している可能性があります。
CSpanner では、version_retention_period
オプションで定義された時間内(デフォルトでは 1 時間)で、削除または上書きされたデータの継続的な有効性が保証されます。これにより、バックグラウンドのプロセスが数日ごとに自動的に実行され、このバージョン保持期間よりも古いデータはすべて完全に削除されます。
ストレージ アラートを作成する
ストレージ アラートを作成するには、Cloud Monitoring コンソールを使用します。また、Google Cloud コンソールから直接、データベース ストレージのアラートを作成する簡単な方法も提供します。グラフの [アラート ポリシーを作成] リンク(スクリーンショットを参照)によって、Cloud Monitoring Console の [アラートの作成] ページに移動し、関連するフィールドが自動的に事前入力されます。
データベース ストレージ使用率に関する推奨事項
データベース ストレージの合計はストレージの上限を超えないようにすることをおすすめします。これにより、Cloud Spanner で正常に動作し、データに対して日常的なメンテナンスを行うのに十分な空き容量が確保されます。
上限に近づくと、Spanner は、たとえば次のような上限を超えるオペレーションを実行できなくなる可能性があります。
- バックアップからのデータベースの復元
- データベースのスキーマの修正(たとえば、インデックスの追加)
- インスタンスのコンピューティング容量の削減
ストレージの上限を超えると、Spanner は正常に動作しようとしますが、リソース不足によるパフォーマンスの低下や、エラーが生じる場合があります。推奨される最大値に近づくか超えると、影響されるインスタンスを表示した場合に、Google Cloud コンソールに「インスタンスが最大ストレージ容量に達したため、アクティビティが低下する可能性があります」という警告が表示されます。
また、Cloud Monitoring でアラートを作成して通知することもできます。
データベース ストレージ使用率を削減する
インスタンスのデータベース ストレージの使用量を削減するには、次のことを行います。
- より多くのコンピューティング容量を追加する
- データベースを削除します。
- データベースのデータを削除する。データの削除は、視覚的な観点での即効性はありますが、Spanner がデータを圧縮するまで(通常は 12 時間以内ですが、場合によってはそれ以上かかることもあります)ストレージ使用率の指標には影響しません。したがって、データが削除された後、指標に反映されるまで、しばらく時間がかかることがあります。
一般に、手始めにインスタンスにコンピューティング容量を追加することをおすすめします。コンピューティング能力を追加したら、ストレージ使用率が高くなる根本原因を調べて対処できます。
このプロセスを自動化する場合は、UpdateInstance
メソッドを使用して、データベース ストレージの使用率をモニタリングし、その後、必要に応じてコンピューティング容量を追加または削除するアプリケーションを作成できます。
次のステップ
- Google Cloud コンソール または Cloud Monitoring コンソールを使用してインスタンスをモニタリングします。
- Spanner 用のアラートを作成します。
- Spanner インスタンスのコンピューティング容量を変更する方法を調べる。