CouchDBの使いどころが難しい。

やっと仕事の方が一段落ついたので、開発再開。といっても、すでに何やっていたか忘れた気がしないでもないので0.6.0のデータモデルを再構築中。そう、どこをCouchDBにして、どこをRDB(MySQL)にするかを考えているんだった、、、

現時点でできることが限られているっていうのもあるけど、なんだかんだでどんどんActiveRecordをシンプル化する方向でCouchDBを使わずにすむように努力している自分がいる。Programaticにデータモデルを検討する場合はCouchDBのほうが便利かな、と思いながらも開発時のコストを考えると。。。

なんだかんだで、結局、表が(ものを考えるにも)便利なんだな、、、と90年代の人は認識したんだな。。階層化構造をそのままデータベースで扱えるっていうのは便利なんだけど、1階層=1クラス/オブジェクト で表現するとなると、

- オブジェクト間の疎結合を目指す
- オブジェクトNに対して、2階層先のデータ構造はどうでもよくなる
- なんで一緒のJSONデータに入ってたんだっけ?

という罠に陥った。どうしたものかなぁ。

今のところ、ぺージとかユーザー間のリレーション、ウィジェットのデータとか頻繁に更新が入りそうなものははCouchDBに持たせられそうだけど、マスター系のデータはCouchDBに乗せるほうが不便になりがち(マスターなので表で扱いやすい)だという感覚。