2016-06-22 68 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