routine load消费kafka数据延迟问题

【详述】我们从OceanBase数据库实时同步到kafka,再用routine load导数消费kafka topic分区,有延迟问题,发现两边数据老对不上,怎么去比对两边表数据呢
【背景】routine load导数,包含增删改
【业务影响】测试环境无影响
【是否存算分离】否
【StarRocks版本】2.5.13
【集群规模】3fe+3be(fe与be混部)
【机器信息】48C/16G/万兆
【表模型】主键模型
【导入或者导出方式】routine load
【联系方式】社区群13-麦咪
Kafka分区offset:




routine load:
image

数据同步肯定会伴随有延迟的,目前只能做到秒级的数据延迟,具体和routine load配置的sink的参数相关。如果对比两边数据差异的话,比如ob里表有配置update_time列的话,可以通过对比最新的update_time来判断延迟,也可以根据kafka消费的延迟来大致判断。如果数据量不大的话,也可以通过配置idbc外表的方式同时查询内表和外表来大致判断

数据延迟了我也不知道数据写得对不对 :mask:咋整呢

大佬,有没有什么参数或者方法可以提升routine load的同步效率呢

你们kafka消费延迟很多吗

延迟十来万算多吗

稳定在10w左右吗?10w大概是多久的数据量

这个当时没看 :joy:

有个问题,show all routine load里面的任务放太久会被自动清掉吗,如果会有没有什么参数可以控制一下

单个routine load的速度跟消费的速度以及并发有关,消费的速度取决于机器的配置,并发取决于 kafka_partition_num(kafka配置)、 desired_concurrent_number(routine load任务配置)、 alive_be_num(集群规格)以及 max_routine_load_task_concurrent_num(fe参数),取其中最小值。另外任务 配置里的 max_batch_intervalmax_batch_ rows也会影响kafka待消费的消息数量

默认保留3天,最多保留1000条。整个集群维度的
相关参数:
label_keep_max_num
label_keep_max_second

消费的速度取决于机器的配置主要是指内存资源吗,这种任务跑起来会占用内存资源还是cpu资源呢

CPU、内存、IO都会有的