WCAデータベースのMySQLへのインポートにはBigDumpを使うと高速で楽

ブログ初投稿の記事です.

はじめに

一部のスピードキューバの方々はWCAのDatabase exportを利用されていると思います. 近年の公式大会数の増大に伴って,データベースファイルが容易に扱いにくくなるレベルまでサイズが大きくなっています.(2014-11-14現在,sqlファイル約94.4MB)
エクスポートページではSQLファイルとTSVファイルが公開されていますが,これほど大きいサイズのデータを扱うとなると,TSVファイルを純粋なファイル関数やオレオレパーザで現実的な時間で操作することはほとんど不可能になってきています.
そこでSQLファイルを使用して,MySQL等のデータベースを使用するのが妥当でしょう.

公開されているSQLは差分をinsertするのではなく,テーブルをdropして1からデータを挿入するため,データ量が膨大になるにつれ,インポート時間が相当長くなるという問題があります.
さらに,php.iniでいろいろファイルサイズやタイムアウト値を制限されてると変更だったり面倒だし,レンタルサーバ等ではこれらの値を変更されることができずにインポートができないことも考えられます.
仮に変更できたとしても,phpMyAdmin等からインポートすると,1回でインポートしきれないため,途中から再開したりだとかとにかくいろいろ手間がかかりまくりです.

本記事は,BigDumpを使用すると,楽に,高速にインポートできるよ,というお話です.
データベースはMySQL前提です.

※サーバに直接ログインできる or ssh接続できる 等の環境であれば,mysqlコマンドからインポートできるので,本記事はVPS等ではなく共用のレンタルサーバでsshログインが許可されていない場合を想定しています.

Read more »