quote“动态,灵活,快速,强大,再见了数据库迁移,再见了笨拙的 SQL 语句”
SQL 其实是这个星球上最动态,最灵活,最快速,最强大的语言
我倒是觉得 sql 条件语句才是人性的,比如 someone like .. , name = .. and sex =..,order by.. 看了 mongo 那个为了 kv,而 kv 的条件语句(db.inventory.find( { qty: { $gt: 20 } } ))想吐血。
sql 还是有些问题的,例如 where 语句不是一等公民,组合查询条件就必须在应用层拼接字符串,arel 就是为了解决 sql 的这种问题而... 搞得这么慢...
mongo 在传输格式上还是有优点的,毕竟前端过来 json 样子的多,不用太多转换就能变成 query 了$gt
的写法虽然很丑但在解析上还算是比较优化的...
#8 楼 @luikore 还没来得及用过 Datalog ...
至少 DES,有两种模式,一种是后端用 SQL 数据库,一种是直接就用 Prolog 的。可以生成 SQL,但是,不是所有查询都可以用一句 SQL 搞定
http://en.wikipedia.org/wiki/Datalog
其实性能真不是问题,目测有太多地方不需要性能的地方,其实用 Datalog 会更好,现在都没什么人用。我感觉,Datalog 应该和正则表达式差不多流行才是正常的