每次在我的网站上发出请求时,都会将有关该事件的某些数据记录到数据库(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. 批量数据插入
- 8. 批量插入datetime数据
- 9. 批量插入不插入数据
- 10. MSMQ缓冲用于SQL Server插入
- 11. RxJs缓冲区,直到数据库插入(承诺)
- 12. Textview缓冲区插入警告
- 13. 如何用缓冲区删除输入流的缓冲区?
- 14. DBwn何时将数据库缓冲区缓冲区中的缓冲区更新为数据库磁盘?
- 15. ssis数据流缓冲区
- 16. 缓冲区和数据包
- 17. 使用Zend批量插入数据库
- 18. 用临时缓冲区使用ofstream写入临时缓冲区
- 19. SerialPort数据写入结束于接收缓冲区
- 20. 将变量写入缓冲区
- 21. 高效的批量数据插入
- 22. 得到Emacs中缓冲区的数量
- 23. 调用glTexImage2D清除数据缓冲区
- 24. JPA /休眠批量插入缓慢
- 25. 用于DMA的快速缓冲存储器缓冲区
- 26. 批量/批量插入R
- 27. .NET:将数据注入进程的输入缓冲区
- 28. 矢量缓冲区C++
- 29. commons collections缓冲区容量
- 30. 批量插入数据库阻塞UI?