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を使ってみてはいかがでしょうか。