Cloud SQL Second Generation のストレージ ダイアログでは、クールな新機能 “Enable automatic storage increase”(ストレージ自動拡張の有効化)を設定できます。


この設定を有効にすると、利用できるデータベース ストレージが 30 秒ごとにチェックされ、必要に応じてデータベースのサイズが 5 GB ~ 25 GB の範囲で拡張されます。つまり、将来のデータベースの拡張に備えてストレージをプロビジョニングする必要はなく、データベースの成長に歩調を合わせた形でストレージ容量を追加できます。


Cloud SQL のストレージ自動拡張機能には 2 つの大きなメリットがあります。


  1. データベースが必要に応じて拡張されれば、データベースの容量を使い尽くすリスクが低減され、そのぶんアプリケーションのダウンタイムも短くなります。容量決定の際に当て推量が不要になり、しかもダウンタイムが発生したりデータベースのメンテナンスが必要になったりすることはありません。
  2. 徐々にサイズが大きくなるデータベースを管理している場合、この機能によって使用料をかなり節約できます。あらかじめ大量のスペースをプロビジョニングするのではなく、必要に応じてストレージを拡張できるからです。つまり、実際に使用しているぶんに若干のマージンを上乗せした額を支払えば済みます。



ドキュメントによると、Cloud SQL は次の方法で追加容量を決定します。


しきい値のサイズとインスタンスに追加されるストレージの容量は、現在のインスタンスにプロビジョニングされているストレージの容量によって決まり、最大で 25 GB になります。そこで、現在のストレージ容量を 25 で割り、その結果の端数を切り捨てて整数にします。そして、その値に 5 GB を加えます。すると、それがしきい値のサイズになり、利用可能ストレージがしきい値よりも小さくなったときに追加されるストレージ容量になります。


これを JavaScript の数式で表現すると、次のようになります(単位 : GB)。


Math.min((Math.floor(currentCapacity/25) + 5),25)


以下は、現在の容量に対するしきい値、および自動的に追加される容量がどれくらいなのかをまとめた表です。

現在の容量
しきい値
自動的に追加される容量
50GB
7GB
7GB
100GB
9GB
9GB
250GB
15GB
15GB
500GB
25GB
25GB
1000GB
25GB
25GB
5000GB
25GB
25GB



Cloud SQL Second Generation で実行中のデータベース インスタンスがすでに存在すれば、この機能をすぐに有効にすることができます。


* この投稿は米国時間 9 月 21 日、Head of Developer Advocacy である Greg Wilson によって投稿されたもの(投稿はこちら)の抄訳です。


- Posted by Greg Wilson, Head of Developer Advocacy