このドキュメントでは、Spanner Omni が提供するストレージ使用率の指標について説明します。
ストレージ指標
ストレージ指標は、Spanner Omni コンソールを使用して表示できます。詳細については、Spanner Omni コンソールを使用するをご覧ください。
Spanner Omni には、次のストレージ指標が用意されています。
ストレージ容量: ファイル システムの合計ストレージ容量と使用可能なストレージ容量。これは、Spanner Omni コンソールの [概要] ダッシュボードで確認できます。Spanner Omni ファイル システム ダッシュボードには、ゾーン別の内訳が表示されます。
データベースで使用されるストレージ: 各データベースで使用される非レプリケートの物理バイト数。これは、Spanner Omni コンソールの System Insights ダッシュボードで確認できます。
マルチバージョン方式のストレージ
ストレージ指標を使用してデータのサイズを定期的に確認している場合、予期しない結果が表示されることがあります。たとえば、最近データを削除していないにもかかわらず、データベースの合計ストレージ容量が目に見えて減っているといったケースです。逆に、大幅な削除を行った後は、サイズは比較的変化しないことがあります。
これらの影響は、Spanner Omni のマルチバージョン ストレージのサポートに起因しています。マルチバージョン ストレージでは、削除または上書きしたすべてのデータがストレージに保持され、期間限定で、以前のステイル読み取りやポイントインタイム リカバリなどのデータ値を読み取ることができます。大規模なデータ削除の実行
データベースのストレージ指標にすぐに反映されません。同様に、データベースの合計サイズが予期せず減少した場合は、Spanner Omni の定期的なデータ圧縮プロセスによって、数日前に削除または上書きされた大量のデータがクリーンアップされたことを意味している可能性があります。
デフォルトでは、この間隔は 1 時間です。これにより、バックグラウンドのプロセスが定期的に実行され、このバージョン保持期間よりも古いデータはすべて完全に削除されます。
スプリットの効果
負荷が高い期間やホットスポットが発生している期間中、Spanner Omni は分割を使用して、プロビジョニングされたコンピューティング リソース全体に CPU 使用率を分散します。分割の副作用として、ストレージ使用率が一時的に増加します。分割されるデータについては、毎週行われる圧縮サイクルの過程で、Spanner Omni は圧縮処理が分割を縮小して余分なデータコピーを破棄するまでの間に、一時的に分割元の範囲のコピーを最大で 2 つ保持することがあります。
ストレージの統計情報
Spanner Omni に取り込んだすべてのデータは、数分後にストレージ統計情報に表示されます。ただし、場合によっては、データは読み取り可能で、書き込み先行ログなどの手法によって永続化されていても、ストレージ使用量の統計に反映されるまでに数日かかることがあります。
これは、取り込まれたデータ(耐久性と復元のために commit 中にログに記録されたコピーを除く)が一時的にメモリに保存されるためです。Spanner Omni は、このデータをバックグラウンドで物理ストレージに書き込みます。メモリに保持できるデータの量と、Spanner Omni が物理ストレージに書き込むまでメモリに保持される時間は、コンピューティングのサイズとワークロードのサイズとパフォーマンスによって異なります。
ストレージ アラートを作成する
Spanner Omni デプロイの場合、Prometheus アラートでは次のストレージ使用率のしきい値が使用されます。
SpannerStorageUtilizationWarning: サーバーのストレージ使用率が高い(80%)場合に警告します。SpannerStorageUtilizationCritical: サーバー上の重要なストレージ(90%)のアラート。SpannerStoragePerVCPUTooHigh: vCPU あたりのストレージが 500 GB を超えると警告します。
データベース ストレージ使用率に関する推奨事項
データベース ストレージは vCPU あたり 500 GB 未満にすることをおすすめします。これにより、Spanner Omni で正常に動作し、データに対して日常的なメンテナンスを行うのに十分な空き容量が確保されます。
上限に近づくと、Spanner Omni は、たとえば次のような上限を超えるオペレーションを実行できなくなる可能性があります。
バックアップからのデータベースの復元
データベースのスキーマの修正(たとえば、インデックスの追加)
デプロイのコンピューティング容量を削減する。
ストレージの上限を超えると、Spanner Omni は正常に動作しようとしますが、リソース不足によるパフォーマンスの低下や、エラーが生じる場合があります。
データベース ストレージ使用率を削減する
デプロイのデータベース ストレージ使用率を削減するには、次の操作を行います。
コンピューティング容量を追加します。
Spanner Omni CLI を使用して、使用されていないデータベースを削除します。
Spanner Omni CLI を使用して、データベースからデータを削除します。データの削除は、データの可視性の観点からはすぐに有効になりますが、Spanner Omni がデータを圧縮するまでストレージ使用率の指標に影響しないことがあります。通常、データの削除が大幅な場合は 12 時間以内、それ以外の場合は 1 週間以内に圧縮されます。したがって、データを削除してから指標に反映されるまで、しばらく時間がかかることがあります。
これらのオペレーションは、Spanner Omni CLI を使用して実行します。
一般に、まずデプロイにコンピューティング容量を追加することをおすすめします。コンピューティング容量を追加することで、ストレージ使用率が高い根本原因を調査し、対処できるようになります。