MySQLからSQLiteに移行した件について

サーバが要らない、けど軽い、と噂になっていたSQLiteですが、
なかなか移行する機会が無くて(だって、3000エントリ以上あるんだもの)
さてどうしたものか、と思っていたんですが。

このたびのレンタルサーバ(さくらインターネット)のMySQL絶不調を受け、遂に踏み切りました。
移行のメモと、使用感と、その参考までに。


まず試みたのは、MySQLから直接、SQLiteへデータ変換すること。
これは、付属のプログラムでは不可能なのだけど(Berkeley DB→SQLiteなら可能)
Ogawaさん作成の、データ相互変換プログラムなら、可能かもしれない。

Ogawa::Memoranda: mt-db-convert.cgi: MTデータベースの相互変換CGIスクリプト

MTディレクトリに放り込んで、ちょっと入力するだけであら不思議、
というプログラムなのだけど、MySQLがハマってるせいなのか、
さくらのせいなのか、プラグインのせいなのかよく分からないけれども、
エラーが出て進めなかった。
(これが成功していれば、苦労話をせずとも済んだのだけど)


そうなってくると、あわよくばバックアップまでと思っていたが、
むしろそっちを最優先にする必要がある。
というわけで、毎秒80バイトなんていうたわけた転送速度の中、
何とか、計5.15MBのログを確保。
とりあえずこれでいつ飛んでも大丈夫。

そうこうしているうちに、MySQL DBを移行しましたとの連絡が。
まぁいずれにせよドングリの背比べだし、見切ったことに代わりはない。
ただ、それで負荷が軽減されたのか、パフォーマンスも改善されたので、
意を決して、別ディレクトリにMTをクリーンインストールすることにする。


設定は、マニュアルにある通り。
ただ、今まで、MySQLの設定をするために外していたコメントではなく、
その数行下にある、SQLiteの設定をオンにする。
基本的には、データディレクトリさえあればOKなので、
(サーバを使用しないため)
ややこしい設定はない。

それから、ブログを用意し、先ほどのバックアップデータを読み込む。
見事に、SQLiteデータとして移行完了。
データの移行としては、多少遠回りではあったけれども、
悩むところも、苦労するところも特になく、
問題としては、最近不安定なネット回線くらいで、
(ネット回線というか…端子の接触不良)
あっさり。
ていうか、むしろ、その後の、設定変更やテンプレの作成、の方がしんどかった。
(少しでも変更をプラグインにしておいて良かった…)



さて、使用感。
どうだったのか?

エントリ数的な問題もあって、実際それほど多くを期待してはいなかったのだけど、
いや、いいよ。これ。
プログラムの呼び出しも、再構築も、非常に快適。

執筆現在、データファイルは9MB以上に膨らんでいるけれども、
重さは感じないし、何より、設定から何から、
このファイルをダウンロードすればバックアップになるってのが良い。

ダイナミックで運用したら、もう少しだるくなるかもしれないけど、
全面的にスタティックで運用してるし、
何も文句は無し。
月の転送量がどうなるか、ちょっと気になるところではあるけれども…


そうそう、
問題と言えば、SQLiteどうこうではなくて、
色んな設定の変更ついでに、アーカイブ名も変えたんで、
(MT3.2の設定に準拠しつつ、日時でファイル名を決める形に)
恐らく大量のリンク切れが発生しているであろう、ということ。
mod_rewriteでも対処できない感じに変えちゃったのは失敗だったかもな…


ま、いいか。