どちらが速くバックアップできるか比較してみたTweetPocketこんにちは。エンジニアの阿久津です。いう2つのコマンドでバックアップを実施しどちらが速く処理するのか比較してみましたので、それを記事にしたいと思います。mysqldumpとは従来のMySQLデータベースのバックアップ/リストアに用いられるコマンドです。次世代となるコマンドです。並列処理(並列ダンプ)複数のデータベース・テーブルを並列処理でバックアップすることができます。MySQLサーバからデータを収集するために複数のスレッドを作成し、そのスレッドがそれぞれMySQLサーバへ接続してデータをまとめるためにキューに取得したデータを挿入する仕組みになっています。利用すると、スレッド数は2つ、キュー数は1つでダンプ処理が走ります。使うと、スレッド数とキュー数を調整しながら、ダンプを実施できるみたいです。オプションを使えば、クライアント・サーバ間で送信されるデータを圧縮することができます。オプションを使うと、ダンプデータを圧縮できるようです。※ZLIBとLZ4をサポート。内容としては、mysql_testというデータベースを圧縮なし、圧縮ありのパターンで比較してみます。ダンプ処理の進捗を確認できる機能が備わっています。これは実際に見たほうが早いと思いますのでやってみました。milliseconds上記のように、ダンプ処理の進捗を確認できます。mysqldumpにはない機能なので、便利ですね。他にも新機能はあると思いますが、紹介はこのくらいにして今回の検証に移りたいと思います。どちらが速くバックアップできるのか。※コマンドにはオプションを付けずに、デフォルトのまま実行しています。速い結果となりました。速い結果となりました。速い結果となりました。速い結果となりました。どちらが速くバックアップできるか比較しました。方が速い結果となりました。並列ダンプ機能があるため、複数テーブルのバックアップにはやはり強いようです。使った方が速くバックアップができそうです。Parkでは一緒に技術のウエディングパークを創っていくエンジニアを募集しています。興味のある方はぜひ一度気軽にオフィスに遊びにいらして頂ければと思います。mysqlpumpSNSでもご購読できます。