View a markdown version of this page

非パーティションテーブルからデータをアーカイブする - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

非パーティションテーブルからデータをアーカイブする

パーティション化が不可能なデータベーステーブルでは、Percona Toolkit の pt-archiver ツールを使用して、テーブルデータを MySQL データベース内の別のテーブルにアーカイブすると良いでしょう。

pt-archiver ツールを使用すると、大規模テーブルから他のテーブルまたはファイルにレコードをアーカイブできます。このツールによって読み取り/書き込みが行われる、つまり、アーカイブ後にソーステーブルからデータが削除されるため、ソースデータの削除を個別に管理する必要はありません。このスクリプトの主な目的は、既存のオンライントランザクション処理 (OLTP) クエリのロードに影響を与えずに、テーブルから古いデータをアーカイブし (付録 I を参照)、同じサーバーまたは別のサーバーにある別のテーブルにデータを挿入することです。

Percona Toolkit は、ダウンロードして、ローカルマシンまたはデータベースに接続する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにインストールできます。pt-archiver ツールを実行するには、次の構文を使用します。

pt-archiver --source h=<HOST>,D=<DATABASE>,t=<TABLE>,u=<USER>,p=<PASSWORD> --dest h=<HOST>,D=<DATABASE>,t=<TABLE> --where ""1=1"" --statistics

HOSTDATABASETABLEUSER は、ソースおよび宛先データベースの詳細と認証情報に置き換えてください。

AWS Batch を使用して、このジョブを作成し、テーブルで実行できるようスケジュールすることもできます。

pt-archiver ツールを使用してテーブルのデータをアーカイブする場合は、次の点を考慮してください。

  • ソーステーブルにプライマリキーが設定されていると、このツールのパフォーマンスが向上します。テーブルにプライマリキーがない場合は、一意の列にインデックスを作成すると良いでしょう。これによって、テーブルのすべての行を検索し、アーカイブするという pt-archiver の動作が改善されます。

  • デフォルトでは、テーブルのアーカイブ後にデータが削除されます。本番サーバーで実行する前に、必ず、--dry-run を使用してアーカイブジョブをテストしてください。または、--no-delete オプションを使用しても良いでしょう。

  • pt-archiver ツールでは、システム負荷に基づいてアーカイブレートを調整します (付録 II を参照)。負荷が高いほど、アーカイブ速度が遅くなると予想されます。

pt-archiver の実行後、アーカイブ済みデータは、それに対応する、アーカイブスキーマのテーブルに存在しているはずです。そのテーブルから Amazon S3 にデータを移動できます。