翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
非パーティションテーブルからデータをアーカイブする
パーティション化が不可能なデータベーステーブルでは、Percona Toolkit の pt-archiver
pt-archiver ツールを使用すると、大規模テーブルから他のテーブルまたはファイルにレコードをアーカイブできます。このツールによって読み取り/書き込みが行われる、つまり、アーカイブ後にソーステーブルからデータが削除されるため、ソースデータの削除を個別に管理する必要はありません。このスクリプトの主な目的は、既存のオンライントランザクション処理 (OLTP) クエリのロードに影響を与えずに、テーブルから古いデータをアーカイブし (付録 I を参照)、同じサーバーまたは別のサーバーにある別のテーブルにデータを挿入することです。
Percona Toolkit
pt-archiver --source h=<HOST>,D=<DATABASE>,t=<TABLE>,u=<USER>,p=<PASSWORD> --dest h=<HOST>,D=<DATABASE>,t=<TABLE> --where ""1=1"" --statistics
HOST、DATABASE、TABLE、USER は、ソースおよび宛先データベースの詳細と認証情報に置き換えてください。
AWS Batch を使用して、このジョブを作成し、テーブルで実行できるようスケジュールすることもできます。
pt-archiver ツールを使用してテーブルのデータをアーカイブする場合は、次の点を考慮してください。
-
ソーステーブルにプライマリキーが設定されていると、このツールのパフォーマンスが向上します。テーブルにプライマリキーがない場合は、一意の列にインデックスを作成する
と良いでしょう。これによって、テーブルのすべての行を検索し、アーカイブするという pt-archiver の動作が改善されます。 -
デフォルトでは、テーブルのアーカイブ後にデータが削除されます。本番サーバーで実行する前に、必ず、
--dry-runを使用してアーカイブジョブをテストしてください。または、--no-deleteオプションを使用しても良いでしょう。 -
pt-archiver ツールでは、システム負荷に基づいてアーカイブレートを調整します (付録 II を参照)。負荷が高いほど、アーカイブ速度が遅くなると予想されます。
pt-archiver の実行後、アーカイブ済みデータは、それに対応する、アーカイブスキーマのテーブルに存在しているはずです。そのテーブルから Amazon S3 にデータを移動できます。