用于从分布式数据源中捕获变更数据以供异构目标使用的系统和方法技术方案

技术编号:22138960 阅读:82 留言:0更新日期:2019-09-18 12:14
根据实施例,本文描述的是用于从分布式数据源系统(例如分布式数据库或分布式数据流)捕获变更数据以及准备规范格式输出,以供一个或多个异构目标(例如数据库或消息队列)使用的系统和方法。变更数据捕获系统能够包括对诸如分布式源拓扑感知、初始加载、重复数据删除和恢复之类的特征的支持。本文描述的系统和方法的技术目的包括确定和向一个或多个目标计算机系统传送对分布式数据源处的数据执行的变更,该分布式数据源包括跨多个节点的大量数据。

Systems and methods for capturing change data from distributed data sources for use by heterogeneous targets

【技术实现步骤摘要】
【国外来华专利技术】用于从分布式数据源中捕获变更数据以供异构目标使用的系统和方法版权声明本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。优先权要求和对相关申请的交叉引用:本申请要求于2017年9月29日提交的标题为“SYSTEMANDMETHODFORCAPTUREOFCHANGEDATAFROMNOSQLDATABASESORDISTRIBUTEDDATASTREAMS,FORUSEWITHHETEROGENEOUSTARGETS”的申请编号为62/566,113的美国临时专利申请的优先权;并且与2011年3月31日提交的标题为“MYSQLDATABASE-HETEROGENEOUSLOGBASEDREPLICATION”的申请编号为13/077,760的美国专利申请相关,该申请随后作为美国专利8,510,270发布,该专利要求2010年7月27日提交的标题为“HETEROGENEOUSLOGBASEDREPLICATIONFROMDATABASESSUCHASMYSQLDATABASES”的申请编号为61/368,141的美国临时专利申请的优先权;以上申请中的每一个通过引用并入本文。
本申请描述的实施例涉及从分布式数据源系统捕获变更数据(changedata),以供一个或多个异构目标使用,包括对诸如分布式源拓扑感知、初始加载、重复数据删除(deduplication)和恢复之类的特征的支持。
技术介绍
组织有时可能需要在不同数据库环境之间移动数据,例如以创建数据的备份,或者使得能够在不同数据库应用之间共享数据。数据复制系统有助于满足这一需求,例如通过作为行操作的结果检测和复制对数据库表中的数据的变更,代替拷贝整个表及其中的数据。这种方法可以用于将目标数据库中的数据与源数据库中的数据同步。但是,支持非常大的数据集的环境(例如大数据环境)带来了与可用性、可伸缩性和容错性相关的挑战,并且传统的数据库或数据复制系统可能无法充分扩展以处理如此大量的数据。组织越来越多地转向提供分布式数据源的系统,例如诸如ApacheCassandra、Kafka、MongoDB、OracleNoSQL或GoogleBigtable之类的数据库,以解决这些问题。这些是可以使用本教导的实施例的环境类型的一些示例。
技术实现思路
根据实施例,本文描述的是用于从分布式数据源系统(例如分布式数据库或分布式数据流)捕获变更数据以及准备规范(canonical)格式输出,以供一个或多个异构目标(例如数据库或消息队列)使用的系统和方法。变更数据捕获系统可以包括对诸如分布式源拓扑感知、初始加载、重复数据删除和恢复之类的特征的支持。本文描述的系统和方法的技术目的包括确定以及向一个或多个目标计算机系统传送对分布式数据源处的数据执行的变更,该分布式数据源包括跨多个节点的大量数据。附图说明图1图示了根据实施例的用于从分布式数据源捕获变更数据以供异构目标使用的系统。图2进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统。图3进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统。图4进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统。图5进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统。图6进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统。图7图示了根据实施例的用于从分布式数据源捕获变更数据的方法的流程图。图8图示了根据实施例的用于从分布式数据源捕获变更数据的重复数据删除进程的流程图。图9图示了根据实施例的用于从分布式数据源捕获变更数据的系统的流程图,包括重复数据删除进程。图10进一步图示了根据实施例的用于从分布式数据源捕获变更数据的系统的流程图。图11图示了根据实施例的用于与从分布式数据源捕获变更数据的恢复进程的流程图。图12图示了根据实施例的用于从分布式数据源捕获变更数据的系统的流程图,包括恢复进程。图13图示了根据另一个实施例的用于从分布式数据源捕获变更数据的系统的流程图。图14图示了根据又一个实施例的用于从分布式数据源捕获变更数据的系统的流程图。图15图示了根据实施例的用于与用于从分布式数据源捕获变更数据的系统的恢复场景的示例。图16图示了根据实施例的与用于从分布式数据源捕获变更数据的系统的恢复场景的另一个示例。图17图示了根据实施例的与用于从分布式数据源捕获变更数据的系统的恢复场景的另一个示例。图18图示了根据实施例的与用于从分布式数据源捕获变更数据的系统的恢复场景的另一个示例。具体实施方式如上所述,组织有时可能需要在不同数据库环境之间移动数据,例如以创建数据的备份,或者实现在不同数据库应用之间共享数据。数据复制系统有助于解决这一需求,例如通过作为行操作的结果检测和复制对数据库表中的数据的变更,代替拷贝整个表及其中的数据。这种方法可以用于将目标数据库中的数据与源数据库中的数据同步。但是,支持非常大的数据集的环境(例如大数据环境)带来了与可用性、可伸缩性和容错性相关的挑战。例如,操作以读取提交日志或事务日志以提取数据源中的变更的数据复制系统面临以下挑战:源系统可以在各种节点上具有多于一个数据拷贝;源系统是分区容忍的(partitiontolerant);一些节点可能关闭并且不具有网络连接性;并且源系统可能具有一个或多个新添加的节点,从而导致来自不同地点的新数据。虽然组织可以尝试使用连接到源系统的作业来解决这个问题,并且运行查询以跨不同的源和目标系统提取整个数据集或表数据;但是当数据量高时,这种数据移动存在显著的延时。从分布式数据源捕获数据根据实施例,本文描述的是用于从分布式数据源系统(例如分布式数据库或分布式数据流)捕获变更数据以及准备规范格式输出,以供一个或多个异构目标(例如数据库或消息队列)使用的系统和方法。变更数据捕获(CDC)系统可以包括对诸如分布式源拓扑感知、初始加载、重复数据删除和恢复等特征的支持。本文描述的系统和方法的技术目的包括确定以及向一个或多个目标计算机系统传送对分布式数据源处的数据执行的变更,该分布式数据源包括跨多个节点的大量数据。根据实施例,变更数据捕获系统包括对诸如分布式源拓扑感知、初始加载、重复数据删除和恢复之类的特征的支持,其例如使得能够:从分布式数据源捕获增量变更,以供异构目标(例如,数据库或消息队列)使用。由分布式数据源提供的数据的自动重复数据删除。分布式源拓扑的自动发现,具有对(一个或多个)源变更跟踪(trace)实体的可配置访问;以及分布式源拓扑感知,支持对分布式数据源的动态变更,诸如添加或移除节点。支持恢复,使得当分布式数据源系统中已经主动提供记录的节点例如由于故障而变得不可用时,可以选择副本节点并且对由故障节点处理的最后记录进行查找。捕获进程本身可以容忍崩溃、可以恢复并自动重新定位其本身,而不引入任何数据丢失或重复记录。根据一般描述的实施例,变更数据捕获系统进行操作以执行如下步骤:发现集群的分布式源拓扑。检索关于(一个或多个)分布式源变更跟踪(trace)实体(例如,提交日志、数据库表或消息队列)的位置的信息,或者检索不本文档来自技高网
...

【技术保护点】
1.一种用于从分布式数据源捕获变更数据以供异构目标使用的系统,包括:计算机,包括处理器和在所述计算机上执行的变更数据捕获进程管理器;其中所述变更数据捕获进程管理器被配置为使用捕获进程从分布式数据源捕获变更数据,以供一个或多个目标使用。

【技术特征摘要】
【国外来华专利技术】2017.09.29 US 62/566,1131.一种用于从分布式数据源捕获变更数据以供异构目标使用的系统,包括:计算机,包括处理器和在所述计算机上执行的变更数据捕获进程管理器;其中所述变更数据捕获进程管理器被配置为使用捕获进程从分布式数据源捕获变更数据,以供一个或多个目标使用。2.如权利要求1所述的系统,其中所述分布式数据源能够是分布式数据库或分布式数据流或其它分布式数据源中的一个,并且其中所述一个或多个目标能够包括数据库、消息队列或其它目标中的一个或多个。3.如权利要求1-2中任一项所述的系统,其中所述变更数据捕获进程管理器被配置为执行变更数据捕获进程,所述变更数据捕获进程将从所述分布式数据源读取的变更数据转换为变更数据的规范格式输出,以供所述一个或多个目标消耗。4.如权利要求3所述的系统,其中,基于将向其传送变更数据的目标系统,将变更数据的规范格式输出转换为由目标系统使用的格式。5.如权利要求3-4中任一项所述的系统,其中所述变更数据捕获进程管理器使得能够由可插拔适配器部件提供对新目标系统的支持,所述可插拔适配器部件读取变更数据的规范格式输出并将变更数据的规范格式输出转换为由所述新目标系统使用的格式。6.如权利要求1-5中任一项所述的系统,其中所述变更数据捕获进程管理器被配置为执行重复数据删除进程,所述重复数据删除进程提供由所述分布式数据源提供的数据的自动重复数据删除。7.如权利要求6所述的系统,其中在对与分布式数据源系统相关联的分布式源拓扑的变更后,所述重复数据删除进程检测对所述分布式源拓扑的变更,其中对所述分布式源拓扑的变更包括添加一个或多个节点到所述分布式源拓扑或从所述分布式源拓扑移除一个或多个节点。8.如权利要求1-7中任一项所述的系统,其中所述变更数据捕获进程管理器被配置为执行与所述分布式数据源系统相关联的分布式源拓扑的自动发现,并且提供对所述分布式数据源系统的节点处的提交日志的访问。9.如权利要求1-8中任一项所述的系统,其中所述变更数据捕获进程管理器被配置为,在确定所述分布式数据源系统中曾经提供记录的特定节点已经变得不可用后,执行选择副本节点的恢复进程,在该副本节点处获得记录。10.如权利要求1-9中任一项所述的系统,其中如果存在具有匹配的最后记录的多于一个副本节点,那么选择具有最大记录历史的副本,以馈送在由不可用的节点处理的最后记录中找到的分区令牌。11.一种用于从分布式数据源捕获变更数据以供异构目标使用的方法,包括:在计算机处提供在所述计算机上执行的变更数据捕获进程管理器;使用捕获进程从分布式数据源捕获变更数据,以供一个或多个目标使用。12.如权利要求11所述的方法,其中所述分布式数据源能够是分布式数据库或分布式数据流或其它分布式数据源中的一个,并且其中所述一个或多个目标能够包括数据库、消息队列或其它目标中的一个或多个。13.如权利要求11-12中任一项所述的方法,其中所述变更数据捕获进程管理器执行变更数据捕获进程,所述变更数据捕获进程将从所述分布式数据源读取的变更数据转换为变更数据的规范格式输出,以供所述一个或多个目标消耗。14.如权利要求13所述的方法,其中,基于将向其传送变更数据的目标系统,将变更数据的规范格式输出转换为由所述目标系统使用的格式。15.如权利要求13-14中任一项所述的方法,其中所述变更数据捕获进程管理器使得能够由可插拔适配器部件提供对新目标系统的支持,所述可插拔适配器部件读取变更数据的规范格式输出并将变更数据的规范格式输出转换为由所述新目标系统使用的格式。16.如权利要求11-15中任一项所述的方法,其中所述...

【专利技术属性】
技术研发人员:S·瓦苏德万L·哈严托S·R·科尔宾
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1