Druid扫描查询中实时数据的分页问题



我已经完成了以下Druid Scan查询文档https://druid.apache.org/docs/0.20.0/querying/scan-query.html。它说的时候我不明白"请注意,如果在页面获取之间以影响整体查询结果的方式修改底层数据源,那么不同的页面就不一定彼此对齐">

在我的案例中,数据是实时添加到Druid的,这意味着假设我查询了最后一个小时的数据(下午4点至5点(,可能早些时候我们有40条记录用于该查询,但在查询过程中我们收到了10条新记录。我的假设是,所有新记录都应该在第40条记录后添加,并且不应该影响当前运行的分页偏移量。请帮助我实时接收数据如何影响Druid分页,以及可能的解决方案。

偏移量:在一起;极限;以及";偏移";可用于实现标页码但是,请注意,如果在页面获取之间以影响整体查询结果的方式修改底层数据源,那么不同的页面将不一定彼此对齐。

文档描述偏移量/限制是应用程序端的值。从数据库的角度来看,它会对每个请求再次运行整个查询,并只返回offsetoffset + limit之间的行。

因此,如果按__time desc排序,新行将出现在结果的顶部,从而改变分页的内容。如果排序为__time asc,并且在调用之间没有接收到不合时宜的行,那么分页应该是恒定的,并且新行出现在末尾。

还要记住,限制查询的总体时间框架是一种很好的做法。

最新更新