云原生多模数据库 Lindorm支持实时数据订阅功能,实时数据订阅功能帮助您获取Lindorm的实时增量数据,您可以根据自身业务需求自由消费增量数据,搭建或实现多种业务场景。
背景信息
云原生多模数据库 Lindorm数据订阅功能支持任何一个表的每一条数据变更,您可以在客户端查看数据变更记录。当您开通某一张表的数据订阅功能后,其变更数据的操作就会被存储。每次对Lindorm表格的数据执行增删改操作时,数据订阅都会生成一个Stream Record键值对,键值对的键是这一行数据的主键,值是此次操作的详细信息(操作前的值,操作后的值,时间戳,操作类型)。
开通模式
开通云原生多模数据库 Lindorm数据订阅功能有两种模式,Pull模式和Push模式。
Pull模式:您可以使用开源的Kafka客户端直接订阅数据,服务端会暂时保存数据,您需要对保存的数据设置一个过期时间,如果超过这个时间数据会被删除。具体操作请参见通过Pull模式创建数据订阅通道。
Push模式:云原生多模数据库 Lindorm数据订阅功能直接将数据推送到Kafka客户端,服务端不会存储数据。具体操作请参见通过Push模式创建数据订阅。
使用限制
云原生多模数据库 Lindorm数据订阅功能仅支持数据处理语义为至少一次(At-least-once)语义,即同一条数据可能因为内部重试而被重复消费。
云原生多模数据库 Lindorm数据订阅功能中的增量消息以乱序形式存在,即消费消息的顺序不等同于写入Lindorm宽表的顺序。
HBase表的数据订阅功能要求LTS版本为3.7.0及以上。
非SSD实例不建议开启数据订阅功能,由于数据订阅功能中导出整行数据的最新值或更新前的值时为了获取更新前的值会对Lindorm实例增加读操作,每一次写入操作都会增加一次读操作。如果您不需要OldImage/NewImage功能,仅需要变更Delta数据,请提交工单联系我们。
通过Pull模式创建数据订阅通道的订阅数据默认保存7天,与Lindorm共享底层的LDFS存储空间,因此您在开启数据订阅功能前需要先确认有充足的存储空间。