about couchdb
By admin
从学习erlang一路到看上couchdb。看上它主要是因为map reduce,master-master deploy和couchapp这种方便的两层开发工具。
nosql无模式的特点特别吸引人,但看到最后发现用couchdb很难实现复杂查询,查询条件超过3个以上的时候,需要建立大量的视图,尤其是我做过的程序里有的查询条件有近20个,排列组合起来需要巨量视图而且还需要根据复杂的查询条件匹配到不同的视图上,虽然大部分的组合可能很少被用到吧,这玩意没法弄。看来想要从mysql完整功能迁移还是得mongodb。但mongodb就做不到省略中间层程序的rest api了。看来网页程序要做到两层还需要再发展发展。
http://www.lupaworld.com/article-215805-1.html这里的关于查询的部分差不多也是这个意思。
couchdb支持像mysql的 LIKE “abc%”这样的语句可以用startkey=”abc”&endkey=”abc\ufff0″这样来弄。参考如下
http://stackoverflow.com/questions/5285787/full-text-search-in-couchdb
如果只是做做blog这样的相对关系简单的东西,主要是不太需要复杂查询的还好。
CouchDB权威指南看了一半左右吧,基本操作都讲完了,已经看了部分couchapp的开发实例了就没再接着学。