メールマガジン

MySQLのバックアップ・リストアツール [Xtrabackup]

今月の気になるオープンソース情報(2016年9月号)

OSS研究室 倉田 隆規

今回は、Xtrabackupについて紹介します。

Xtrabackupは、MySQLのバックアップ・リストアツールです。Xtrabackupを利用することで、リストア時間の短縮を実現することができます。Xtrabackupは、Percona社からGPLライセンスのオープンソースとして提供されています。

MySQLのバックアップ、リストアには、mysqldumpコマンドでバックアップを取得し、mysqlコマンドでリストアする方法がよく利用されます。
mysqldumpは、データベース内のデータをエクスポートする論理バックアップを採用しています。それに対し、Xtrabackupは、データファイルや制御ファイルといった物理ファイルをコピーする物理バックアップを行います。そのため、大容量のデータをリストアする際は、mysqlコマンドでデータを1件1件登録するよりも、物理ファイルからデータをリストアするXtrabackupの方が高速に動作します。

デージーネットでは、1億件のデータを使い、Xtrabackupとmysqldumpを比較するベンチマークを行いました。Xtrabackupはmysqldumpと比べ、リストア時に約3倍、高速に動作することが分かりました。

しかし、Xtrabackupではバックアップに時間がかかる傾向があります。

Xtrabackupを利用した際のバックアップ時間の短縮には、初めに一度、完全バックアップを行い、定期的に差分バックアップを行います。そうすることで、二度目以降のバックアップ時間が短縮できます。

データベースのリストアでは、データ量によっては数時間かかる場面もあります。Xtrabackupを用いることで、大容量のデータでも時間を短縮し、リストアすることができます。大容量のデータをリストアする際には、Xtrabackupを使ってみてはいかがでしょうか。

デージーネットマガジン2016年9月号記事一覧

MySQLのバックアップ・リストアツール [Xtrabackup]の先頭へ