有人在实际项目中用过 RethinkDB 么,是否有什么坑可以分享?

2015-04-21 07:11:24 +08:00
 Livid
9941 次点击
所在节点   RethinkDB
4 条回复
love
2015-04-21 08:18:40 +08:00
我刚用来开发一个应用,坑还没碰到, 不过rethinkdb的这个特点和别的db不同,就是没有智能优化器,不指定索引的时候绝对不会用索引。
也就是说它的眼花缭乱的filter功能全都不能用索引,只有get / get_all / between / order_by 能用索引。

issue里开发人员说这是个feature,我也喜欢这个这样,因为程序里哪些查询是高效的哪些会有性能问题一目了然了,不象mysql总是在线上跑才发现要加索引。

所以呢有一个操作会比较反直觉,就如果有组合索引 A+B+C时,需要A=? and B=? 并按C排序时需要用between接order_by并指定同一索引才能完全利用这个组合索引(issue里有说明,文档里好象没有)。
jimwoo
2015-04-21 10:18:52 +08:00
@Livid 能求个方案吗?我们是做APP的社区的,现在日活差不多300W我们现在系统架构是 Java (逻辑层) + redis(临时读写) + mysql,现在性能出现了瓶颈刷新有时候要5,6秒才能获取新的数据?我想问下有什么好的技术方案吗?
liprais
2015-04-21 10:20:40 +08:00
@jimwoo
先测量再优化
“有时候要5,6秒才能获取新的数据”
这5s都花在哪里了?等你搞清楚这个问题了再优化不迟
Cadina
2015-05-03 02:24:54 +08:00
使用 lambda 做过滤之类的操作时,lambda 是对 table / sequence / array 内每个元素执行一次的,如果你在 lambda 函数中包含了子查询,很可能会有性能问题。
关于这个问题的一个 proposal: https://github.com/rethinkdb/rethinkdb/issues/3318

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/185118

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX