实时数据集使用问题

观小智发表于:2020年10月29日 11:30:55

实时数据集使用问题

使用背景:实时数据集是按照一定时间段去数据库查询,把该时间段数据的聚合结果放到数据集当中,是按照批处理方式实现的“实时”,不是流式处理方式,不会把数据库的数据原封不动照搬过来再做处理,同样只适合看当天的数据。


1,和直连数据集实现实时数据一样,页面需要打开“实时数据开关”。


2,刷新机制和直连数据集不同,不是十分钟刷新一次页面,是通过Web Socket技术,后端数据集更新会触发前端更新。


3,“时间段”字段是什么意思,这个字段不是从源数据获得,而是数据集自动生成,例如:数据集设置更新频率为5分钟,那更新时间就是每小时的5分钟整,10分钟整,15分钟整以此类推。


4,比如更新频率为5分钟,在17:25触发的更新,数据集里显示“时间段”为17:20,17:20这个“时间段”获取是17:20:00(包含)——17:25:00(不包含)的数据。


5,使用实时数据集之前,要清楚客户数据库里的数据的落库时间来合理的配置实时数据集,不然可能会出现数据混乱和数据丢失的情况。


6,为了一定程度上避免第五条的数据丢失,实时数据集有一定的追溯机制,举例:更新频率为5分钟,客户数据库中7分12秒的数据,但是在11分10秒才落库,那本应该在10分整更新的数据(时间段显示为5分),在该时间段没有更新到7分12秒的数据,会在15分整更新时(时间段显示为10分)再往前追溯5分钟的数据,那就会追溯到7分12秒的数据。默认追溯时间和更新频率是一致的,也就是本次更新会再去查一次前一个更新周期数据,在数据量可控的情况下,可以修改追溯周期。


7,更新区间设置,更新区间是指在这段时间,实时数据集会按照设置的更新频率更新,更新最区间最长1天,也就是说数据集只会保留一天,第二天会清空,重新按照更新区间和更新频率来更新。


8,在第一次创建好数据集时,更新不会马上被触发,而是会等到下一个触发时间来更新,如果间隔为5分钟,现在是22分11秒,那么会在25分0秒就是下一个时间窗口),去获取 20分0秒到24分59秒的数据,如果原始数据源中有数据,那么会同步到观远(ClickHouse数据库),如果这个时间段没有数据,那么在观远中不会有体现。


9,手动更新会清空数据集,重新等待下一个时间窗口来触发更新。


另类用法:数据库中没有时间字段时,慎用实时数据集,每一次更新会导致全量查询,高频的全量查询落库会影响ClickHouse性能,如果数据量不大,每次查询全量数据会按照当前时间段打标记,可以用来分析整天的聚合数据在不同时间段的变化。


    您需要登录后才可以回复