我在这里使用NodeJS演示代码:https://questdb.io/docs/develop/insert-data/将数据插入到QuestDB中,如下所示:
setInterval(() => {
run();
}, 3000);(桥接网络上的2个码头集装箱)
我有一个打开的浏览器窗口要运行
select count(*) from 'trades'但是,查询只运行一次,然后返回相同的结果。如果重新启动码头容器,查询将返回一个更新的值,因此假设这些值已成功地进入数据库,但它们没有反映在Postgres查询中。当我在Node中使用pg客户机时,我看到了同样的行为。
有什么解释或理论能帮我解决这个问题吗?
发布于 2022-04-05 11:24:01
在QDB中,数据在提交之前对查询是不可见的。在ILP接收端提交时,不要在每一行之后,甚至在断开连接时提交。相反,QDB使用许多属性来确定何时有效提交。在这种情况下,减少插入以提交延迟的最简单方法是将cairo.max.uncommitted.rows减少到例如conf/server.conf中的10 (加上实例/容器重新启动),然后插入10+记录。
您将在https://questdb.io/docs/reference/api/ilp/tcp-receiver/#commit-strategy上找到关于ILP提交的更多详细信息
https://stackoverflow.com/questions/71743580
复制相似问题