ApsaraDB RDS のストレージ容量に関する一般的な質問 (拡張動作、課金、高い使用率のトラブルシューティング、ディスク領域の解放など) について説明します。
データを移行せずにストレージ容量を拡張できますか。どのような影響がありますか。
ホストに依存します。インスタンスが実行されているホストに十分な空きリソースがある場合、ストレージはインプレースで拡張され、データ移行は発生しません。ホストが追加のストレージに対応できない場合、システムは十分な容量を持つ新しいホストをプロビジョニングし、データを新しいインスタンスに自動的に移行します。
ストレージの拡張方法と、そのプロセス中に接続の瞬断が発生するかどうかの詳細については、以下をご参照ください。
ストレージ拡張の課金ルールはどのようになっていますか。
ストレージ容量を拡張すると、インスタンス料金もそれに応じて変更されます。詳細については、「設定変更の課金詳細」をご参照ください。
ストレージ使用量の急増はどのようにトラブルシューティングしますか。
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部メニューで、インスタンスが存在するリージョンを選択します。対象のインスタンスを見つけて、その ID をクリックします。
左側メニューで、[モニタリングとアラート] をクリックします。データタイプ別のストレージ使用量の内訳と、使用量の推移を確認します。
ファイルを削除してストレージを解放するにはどうすればよいですか。
ストレージを消費している原因に応じて、以下のトピックをご参照ください。
空のデータベースを作成しましたが、すでにストレージを占有しています。なぜですか。
初期化時に 2 つの処理が発生します。1 つは、アカウントと権限データを格納するためのシステムテーブルの作成、もう 1 つは、REDO ログや UNDO ログなどのデータベースエンジンによる内部ログの生成です。どちらも、ユーザーデータが追加される前からストレージを消費します。
別のデータベースから移行した後、MySQL が移行元のデータベースよりも多くのストレージを使用するのはなぜですか。
データベースのストレージエンジンによってデータの扱い方は異なります。MySQL のストレージ動作は、圧縮設定やインデックス構造などの要因に影響されますが、これらは他のエンジンのものと直接対応するわけではありません。同じデータセットでも、移行先エンジンがデータをどのように格納し、インデックスを作成するかによって、インポート後により多くの領域を占有することがあります。
ストレージ容量にはバックアップストレージも含まれますか。
いいえ。[基本情報] ページの [使用統計] セクションに表示される [ストレージ容量] の値は、インスタンスのストレージのみをカウントし、バックアップストレージは含まれません。バックアップストレージの使用状況を確認するには、「バックアップファイルのサイズの表示と管理」をご参照ください。
ストレージが枯渇した後、インスタンスがロック状態になるまでどのくらいの時間がかかりますか。どうすればよいですか。
ストレージが枯渇すると、インスタンスは自動的にロックされ、ロック状態 になります。ロックは即時ではない場合があり、検査メカニズムによってはわずかな遅延が発生することがあります。ロックされると、書き込み操作はブロックされます。
この状態になるのを避けるため、ストレージが枯渇する前にアラートを設定してください。詳細については、「アラートの設定」をご参照ください。予防策として、自動ストレージ拡張を有効にすると、ストレージ使用率がしきい値に達したときにシステムが自動的に容量を拡張します。
自動ストレージ拡張を有効にするには:
RDS for MySQL インスタンスの場合、アクティブなデフラグメンテーションを有効にして、手動介入なしで断片化された領域を再利用することもできます。
インスタンスがすでにロックされている場合は、「ApsaraDB RDS インスタンスがロック状態にある場合の対処法」で回復手順をご確認ください。
SQL Server で大量のデータを削除した後、ディスク領域が解放されないのはなぜですか。
SQL Server で DELETE を実行しても、ディスク領域はすぐには解放されません。DELETE の後も割り当てられた領域が残るのは、3 つのメカニズムが原因です。
現象 | 理由 |
トランザクションログの増大 |
|
データページの割り当て維持 | SQL Server は、削除されたデータページをすぐに解放するのではなく、再利用可能 としてマークします。これにより、頻繁な物理ディスクの再利用を避け、将来の挿入を高速化します。 |
インデックスとテーブルの断片化 | 削除された行は、テーブルとインデックスにギャップを残します。データベースは、その断片化された領域を引き続き割り当て済みと見なします。 |
ディスク領域を解放するには、状況に応じて以下の 1 つ以上のアプローチを試してください。
データベースまたはファイルグループファイルの圧縮 —
DBCC SHRINKDATABASEまたはDBCC SHRINKFILEを実行してデータファイルを圧縮し、未使用の領域をファイルシステムに返します。重要このプロセスには時間がかかる場合があり、頻繁な圧縮操作は RDS インスタンスのパフォーマンスに悪影響を与える可能性があります。ガイダンスについては、「SQL Server インスタンスがストレージ領域満杯時にロックされる問題の解決」または「ApsaraDB RDS for SQL Server インスタンスのストレージ領域不足問題のトラブルシューティング」をご参照ください。
インデックスの再構築 — 大量の削除後、インデックスはしばしば断片化します。インデックスを再構築すると、データページが再編成され、割り当てられた領域が解放され、クエリ効率が向上します。
トランザクションログのバックアップ — 完全復旧モデルを使用するデータベースの場合、定期的なトランザクションログのバックアップにより、データベースはコミットされたログエントリを切り捨て、それらが占有していた領域を解放できます。詳細については、「ログの管理」をご参照ください。
DELETEの代わりにTRUNCATE TABLEを使用 —TRUNCATE TABLEは、大規模なトランザクションログを生成せずにデータページを即座に解放するため、テーブルからすべての行を削除するのに非常に効率的です。重要TRUNCATE TABLEは元に戻すことができず、WHERE句をサポートしていません。すべての行を削除する場合にのみ使用してください。
ストレージを拡張すると、無料のバックアップストレージクォータも増加しますか。
はい。無料のバックアップストレージクォータはインスタンスのストレージ容量に連動しているため、ストレージを拡張するとクォータも増加します。
ディスクタイプ | 無料のバックアップストレージクォータ |
クラウドディスク | ストレージ容量の 200% |
プレミアムローカル SSD | ストレージ容量の 50% |
クォータは GB 単位で測定され、常に最も近い整数に切り上げられます。