每次在我的网站上发出请求时,都会将有关该事件的某些数据记录到数据库(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:列出的缓冲区的数量