Movable Type 備忘録

 

 膨張し続けるデータベースをクリーンにする

当サイト、MovableType備忘録で使用しているデータベースはMySQLですが、わたしの他のブログではSQLiteを使用しています。

MySQLに比べて、SQLiteは再構築などレスポンス良く動くので、MovableType(ムーバブルタイプ)のデータベースにSQLiteを使っている人は多いと思います。

今回ちょっとだけデータベースのしくみを理解しました。

基本的にどのデータベースでも同じらしいですが、たとえばエントリを公開して何らかの理由で削除したとしても、1度使われた領域は解放されずに再利用の為に保持されるようなんです。 コメント、トラックバックなども同様だそうです。

そこで、いつもお世話になっているOgawa::Memoranda::PeriodicVacuum Plugin 0.01公開さんで、SQLite用の非使用領域の解放を自動的に行ってくれるプラグインが紹介されていたので、さっそくPeriodicVacuumプラグインをインストールしてみました。

このPeriodicVacuumプラグインは、定期的に(一週間に一度)、自動的にデータベースの使用済み領域を解放してくれる…というものです。 これにより、常にSQLiteのデータベース(ファイル)を必要最小限に抑えることができます。

ちょっとだけOgawa::Memorandaさんの記事を引用します。

データベースでは一般に、削除したレコードが使用していた領域は、解放されずに再利用されます(なぜそうなっているかと言えば、解放操作はレコードの削除のたびに実施するには重すぎる処理で、再利用した方が大抵の場合都合が良いからです)。

このため、例えば、トラックバック・コメントスパムを大量に受信した場合、それらを削除してもデータベースファイルのサイズはほとんど変化しないという現象が観測されるはずです。

とのことでございます。

当ブログは、さくらインターネットのレンタルサーバを借りて運用しています。 当然レンタルしているディスク容量に限りがありますので、削除したデータの再利用なんてしなくていいから領域を解放して欲しいものです。

PeriodicVacuumプラグインの入手はこちらから▼
http://code.as-is.net/wiki/PeriodicVacuum_Plugin.ja_JP

まず、上記URLから圧縮ファイルをダウンロードして、適当なフォルダに展開します。 そして、いつものようにサーバにアップロードします。 当然、アップロード先はmt/plugins/ディレクトリの中です。

以上です。 あとは、一週間に一度コメント、トラックバックの削除、エントリの削除のタイミングでSQLiteのファイルサイズを必要最小限に保ってくれます。

今回はトラブルというわけではありませんが、メンテナンスという意味でデータベースにSQLiteを使用されている人はぜひインストールした方がいいと思います。

このプラグインは、MovableType(ムーバブルタイプ) 3.3で追加された、Task Manager機能を利用したものらしいので、MovableType(ムーバブルタイプ) 3.3以降でしか使えません。

でも定期実行はできませんが、スクリプト版も公開されてますので、これならMovableType(ムーバブルタイプ) 3.2などでも使用可能…とのことでございます。

では、SEE YOU

 Trackback Pings(0)

No trackbacks found.

 Comments(3)

#1: Posted by ゆにっく Author Profile Page [RES]

こんちはー!さっそく導入しました♪これは要するに、「SQLiteをいたわる」ためのプラグインですね。(笑)入れておいた方が安心なんかなー。

それにしても、vacuumとは凄いネーミングですね。(笑)それこそ、凄い勢いで要らんものを吸い取ってくれそうです。(笑)

#2: Posted by bzbell [RES]

>>1 ゆにっく さん

こんにちわ^^

インストールしておけば、不要なデータを削除してくれるようなので、安心と言えば安心ですかね。
つか、この事実を知るまで、エントリなど削除したらデータベース上からも削除されるものと思ってましたから…。
そういう意味だと、ちょと得した気分なのはわたしだけ(>∀< )かな♪

そそ、ゆにっくさんSEOにも興味ありましたよね。
耳寄り情報です♪

http://smdl.jp/blog/2006/09/google.html

効果の程はまだ分かりませんが、とりえあえず様子みてるとこなんです。
気が向いたら試してみてください。

#3: Posted by ゆにっく Author Profile Page [RES]

情報ありがとう!そのリンク先のやつ、いっちょ試してみます。(^0^)

 Post a Comment

コメント用フィード