每次在我的網站上發出請求時,都會將有關該事件的某些數據記錄到數據庫(Yandex ClickHouse)中。如果以大小至少爲1000的塊進行插入,ClickHouse的工作速度將大大加快。在每個請求中,我希望將數據發送到另一臺要存儲數據的計算機,然後在緩衝區達到某些大小時將其清除到數據庫,說1000.我正在考慮使用RabbitMQ消息傳遞/緩衝,但我不知道這是正確的工具。有什麼建議麼?用於批量插入的緩衝區數據
0
A
回答
0
是的,RabbitMQ的它是你的用例 一個合適的工具,但你也可以嘗試使用緩衝臺發動機 https://clickhouse.yandex/docs/en/table_engines/buffer.html
1
我們選擇了讓nginx的發送訪問日誌JSON格式到系統日誌服務器(syslog-ng的) syslog-ng可以使用外部應用程序。並且可以將STDIN數據導入到應用程序中。所以我們寫了一個golang實用程序來批量插入clickhouse。
這對我們很有幫助。
Ofcrouse你也可以編寫一個golang工具來從rabbitmq和bulk插入到clickhouse。
在高峯期我們每秒處理140 k條消息,所以我寫了golang每秒處理一條查詢。所以它會根據每秒消息的數量自動縮放。直接創建用於此目的
1
Buffer臺發動機。 不久之後,您將使用此類引擎創建表並寫入此表/從此表中讀取。 所有記錄將被緩存在RAM中,並根據設置自動刷新到源表。
相關問題
- 1. 使用OpenGL插值數據緩衝區?
- 2. 使用Java協議緩衝區的批量Google數據存儲區查詢
- 3. 在SQLite緩慢批量/批量插入
- 4. 數據緩衝區
- 5. 將數據寫入緩衝區並從緩衝區讀取數據
- 6. 常量緩衝區上的插槽號
- 7. TPL Dataflow批量塊檢查輸入緩衝區中的元素
- 8. 用於批量插入
- 9. 批量數據插入
- 10. 批量插入datetime數據
- 11. 批量插入不插入數據
- 12. MSMQ緩衝用於SQL Server插入
- 13. 如何在php中插入緩衝區數據到mysql
- 14. RxJs緩衝區,直到數據庫插入(承諾)
- 15. 谷歌大查詢 - 沖洗緩衝區數據(緩衝區4天數據)
- 16. 插入窗口鍵盤緩衝區
- 17. Textview緩衝區插入警告
- 18. 插入圖像到幀緩衝區並寫幀緩衝到png
- 19. 如何用緩衝區刪除輸入流的緩衝區?
- 20. InputStream緩衝區數據
- 21. ssis數據流緩衝區
- 22. 緩衝區和數據包
- 23. DBwn何時將數據庫緩衝區緩衝區中的緩衝區更新爲數據庫磁盤?
- 24. 當批量數據插入sqlite得到緩慢我的UI
- 25. 用於數據緩衝區的VHDL中的3D數組
- 26. 用臨時緩衝區使用ofstream寫入臨時緩衝區
- 27. 使用Zend批量插入數據庫
- 28. SerialPort數據寫入結束於接收緩衝區
- 29. 將變量寫入緩衝區
- 30. Vimscript:列出的緩衝區的數量