このトピックでは、ApsaraDB RDSインスタンスのストレージ容量に関するよくある質問に対する回答を提供します。
データ移行なしでRDSインスタンスのストレージ容量を拡張できますか。 拡張の影響は何ですか?
RDSインスタンスがデプロイされているホストが十分なストレージリソースを提供できる場合、データ移行は必要ありません。 ホストが十分なストレージリソースを提供できない場合、システムは十分なストレージリソースを提供できるホスト上にRDSインスタンスを作成し、RDSインスタンスのデータを必要なストレージ容量を持つ新しいRDSインスタンスに移行します。
RDSインスタンスのストレージ容量を拡張する方法と、拡張中に一時的な接続が発生するかどうかの詳細については、以下のトピックを参照してください。
ストレージ容量拡張の課金ルールは何ですか?
RDSインスタンスのストレージ容量を拡張すると、RDSインスタンスに発生する料金が変更されます。 詳細については、「 設定の変更に関する課金に関する詳細」をご参照ください。
ストレージ使用量の急激な増加をトラブルシューティングするにはどうすればよいですか?
ApsaraDB RDSコンソールにログインし、[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスIDをクリックします。
表示されるページの左側のナビゲーションウィンドウで、[モニタリングとアラート] をクリックします。 表示されるページで、さまざまなデータ型のストレージ使用量とストレージ使用量の傾向を表示します。
ファイルを削除してストレージを解放する方法?
RDSインスタンスに空のデータベースを作成しましたが、データベースはストレージを占有します。 これはなぜですか。
データベースが初期化されると、アカウントと権限に関する情報を格納するシステムテーブルが作成されます。 さらに、redoログやアンドゥログなどのデータベースシステムのログは、ストレージを占有します。
データが他の異種データベースからインポートされるときに、MySQLデータベースによってより多くのストレージが占有されるのはなぜですか?
異なるデータベースストレージエンジンは、異なる方法でデータを処理する。 たとえば、一部のフィールドの圧縮機能とインデックスがストレージの使用量に影響します。
RDSインスタンスのストレージ容量にバックアップストレージが含まれていますか。
[ストレージ容量] パラメーターの値は、バックアップストレージをカウントしません。 このパラメーターの値を表示するには、次の操作を実行します。ApsaraDB RDSコンソールにログインし、RDSインスタンスの [基本情報] ページに移動し、[使用状況統計] セクションで [ストレージ容量] パラメーターを見つけます。 バックアップストレージの使用状況の詳細については、「バックアップファイルのサイズの表示と管理」をご参照ください。
RDSインスタンスのストレージ容量が使い果たされた後、RDSインスタンスがロック状態になるまでにどれくらい時間がかかりますか。
RDSインスタンスのストレージ容量が使い果たされると、RDSインスタンスは自動的にロックされ、ロック状態になります。 ただし、RDSインスタンスは、インスペクションメカニズムにより特定のレイテンシでロックされる可能性があります。
RDSインスタンスがロックされている場合、RDSインスタンスにデータを書き込むことはできません。 RDSインスタンスのストレージ容量が使い果たされる前にRDSインスタンスがロックされないようにアラートを設定することを推奨します。 詳細については、「アラートの設定」をご参照ください。 さらに、RDSインスタンスの自動ストレージ拡張を設定できます。 RDSインスタンスのストレージ使用量がしきい値に達すると、システムは自動的にRDSインスタンスのストレージ容量を拡張します。 詳細については、以下のトピックをご参照ください。
RDSインスタンスがMySQLを実行する場合、自動フラグメント再利用機能を有効にして、テーブルスペースフラグメントをリサイクルし、ストレージの無駄を減らすことができます。 詳細については、「自動フラグメント再利用機能の使用」をご参照ください。
SQL Serverを実行するRDSインスタンス上の大量のデータを削除した後、占有されているディスク領域が再利用されないのはなぜですか。
DELETE
ステートメントを実行して、SQL Serverを実行しているRDSインスタンス上の大量のデータを削除した後、占有されたディスク容量が再利用されない理由は、データベース管理システムの設計メカニズムとログに記録された動作に関連しています。
トランザクションログのレコード: データの一貫性とデータの復元性を確保するため、
DELETE
操作を含むすべての操作がログに記録されます。 この場合、RDSインスタンス上の特定の量のデータが削除されても、関連するログがディスク領域を占有し、ディスク使用量が増加する可能性があります。未リリースのデータページ: SQL Serverを実行するRDSインスタンスのデータがデータページに格納されます。 データが削除された場合、データを格納するデータページは、すぐに再利用されるのではなく、再利用可能としてラベル付けされます。 これにより、後続の挿入操作の効率が向上し、物理ディスクでの頻繁なリサイクル操作が回避されます。 RDSインスタンス上の特定の量のデータが論理的に削除されても、占有されているディスク容量はすぐには回収されません。
テーブルとインデックスフラグメント: RDSインスタンスの特定の量のデータが削除されると、RDSインスタンスのテーブルとインデックスに穴が残る可能性があります。 この結果、ストレージが断片化する。 断片化されたストレージは、データベースシステムによって割り当てられると見なされる。
断片化されたストレージを再利用するには、次の操作を実行することを推奨します。
データベースまたはファイルグループの縮小:
DBCC SHRINKDATABASE
またはDBCC SHRINKFILE
ステートメントを実行して、未使用のディスク領域を再利用し、データファイルのサイズを縮小します。重要このプロセスには時間がかかり、頻繁な縮小操作がRDSインスタンスのパフォーマンスに悪影響を与える可能性があります。 詳細については、「ストレージ容量がいっぱいになったときにSQL Serverインスタンスがロックされる問題の解決」または「ApsaraDB RDS For SQL Serverインスタンスのストレージ容量不足の問題のトラブルシューティング」をご参照ください。
インデックスの再作成: RDSインスタンス上の大量のデータを削除すると、インデックスが断片化する可能性があります。 インデックスを再作成すると、データページの再編成、ディスク領域の再利用、クエリ効率の向上に役立ちます。
トランザクションログのバックアップ: 完全復旧モデルを使用するデータベースの場合、定期的にバックアップされるトランザクションログを切り捨てて、ログが占有するストレージを解放できます。 詳細については、「ログの管理」をご参照ください。.
TRUNCATE TABLEステートメントの実行: 特定のシナリオでは、
TRUNCATE TABLE
ステートメントの方がDELETE
ステートメントよりも効率的です。 TRUNCATE TABLEステートメントを実行すると、大量のログを生成することなく、より迅速にデータページをリリースできます。重要TRUNCATE
ステートメントの実行は元に戻せず、WHERE
句はサポートされません。
RDSインスタンスの占有ディスク容量を効率的に再利用する場合は、ビジネス要件に基づいてさまざまな対策を講じる必要があります。 これにより、RDSインスタンスのディスク容量を最適化できます。