Database Autonomy Service (DAS) は、ApsaraDB RDS for MySQLの自動フラグメント再利用機能を提供します。 ApsaraDB RDS for MySQLインスタンスの機能を有効にすると、プライマリRDSインスタンスは自動的にOPTIMIZE TABLEまたはALTER TABLEステートメントを実行して、テーブルスペースのフラグメントを再利用します。
前提条件
RDSインスタンスは、次のデータベースエンジンとRDSエディションのいずれかを実行し、14日前に作成されます。
RDS High-availability EditionまたはRDS Enterprise EditionのMySQL 8.0
RDS High-availability EditionまたはRDS Enterprise EditionのMySQL 5.7
RDS High-availability EditionのMySQL 5.6
RDSインスタンスには少なくとも4つのCPUコアがあります。
RDSインスタンスの物理テーブルはInnoDBエンジンを使用します。
DAS Professional Editionが有効になっています。 詳細については、「 DAS Professional Edition の購入」をご参照ください。
背景情報
Tablespaceフラグメントは、次の理由で生成されます。
レコードは削除され、元のテーブルスペースは再利用できません。
レコードが更新され、元のテーブルスペースは再利用できません。 ほとんどの場合、レコードは可変長フィールドに対して更新されます。
挿入されたレコードは、ページ分割を引き起こし、ページの充填率を低下させる。
システムがテーブルスペースフラグメントをリサイクルする前にチェックするアイテム
DASは、プライマリインスタンスに対してOPTIMIZE TABLEまたはALTER TABLEステートメントを実行して、テーブルスペースのフラグメントをリサイクルします。 データベースのパフォーマンスとテーブルスペースへの悪影響を軽減するために、DASはデータベースインスタンスとデータベースインスタンス内のテーブルを自動的にチェックしてから、テーブルスペースのフラグメントの自動リサイクルを実行します。 DASは、チェックに合格した後にのみ、自動表領域フラグメントのリサイクルを実行します。
次の要件の1つ以上が満たされない場合、テーブルに対して自動テーブルスペースフラグメントのリサイクルを実行できません。
データベースインスタンスの使用可能なストレージスペースは、リサイクルするテーブルスペースフラグメントを持つテーブルの物理スペースの少なくとも3倍である必要があります。
説明たとえば、物理スペースが30 GBのTable_1のテーブルスペースフラグメントをリサイクルする場合、データベースインスタンスの使用可能なストレージスペースは90 GB以上である必要があります。
テーブルにフルテキストインデックスは作成されません。
次の要件の1つ以上が満たされない場合、DASは1〜5分間待機してから、再度チェックを実行します。 メンテナンス期間全体でチェックが失敗した場合、DASはチェックに合格するまで、次のメンテナンス期間中にテーブルをチェックします。 チェックに合格すると、DASはテーブルスペースのフラグメントの自動リサイクルを実行します。
データベースインスタンスでバックアップタスクが実行されていません。
スキーマ変更タスクは実行されていません。
前日と先週の同じ日の同じ期間のCPU使用率は70% 未満であり、リサイクルタスクが開始される予定前のCPU使用率は80% 未満です。
説明たとえば、テーブルスペースのフラグメントのリサイクルは、物理スペースが90 GBのテーブルで2020 12月10日の03:00に開始される予定であり、操作が完了するまでに30分かかると予想されます。 この場合、次の要件が満たされていることを確認してください。
CPU使用率は2020年12月9日の03:00から03:30まで70% 未満です。
CPU使用率は2020年12月3日の03:00から03:30まで70% 未満です。
CPU使用率は2020年12月10日の03:00に80% 未満です。
SQL文の実行に3秒以上かかることはありません。
保留中のトランザクションは存在しません。 保留中のトランザクションは、ロックを保持するが15秒以内にコミットされないトランザクションです。
データベースインスタンスのアクティブなセッションの数が64未満です。
テーブルがチェックに合格しない場合、テーブルのテーブルスペースフラグメントの自動リサイクルはトリガーできません。 この場合、OPTIMIZE TABLEステートメントを手動で実行して、tablespaceフラグメントをリサイクルできます。 詳細については、「OPTIMIZE TABLEステートメントを使用して、ApsaraDB RDS for MySQLインスタンスのテーブルスペースをリリースするにはどうすればよいですか。 」をご参照ください。
手順
[インスタンス] ページに移動します。 上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
自律関数管理パネル に移動します。
左側のナビゲーションウィンドウで、
を選択します。 表示されるページで、[自律センター] タブをクリックします。 [Autonomy Center] タブで、[Autonomy Service Settings] をクリックします。左側のナビゲーションウィンドウで、
を選択します。 表示されるページで、[Autonomy Service Settings] をクリックします。
パネルの [自律機能の設定] タブで、自律サービスを有効にします。 [最適化とスロットリング] タブで、[自動フラグメントのリサイクル] を選択します。
次のパラメーターを設定し、OKをクリックします。
重要データベースインスタンス内のテーブルのストレージ使用率が指定されたしきい値に達すると、DASは、データベースインスタンスの指定されたメンテナンス期間中にテーブルスペースのフラグメントを自動的に再要求します。
パラメーター
説明
テーブルスペース>
物理テーブルのストレージ使用量のしきい値。 単位は GB です。 有効な値: 5 ~ 100 デフォルト値は 10 です。
このパラメーターを大きな値に設定すると、再利用プロセスが完了するまでに長い時間がかかる場合があります。 ビジネス要件に基づいて値を指定することを推奨します。
説明RDSインスタンス上のすべてのテーブルのストレージ使用率が5 GB未満または100 GBを超える場合、DASはテーブルスペースフラグメントを再利用しません。
断片化率>
物理テーブルのストレージ使用量の合計に対するテーブルスペースフラグメントのストレージ使用量の割合。 有効な値: 10 ~ 99。 デフォルト値は 20 です。
このパラメーターを大きな値に設定すると、自動フラグメントの再利用の頻度が少なくなります。 ビジネス要件に基づいて値を指定することを推奨します。
説明RDSインスタンス上のすべてのテーブルの断片化率が10% 未満の場合、DASはテーブルスペースフラグメントを再利用しません。
説明たとえば、Tablespace > パラメーターの値が5 GBで、Fragmentation Rate > パラメーターの値が10% の場合、テーブルスペースの範囲が5 GB〜100 GBで、フラグメント化率が10% 以上のすべてのテーブルに対して、自動フラグメント再利用がトリガーされます。
オプションです。 [アラート設定] セクションで、アラートテンプレートを設定し、アラート通知をサブスクライブします。 これにより、自動フラグメント再利用タスクのステータスをできるだけ早く把握することができます。
システムはアラートテンプレートを推奨し、アラートテンプレートに必要な自律性イベントのアラートルールを追加します。 プロンプトに従ってアラートテンプレートを設定できます。
説明RDSインスタンスにアラートテンプレートを設定した場合は、プロンプトに従って、必要な自律性イベントのアラートルールをアラートテンプレートに追加する必要があります。
RDSインスタンスにアラートテンプレートを設定していないが、設定する場合は、「アラートテンプレートの設定」および「アラートルールの設定」の手順に従って、アラートテンプレートを設定できます。
[アラート送信先グループの選択] ステップで、[アラート送信先グループ] を選択します。
[連絡先の追加] をクリックしてアラート連絡先を追加します。
[連絡先グループの作成] をクリックして、アラート連絡先グループを作成します。
管理するアラート連絡先を見つけ、[操作] 列の [編集] または [削除] をクリックして、アラート連絡先に関する情報を変更または削除します。
詳細は、「アラート連絡先の管理」をご参照ください。
[リソースに関連付ける] ステップで、関連するリソースを確認します。
[設定の送信] をクリックします。 表示されるダイアログボックスで、設定を確認します。