我在Node.js中使用MongoDB。在Mongo中使用MapReduce有沒有速度優勢,而不是獲得完整的結果集,並且自己做一個地圖並減少JS?MapReduce比做地圖還要快嗎?
1
A
回答
4
檢索整個結果集並執行m/r應用程序通常沒有性能優勢。事實上,在幾乎所有情況下,在節點服務器上將整個結果集填充到內存中是一個非常糟糕的主意。
在MongoDB上執行map/reduce將確保在檢索結果集並回寫m/r的結果時,數據庫與應用程序服務器之間的帶寬不會浪費。 MongoDB的map/reduce也可以輕鬆擴展。
TL; DR:始終做到在MongoDB中
1
如果您的數據庫與您的服務器位於不同的主機上,那麼數據傳輸將會更小,這會浪費更少的帶寬和時間。
+2
MongoDB m/r不是本地實現的,而是在MongoDB的JS上下文中運行。 –
+0
@RemonvanVliet我站好了。發佈編輯。 –
0
數據的實際傳輸可能是昂貴和耗時的。想象一下,如果每次你想做庫存盤點,你都會將所有物品運送到另一個倉庫。
此外,你必須考慮事物的尺度。
- 使用mongodb,您通常需要至少一個數據副本,併爲基於讀取的任務添加性能。
- 有了節點,你可能不需要添加第二臺服務器,因爲它的擴展性很好。向其添加密集任務可能會導致您需要擴展面向外的節點服務器數量。
相關問題
- 1. 在mongodb中,mapReduce與單鍵比2或3鍵的mapReduce快嗎?
- 2. MapReduce比較函數做什麼?
- 3. 比ImageMagick快嗎?
- 4. 比elsif還慢嗎?
- 5. 比SendMessage()更快地調用函數嗎?
- 6. 正在通過DirectDraw比GDI更快地截圖嗎?
- 7. 馬上減少MapReduce運行,還是等待地圖完成?
- 8. 除了UIWebView控件,我還需要集成Google地圖嗎?
- 9. 比UIButton更快嗎?
- 10. SQLite比MySQL快嗎?
- 11. ListView比GridView快嗎?
- 12. 動作腳本比位圖更快嗎?
- 13. 畫布比正常圖像更快嗎?
- 14. 爲什麼地圖比unordered_map快得多?
- 15. 是布爾還是零比較更快?
- 16. 通過使用ejb3和jsf我還需要做jndi查找嗎?
- 17. 如何做「地圖塊」,比如terraria或我的世界地圖?
- 18. MongoDB不比MySQL快嗎?
- 19. parseInt()比toString()更快嗎?
- 20. cakephp 2.0比1.3快嗎?
- 21. GENERATE SERIES比SUBQUERY更快嗎?
- 22. COUNT(fld)比COUNT(*)更快嗎?
- 23. Websocket比WebRTC更快嗎?
- 24. 是CLucene比java lucene快嗎?
- 25. 是fillRect比fillOval快嗎?
- 26. MATLAB比Python更快嗎?
- 27. hadoop會比mySQL快嗎
- 28. StatelessSession比Session更快嗎?
- 29. D-lang比C++更快嗎?
- 30. FileInfo.Exists/Copy比File快嗎?
如果你想運行M/R速度更快,http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-jsModeflag會有所幫助。這是在MongoDB v2.0之後採用的。 – lqez