Q4MってMySQLのstorage engineじゃない方が使いやすいんじゃないか

 というような疑問があった。そもそも、pluggable storage engineが実装されたMySQLはまだ正式リリースされてないし。Q4Mは突発的にinsert処理が連続できた際にとりあえずqueueに突っ込んで後から処理するようにしておけば負荷の平滑化ができてよいよね、というものだと考えていて、だとするとなんでqueueがMySQLのテーブルにならないといけないのか、よく分からなかった。
 しかし、データ永続化の事を考えると事情が変わってくるのだということに気づいた。queueに書き込んだ後に書き込まれたマシンを再起動しなければならなくなったとしよう。こういうシチュエーションというのは定期的なメンテナンスなどで絶対に発生するので、サービスを始める前に考慮しなければならない。graceful shutdownでもまぁなんとかなるが、故障を考えるとやっぱり永続化したい。RDBMSを使わずに永続化するのであれば、どこかに自力でファイルを読み書きする必要があり、そうなるとまた別途ファイル名などの設定が必要になる。RDBMSのテーブルにデータを保存するのであれば、別途設定ファイルを作る必要はない。であれば、Queueとして振る舞うテーブルがあるとよい、という話になる。と言うわけで、タイトルは否定されたわけである。