DBがボトルネックだと言う話

 DBがボトルネックなので、言語の性能差はあまり問題ないという説があるらしい。

 そういわれて初めて、まあ言語の性能差以上にDBとのやり取りが原因で起きる遅延が多いよなと思った。そこに関しては、キャッシュがあれば解決できる。MemcachedとかRedisがあればいいのだということだろう。

 でも言語が起因する問題はどうすればいいのか?それは、可能な限り、静的化できるところは静的化すべきだということになる。

 Movable Typeなんかはそこに意識的で、動的にDBから記事を表示するのではなく、記事を更新するたびに静的ファイル群を出力しなおす再構成という方式をとっていた。WordPressの場合は、アクセスがあるたびにDBから記事を動的に取得するだろう。どちらが高速化と言えば、明らかにMovable Typeのほうが高速になる。プログラム処理が終わった状態のデータを表示するからだ。更新のタイミングで静的ファイルを出力すれば、毎回アクセスのたびにDBからデータを取りに行く必要などない。必要のないことをやらないようにしている分だけ速いのだ。だがPerlで書かれたMovable Typeは流行せず、PHPで書かれたWordPressが流行ってしまった。古い言語で作られた分だけ、若い人が近寄れず、新しいデザインが増えない。流行るかどうかは、見た目がナウいかどうかに左右される。