暂无图片
Oracle 数据库的数据发生变化,如何保证数仓的数据和数据库是一致的?
我来答
分享
李华
2022-01-07
Oracle 数据库的数据发生变化,如何保证数仓的数据和数据库是一致的?

Oracle 数据库的数据发生变化,如何保证数仓的数据和数据库是一致的?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
DarkAthena

程序设计上,无论用何种方法都无法保证绝对的一致,因为在目标端并不会完全禁止其他操作。

因此只能在程序设计上多做一些校验,比如同步过去一部分数据就检查这部分数据是否完全一致。行数校验只是初级校验,难点是对每个值进行校验,性能开销会比较大。

如果数仓用的也是oracle数据库,可以用checksum函数快速比较两边是否一致。如果是其他数据库,也可以对多行多列的值进行hash聚合计算,比较两边的hash值是否一致

暂无图片 评论
暂无图片 有用 0
cqiwen

那要看你数仓是用什么工具同步的了。以及需要要保持实时同步还是定时增量同步。如果是实时同步,可以考虑使用ogg。但数仓一般都是多个数据源的集合,通常也不需要实时同步,所以也可以使用kettle等etl工具来做定时同步。

暂无图片 评论
暂无图片 有用 0
薛晓刚

OGG是问题最小的一种解决方案。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏