用python api将逐笔成交和level2快照写入流表,应该逐笔写入吗?

我现在每收到一条数据执行一次 s.run("tableInsert{`streamTable}, data"),这样性能好吗?请问一下最佳实践是什么?比如说分布式表应该集中写入?

请先 登录 后评论

1 个回答

wale

这样性能不好,建议批量写入,不要单条写入。因为单条记录写入也要把所有过程都进行一遍,延迟就会高,比如写log、来回的网络传输等等,这些都是无法避免的开销,只有在写数据的那一步比批量写入花的时间稍微少一点,所以非常建议批量写入。目前c++、python等sdk接口均已经支持批量写入。python api建议用MultithreadedTableWriter接口(详见https://gitee.com/dolphindb/api_python3/blob/master/README_CN.md#681-multithreadedtablewriter)。


python api 的性能不如c++ api,一般慢2-5倍,最快是用c++写插件,在同进程内,没有进程间通信开销,插件写法可参考nsq插件amdQuote插件等。


请先 登录 后评论
  • 1 关注
  • 0 收藏,765 浏览
  • Dingyu 提出于 2022-09-20 18:18

相似问题