缓存策略
Cache Policy
在数据同步过程中,数据采集组件读取数据之后,会将数据写入缓存中,数据加载组件从缓存中消费数据,写入数据目的地,以实现数据同步过程中的读取写入解耦,降低数据源读取压力,提升系统稳定性。
关于此功能
我们提供两种缓存存储模式
◎ 系统内置消息队列
在当前版本中,系统内置Kafka消息队列组件,数据缓存写入消息队列组件,可以将读取写入解耦,在数据读取速率大于数据写入速率时,将已读取待写入数据写入缓存,在读取过程中,不会出现反压。
在使用消息队列作为数据缓存时,默认回收时间为3天,超过缓存时间的数据缓存将会被回收;在需要长时间缓存数据的场景中,您可设置更长的回收时间。
◎ 服务器内存
除了Kafka消息队列作为缓存存储外,您还可以选择使用服务器内存作为数据缓存,相较于Kafka,服务器内存存储数据不需要将数据写入磁盘,再进行读取,对磁盘I\O要求不高,但对服务器内存容量要求较高。使用服务器内存能有效提升数据同步速率,适用于数据量较大的数据同步场景。
操作步骤
在数据链路详情页-策略配置tab中找到数据加载策略。
选择系统内置消息队列或选择使用服务器内存作为数据任务缓存。
在使用消息队列作为缓存时,需要配置回收时间、内存缓存大小、最大请求数据量。
注意事项
在使用服务器内存作为数据缓存,任务读取速率大于写入速率时,会出现数据读取反压。
反压可能造成读取数据的JDBC连接超时或数据源日志积压的情况。
请您合理配置目的地资源,提升数据写入速率;或调整数据源JDBC连接时长限制、数据源日志回收时间,以免造成数据丢失。
最后更新于
这有帮助吗?