各种数据库同步中的时间戳机制总结

0    91    3

Tags:

👉 本文共约1450个字,系统预计阅读时间或需6分钟。

简介

增量同步,一般有CDC时间戳这2种办法。

CDC(Change Data Capture,变更数据捕获)主要使用日志进行同步,例如OGG工具就是CDC的一种。

基于时间戳的方法,就是在表上增加一列,在增加和修改时,更新该列的值即可。

通过时间戳的方式来同步的话,只能对UPDATE和INSERT起作用,对于DELETE物理删除操作,或源端删除数据时只修改数据有效标志,可以定期通过主键比对然后同步删除数据。

Oracle

对于Oracle来说,可以使用ORA_ROWSCN来获取数据变更。ora_rowscn默认为块级别的跟踪,即该块上有任何一行进行了修改,该块的ora_rowscn都发生变化,而且一个块的ora_rowscn是相同的。若要精确捕获每行的变化,则需要开启行级别的跟踪。

select * 不会显示ORA_ROWSCN列,必须显式指定该列才可以。

缺点:

1、需要重建表,增加ROWDEPENDENCIES参数,才能启用行级别的跟踪。默认为块级别跟踪。不能通过后期的alter table语句来将表修改为ROWDEPENDENCIES。

2、每行会增加6字节的存储空间。

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
各种数据库同步中的时间戳机制总结后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部