このトピックでは、ApsaraDB RDS インスタンスのストレージ容量に関してよく寄せられる質問とその回答をまとめています。
データ移行なしでストレージを拡張できますか?
ホストの状況によります。現在のホストに十分なストレージリソースがある場合は、データ移行を伴わず、インプレースでストレージを拡張できます。そうでない場合は、システムが別のホスト上に新しい RDS インスタンスを作成し、自動的にデータを移行します。
ストレージ拡張中に一時的な接続切断が発生する場合があります。エンジン固有の詳細については、以下のドキュメントをご参照ください。
ストレージ拡張による課金への影響は?
ストレージ拡張後、インスタンス料金が変更されます。詳細については、「構成変更に伴う課金の詳細」をご参照ください。
ストレージ使用量が急増した理由は?
データの型別および使用傾向の内訳を確認するには、モニタリングとアラート ページをご利用ください。
-
ApsaraDB RDS コンソール にログインし、インスタンス ページに移動します。ご利用の RDS インスタンスのリージョンを選択し、インスタンス ID をクリックします。
-
左側ナビゲーションウィンドウから モニタリングとアラート をクリックします。データの型ごとのストレージ使用量および使用傾向を確認できます。
ファイルを削除してストレージを解放する方法は?
ApsaraDB RDS for MySQL において、ストレージ不足は通常、以下の 4 つのカテゴリーのいずれかに該当します。関連するトラブルシューティングガイドをご参照ください。
空のデータベースでもストレージを使用する理由は?
初期化時に、アカウントおよび権限情報を格納するためのテーブルがシステムによって作成されます。また、リドゥログやアンダーログなどのデータベースシステムログもストレージを占有します。
他データベースエンジンからデータをインポートした後、MySQL のストレージ使用量が増加する理由は?
異なるストレージエンジンでは、データの処理方法が異なります。特定のフィールドに対する圧縮機能やインデックスの有無などにより、同じデータセットでも使用するストレージ量がエンジンによって異なります。
「ストレージ容量」の値にはバックアップストレージが含まれますか?
いいえ。「ストレージ容量」パラメーターは、インスタンスストレージのみを示しており、バックアップストレージは含まれません。この値を確認するには、ApsaraDB RDS コンソールでご利用の RDS インスタンスの 基本情報 ページを開き、「使用状況統計」セクションをご確認ください。
関連ドキュメント:「バックアップファイルのサイズの表示と管理」
ストレージが枯渇した場合の動作と、ロック解除方法は?
RDS インスタンスは自動的にロックされ、「ロック中」状態になります。検査メカニズムの関係で、ロックが実際に有効になるまで若干の遅延が発生する場合があります。ロック後は、RDS インスタンスへのデータ書き込みができなくなります。
ロック発生前の予防措置:
-
ストレージ不足前に通知を受け取るために、アラート設定 を行います。
-
使用率がしきい値に達した際に自動的にストレージをスケールアップするよう、自動ストレージ拡張を有効化します。
-
ApsaraDB RDS for MySQL インスタンスの場合、自動断片再利用機能 を有効化することで、断片を再利用し、ストレージ領域を解放できます。
すでにインスタンスがロックされている場合 は、「ApsaraDB RDS インスタンスが「ロック中」状態になった場合の対応方法」をご参照ください。
SQL Server でデータを削除してもディスク領域が解放されない理由は?
即座にディスク領域が解放されない主な要因は以下の 3 つです。
-
トランザクションログ:
DELETE操作は、データ整合性および回復可能性を確保するためにログに記録されます。そのため、データが削除された後も、これらのログは引き続きディスク領域を占有します。 -
解放されていないデータページ: SQL Server は、削除されたデータページを直ちに物理的に解放するのではなく、再利用可能な状態としてマークします。これにより、頻繁な物理ディスク操作を回避し、挿入性能が向上します。
-
テーブルおよびインデックスの断片化: データの削除により、テーブルおよびインデックス内に「穴」が生じます。データベースシステムは、このような断片化されたストレージ領域を依然として割り当て済みとみなします。
ディスク領域を解放する方法:
-
データベースまたはファイルグループの縮小。 使用していないディスク領域を解放するには、
DBCC SHRINKDATABASEまたはDBCC SHRINKFILEを実行します。重要縮小処理には時間がかかります。頻繁な縮小はパフォーマンスを低下させます。詳しくは、「ストレージ不足時の SQL Server インスタンスのロック解消方法」または「SQL Server におけるストレージ不足のトラブルシューティング」をご参照ください。
-
インデックスの再作成。 大規模な削除後にインデックスが断片化すると、データページを再編成することでディスク領域を解放し、クエリパフォーマンスを向上させることができます。
-
トランザクションログのバックアップ。 完全復元モードを使用しているデータベースでは、定期的にトランザクションログをバックアップしてログを切り捨て、ログ領域を解放します。「ログの管理」をご参照ください。
-
TRUNCATE TABLEをDELETEの代わりに使用。TRUNCATE TABLEは、大量のログを生成せずにデータページを即座に解放します。重要TRUNCATE TABLEは取り消しができず、WHERE句をサポートしません。
ワークロードに応じて、これらの方法を組み合わせることで、ディスク領域を効率的に最適化できます。
ストレージの拡張により、無料バックアップストレージのクォータは増加しますか?
はい。無料バックアップストレージのクォータは、インスタンスのストレージ容量に比例して増加します。
| ストレージタイプ | 無料バックアップクォータ |
|---|---|
| クラウドディスク | ストレージ容量の 200 % |
| プレミアムローカル SSD | ストレージ容量の 50 % |
クォータは GB 単位で算出され、小数点以下は切り上げられます。たとえば、クラウドディスクインスタンスのストレージ容量が 150 GB の場合、無料バックアップクォータは 300 GB となります。