本发明涉及数据库,特别是涉及一种oceanbase分布式数据库实时数据同步系统。
背景技术:
1、目前通过在源端数据库创建触发器的方式进行捕捉同步,对客户源端数据库需要做操作,对源端数据库具有侵入性,对很多客户来说不允许在生产环境做任何操作。所以具有一定的局限性。针对源端分析到的中间文件到目标端数据库的方法,需要同步的数据很多,资源使用量大,很难从纷繁复杂的数据中实时获取到用户想获取的数据。
技术实现思路
1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本发明提出了一种oceanbase分布式数据库实时数据同步方法,不需要在数据库中建立触发器,也不要额外权限,对数据库没有任何侵入性,因此,可以有效地实现数据的提取和数据转发。
3、本发明的另一个目的在于提出另一种oceanbase分布式数据库实时数据同步方法。
4、本发明的第三个目的在于提出一种oceanbase分布式数据库实时数据同步系统。
5、本发明的第四个目的在于提出另一种oceanbase分布式数据库实时数据同步系统。
6、为达上述目的,本发明一方面提出一种oceanbase分布式数据库实时数据同步方法,应用于源端,所述方法包括:
7、利用oceanbase for oracle数据库的proxy代理接口从数据库中获取所有同步对象的表字典信息,并基于所述表字典信息得到同步对象的全量数据;
8、获取第一租户数据库实例下所有数据节点包含对所述全量数据进行增删改的dml操作以及对同步对象结构进行修改的ddl操作对应的第一增量数据变化量;
9、至少将所述表字典信息、所述全量数据以及所述第一增量数据变化量发送到对应的目标端以实现数据同步。
10、本发明实施例的oceanbase分布式数据库实时数据同步方法还可以具有以下附加技术特征:
11、在本发明的一个实施例中,在基于所述表字典信息得到同步对象的全量数据之后,所述方法,还包括:通过预设的第一转换接口将所述全量数据转换为全量二进制数据。
12、在本发明的一个实施例中,在通过预设的第一转换接口将所述全量数据转换为全量二进制数据之后,所述方法,还包括:
13、获取第二租户数据库实例下所有数据节点对应的第二增量数据变化量;
14、通过预设的第二转换接口将所述第二增量数据变化量转换为增量二进制数据,并以文件的形式保存在源端服务器的磁盘上。
15、为达上述目的,本发明另一方面提出一种oceanbase分布式数据库实时数据同步方法,应用于目标端,所述方法包括:
16、至少接收源端发送的表字典信息、全量数据、第一增量数据变化量和第二增量数据变化量;
17、按照目标端数据库的格式要求,利用对应装载接口分别顺序装载接收到的表字典信息、全量数据、第一增量数据变化量和第二增量数据变化量以完成数据实时共享。
18、为达上述目的,本发明另一方面提出一种oceanbase分布式数据库实时数据同步系统,包括:
19、全量模块,用于利用oceanbase for oracle数据库的proxy代理接口从数据库中获取所有同步对象的表字典信息,并基于所述表字典信息得到同步对象的全量数据;
20、增量模块,用于获取第一租户数据库实例下所有数据节点包含对所述全量数据进行增删改的dml操作以及对同步对象结构进行修改的ddl操作对应的第一增量数据变化量;
21、发送模块,用于至少将所述表字典信息、所述全量数据以及所述第一增量数据变化量发送到对应的目标端以实现数据同步。
22、为达上述目的,本发明另一方面提出一种oceanbase分布式数据库实时数据同步系统,包括:
23、接收模块,用于至少接收源端发送的表字典信息、全量数据、第一增量数据变化量和第二增量数据变化量;
24、装载模块,用于按照目标端数据库的格式要求,利用对应装载接口分别顺序装载接收到的表字典信息、全量数据、第一增量数据变化量和第二增量数据变化量以完成数据实时共享。
25、本发明实施例的oceanbase分布式数据库实时数据同步方法和系统,从某个时刻开始将oceanbase for oracle数据库上的全量数据以及从此刻开始的增量数据实时复制共享到其他数据库,可以实现数据的有效提取和转发,通过共享数据库,可以避免数据的多重副本,减少了数据冗余,从而节约存储空间。
26、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种oceanbase分布式数据库实时数据同步方法,其特征在于,应用于源端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在基于所述表字典信息得到同步对象的全量数据之后,所述方法,还包括:通过预设的第一转换接口将所述全量数据转换为全量二进制数据。
3.根据权利要求2所述的方法,其特征在于,在通过预设的第一转换接口将所述全量数据转换为全量二进制数据之后,所述方法,还包括:
4.一种oceanbase分布式数据库实时数据同步方法,其特征在于,应用于目标端,所述方法包括:
5.根据权利要求4所述的方法,其特征在于,在接收源端发送的表字典信息、全量数据、第一增量数据变化量和第二增量数据变化量之后,所述方法,还包括:
6.一种oceanbase分布式数据库实时数据同步系统,其特征在于,包括:
7.根据权利要求6所述的系统,其特征在于,所述全量模块,还用于:
8.根据权利要求7所述的系统,其特征在于,所述增量模块,还用于:
9.一种oceanbase分布式数据库实时数据同步系统,其特征在于,包括:
10.根据权利要求9所述的系统,其特征在于,装载模块,还用于:
