Rails を使った開発でもDB の分割が簡単になりそうで幸せ

こんな記事を書いたあとに
404 Not Found
という、これまたすばらしいネタを発見してしまった。


Revolution On Rails: [PLUGIN RELEASE] ActsAsReadonlyable
これがやばすぎる。
何がやばいって、来週から同じような実装をしようかと検討していた。
しかし、私はプラグインを開発した経験が無い(おまけに時間も無い)ので、
とりあえずアプリにべったり依存したコードで手早く済ませてしまうところだった。


こういったプラグインを活用することで、MySQL でよく利用されている
Master-Slave 構成の場合でも、それほどコードを汚さずに開発が
できるのではないだろうか。


ActsAsReadonlyable を使ったときに複数のSlave にバランシングして
Read したい場合、database.yml で:read_only の指し示す先を
LB なりLVS にすれば実現できるのかな。と妄想してみる。あとでやる。
最初から複数のSlave に対応しているほうがもちろんベターなのだが。


ただ、元記事でも言っているように
mixi とまではいかなくても、扱うデータ量やサービスの規模が多くなった場合には
データベースパーティショニングの工夫が必要になるわけで。
なんとなくMagic Multi-Connections がそっちの方には期待できそう。