缓存策略

Cache Policy

在数据同步过程中,数据采集组件读取数据之后,会将数据写入缓存中,数据加载组件从缓存中消费数据,写入数据目的地,以实现数据同步过程中的读取写入解耦,降低数据源读取压力,提升系统稳定性。

关于此功能

我们提供两种缓存存储模式

◎ 系统内置消息队列

在当前版本中,系统内置Kafka消息队列组件,数据缓存写入消息队列组件,可以将读取写入解耦,在数据读取速率大于数据写入速率时,将已读取待写入数据写入缓存,在读取过程中,不会出现反压。

在使用消息队列作为数据缓存时,默认回收时间为3天,超过缓存时间的数据缓存将会被回收;在需要长时间缓存数据的场景中,您可设置更长的回收时间。

◎ 服务器内存

除了Kafka消息队列作为缓存存储外,您还可以选择使用服务器内存作为数据缓存,相较于Kafka,服务器内存存储数据不需要将数据写入磁盘,再进行读取,对磁盘I\O要求不高,但对服务器内存容量要求较高。使用服务器内存能有效提升数据同步速率,适用于数据量较大的数据同步场景。

操作步骤

  1. 在数据链路详情页-策略配置tab中找到数据加载策略。

  2. 选择系统内置消息队列或选择使用服务器内存作为数据任务缓存。

    1. 在使用消息队列作为缓存时,需要配置回收时间、内存缓存大小、最大请求数据量。

注意事项

在使用消息队列作为数据缓存时,内存缓存大小与最大请求数据量是数据在写入消息队列与从消息队列消费数据过程中内存缓存与请求数据量的配置值。

该配置的默认值在广大客户使用过程中得到充分验证,内存占用较低,处理效率较高,但也存在一定限制,当您数据源的单条数据大小超过了上述默认值时,需要适当调大上述参数。调大上述参数后,数据采集组件与数据加载组件的处理等量数据所需的内存也将变大,请您联系DataPipeline技术支持进行容量评估。

最后更新于

这有帮助吗?