こんにちは。エンジニアの阿久津です。
今回はMySQLの mysqldumpmysqlpump という2つのコマンドでバックアップを実施しどちらが速く処理するのか比較してみましたので、それを記事にしたいと思います。

mysqldumpとは

従来のMySQLデータベースのバックアップ/リストアに用いられるコマンドです。

mysqlpumpとは

MySQL5.7から追加された新機能で、 mysqldump の次世代となるコマンドです。

機能紹介

1. 並列処理(並列ダンプ)

複数のデータベース・テーブルを並列処理でバックアップすることができます。
MySQLサーバからデータを収集するために複数のスレッドを作成し、そのスレッドがそれぞれMySQLサーバへ接続してデータをまとめるためにキューに取得したデータを挿入する仕組みになっています。
オプションを何も利用せずにデフォルトで mysqlpump を利用すると、スレッド数は2つ、キュー数は1つでダンプ処理が走ります。
–parallel-schemas オプションと –default-parallelism を使うと、スレッド数とキュー数を調整しながら、ダンプを実施できるみたいです。

続きを読む