2016-06-22 65 views
3

我是新手,也是rethinkdb的新手。首先,我很抱歉我的英文不好,并且对rethinkdb的更新交易表现有疑问。RethinkDB更新交易表现

Im使用Nodejs和rethinkdb的Native JS API。我需要处理读取文件流,并在rethinkdb中获取数据更新。在我获得数据并用1k行过滤之后,我发送到rethinkdb进行更新。然后使用socketio的nodejs服务器触发changefeed函数。

需要1秒/ 1000笔交易。 (SSD Drive)

r.table('mds').getAll(data.symbol, { index : "symbol" }).update({ price : data.price, update_date : moment().format('YYYY-MM-DD HH:mm:ss') }, { returnChanges : false}).run(conn, function(err, cursor).... 

rethinkdb更新性能通常是正常的吗?它会更快吗?或者我错了查询或条件?

+0

你能找到问题的答案吗?我也面临着更新速度慢的查询问题。 –

回答

1

这些getAll调用之一返回了多少行?根据每个事务中修改的行数,每秒1000个事务可能是合理的也可能不合理。

如果每个事务中的行数很少,那么您应该可以获得更好的性能。你可以尝试的一件事是开启写入的软持久性。如果这没有帮助(或者如果你需要很长的耐久性),唯一要做的其他事情就是将更多的RethinkDB服务器添加到你的集群中,并在你的集群中分割你的表。

+0

其中一个getAll调用返回多少行? - 约2k行。 我不能使用软耐久性,因为我需要使用换行功能。然后它不会返回结果。但是,我也使用docker container来重新创建rethinkdb,所以我将尝试为测试集群设置另一个容器等。 谢谢您的建议。 – Pikachu