CN113849482A - 一种数据迁移方法、装置及电子设备 - Google Patents

一种数据迁移方法、装置及电子设备 Download PDF

Info

Publication number
CN113849482A
CN113849482A CN202111128570.5A CN202111128570A CN113849482A CN 113849482 A CN113849482 A CN 113849482A CN 202111128570 A CN202111128570 A CN 202111128570A CN 113849482 A CN113849482 A CN 113849482A
Authority
CN
China
Prior art keywords
data
piece
target data
database
table partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111128570.5A
Other languages
English (en)
Inventor
张健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202111128570.5A priority Critical patent/CN113849482A/zh
Publication of CN113849482A publication Critical patent/CN113849482A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据迁移方法、装置及电子设备,涉及数据存储领域,该方法应用于数据迁移工具,包括:读取集中式数据库中待进行数据迁移的各条目标数据;获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。与现有技术相比,应用本发明实施例提供的方案,可以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势,以及保证能够数据迁移之后有效地反向迁移。

Description

一种数据迁移方法、装置及电子设备
技术领域
本发明涉及数据存储技术领域,特别是涉及一种数据迁移方法、装置及电子设备。
背景技术
当前,考虑到数据访问效率等原因,通常将集中式数据库中存储的数据迁移到分布式数据库中,进而基于分布式数据库来响应数据访问。
相关技术中,在数据迁移时,集中式数据库的表分区特性往往会丢失或被改造,从而导致在将各条目标数据从分布式数据库重新迁移回集中式数据库的反向迁移过程中,难以恢复集中式数据库的表分区特性。
因此,在从集中式数据库至分布式数据库进行数据迁移时,如何兼顾分布式数据库的分布存储优势并保证数据迁移之后能够有效地反向迁移,是一个亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种数据迁移方法、装置及电子设备,以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势并保证数据迁移之后能够有效地反向迁移。具体技术方案如下:
第一方面,本发明实施例提供了一种数据迁移方法,应用于数据迁移工具,所述方法包括:
读取集中式数据库中待进行数据迁移的各条目标数据;
获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
可选的,一种具体实现方式中,所述方法还包括:
从所述分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
将每条目标数据存储至所述集中式数据库中的目标表分区中;其中,所述目标表分区为:每条目标数据的表分区元数据所表征的表分区。
可选的,一种具体实现方式中,所述按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中的步骤,包括:
针对每条目标数据,确定该条目标数据中的预设关键值,并对所述预设关键值进行哈希变换,得到目标哈希值;
基于所述目标哈希值,在所述分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
可选的,一种具体实现方式中,所述获取每条目标数据的表分区元数据的步骤,包括:
在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
可选的,一种具体实现方式中,所述分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
第二方面,本发明实施例提供了一种数据迁移装置,应用于数据迁移工具,所述装置包括:
第一数据读取模块,用于读取集中式数据库中待进行数据迁移的各条目标数据;
元数据获取模块,用于获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
数据存储模块,用于将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
可选的,一种具体实现方式中,所述装置还包括:
第二数据读取模块,用于从所述分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
数据恢复模块,用于将每条目标数据存储至所述集中式数据库中的目标表分区中;其中,所述目标表分区为:每条目标数据的表分区元数据所表征的表分区。
可选的,一种具体实现方式中,所述数据存储模块具体用于:
针对每条目标数据,确定该条目标数据中的预设关键值,并对所述预设关键值进行哈希变换,得到目标哈希值;基于所述目标哈希值,在所述分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
可选的,一种具体实现方式中,所述元数据获取模块具体用于:
在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
可选的,一种具体实现方式中,所述分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
第三方面,本发明实施例提供了一种电子设备,设置有数据迁移工具,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的任一数据迁移方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的任一数据迁移方法的步骤。
第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提供的任一数据迁移方法的步骤。
本发明实施例有益效果:
以上可见,应用本发明实施例提供的方案,在将集中式数据库中存储的数据迁移到分布式数据库时,数据迁移工具可以读取集中式数据库中待进行数据迁移的各条目标数据,并获取每条目标数据的表分区元数据。进而,数据迁移工具在按照负载均衡的方式,将所读取到的各条目标数据存储至分布式数据库中的同时,还可以将各条目标数据的表分区元数据存储至分布式数据库中。
这样,在将各条目标数据从分布式数据库重新迁移回集中式数据库的反向迁移过程中,数据迁移工具便可以在分布式数据库中读取各条目标数据的表分区元数据,以便于将每条目标数据回迁至集中式数据库中该条目标数据的表分区元数据所指示的分区中,实现数据迁移之后有效地反向迁移。
基于此,应用本发明实施例提供的方案,可以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势并保证数据迁移之后能够有效地反向迁移。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为一种应用本发明实施例提供的数据迁移方法的具体实例的示意图;
图2为本发明实施例提供的一种数据迁移方法的流程示意图;
图3为本发明实施例提供的另一种数据迁移方法的流程示意图;
图4为本发明实施例提供的一种数据迁移装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在数据迁移时,集中式数据库的表分区特性往往会丢失或被改造,从而导致在将各条目标数据从分布式数据库重新迁移回集中式数据库的反向迁移过程中,难以恢复集中式数据库的表分区特性。因此,在从集中式数据库至分布式数据库进行数据迁移时,如何兼顾分布式数据库的分布存储优势,并保证数据迁移之后能够有效地反向迁移,是一个亟待解决的问题。
为了解决上述技术问题,本发明实施例提供了一种数据迁移方法。
其中,该方法适用于各种需要将数据从集中式数据库迁移至分布式数据库中的应用场景,例如,企业机房搬迁、物理机房向云平台的转换等,当然,并不局限于此。
该方法应用于数据迁移(Data Transformation Service,DTS)工具,其中,数据迁移工具是一种数据转换服务,可以实现将数据从一个存储位置移动到另一个存储位置。在具体应用中,用于执行该方法的数据迁移工具是预先设置在笔记本电脑、台式电脑等各类电子设备中的数据迁移工具,当然,用于执行该方法的数据迁移工具也可以是预先设置在设备集群中的数据迁移工具。
其中,本发明实施例提供的一种数据迁移方法,可以包括如下步骤:
读取集中式数据库中待进行数据迁移的各条目标数据;
获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
以上可见,应用本发明实施例提供的方案,在将集中式数据库中存储的数据迁移到分布式数据库时,数据迁移工具可以读取集中式数据库中待进行数据迁移的各条目标数据,并获取每条目标数据的表分区元数据。进而,数据迁移工具在按照负载均衡的方式,将所读取到的各条目标数据存储至分布式数据库中的同时,还可以将各条目标数据的表分区元数据存储至分布式数据库中。
这样,在将各条目标数据从分布式数据库重新迁移回集中式数据库的反向迁移过程中,数据迁移工具便可以在分布式数据库中读取各条目标数据的表分区元数据,以便于将每条目标数据回迁至集中式数据库中该条目标数据的表分区元数据所指示的分区中,实现数据迁移之后有效地反向迁移。
基于此,应用本发明实施例提供的方案,可以实现从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势,并保证数据迁移之后能够有效地反向迁移。
在对本发明实施例提供的一种数据迁移方法进行具体说明之前,先对数据在集中式数据库和分布式数据库中的存储方式进行简要说明。
集中式数据库中所存储的数据被存储到同一个数据存储空间中,从而,集中式数据库对外呈现的是统一的数据逻辑表,也就是说,当用户基于集中式数据库来响应数据访问时,用户所查看到的是统一的数据逻辑表。然而,在集中式数据库的数据存储空间内部,该数据存储空间被划分为多个数据分区,即划分为多个表分区,从而,属于同一个数据逻辑表的各条数据实际被存储在集中式数据库的数据存储空间中的各个表分区中。
其中,为了便于描述,以下,集中式数据库的数据存储空间中的各个表分区简称为集中式数据库的各个表分区。
也就是说,在集中式数据库中,各条数据被存储在集中式数据库的各个表分区中,而集中式数据库对外呈现统一的数据逻辑表。
例如,如图1所示,表分区也可以称为表空间分区,则TableA为集中式数据库对外呈现的统一的数据逻辑表,而属于TableA的各条数据被存储在集中式数据库的表分区空间1、表分区空间2等各个表分区空间中。
相应的,分布式数据库具有多个独立的数据库实例,各条数据被存储到各个不同的数据库实例中,并且,每个数据库实例中所存储的数据是按照所划定的数据子表存储的,即存储在同一个数据库实例中的各条数据被存储到该数据库实例中的各个不同子表中。从而,每个数据库实例单独对外呈现自身所存储数据所属各个数据子表,以及每个子表所属的数据逻辑表,其中,属于同一个数据逻辑表的各个数据子表可以位于不同的数据库实例中。
例如,如图1所示,TableA为数据逻辑表,子表X和子表Y为数据库实例1(DB1)中属于TableA的数据子表,子表M和子表N为数据库实例N(DBN)中属于TableA的数据子表。其中,DB为Database(数据库)的简写。
可选的,分布式数据库通常可以是包括多个数据存储节点的分布式数据数据库***,其中,各个数据存储节点即为各个数据库实例。
通常,分布式数据库中可以设置有一个节点作为分布式数据库的管理节点,其中,该管理节点可以是一个与各个数据库实例分开的单独节点,也可以是各个数据存储节点中的某个数据库实例,则该数据库实例可以用于管理分布式数据库***还可以用于进行数据存储。
例如,如图1所示,分布式数据库为分布式数据库***,DB1-DBN分别为N个数据存储节点,全局管理节点(GMS,Global Management Service)为管理节点。
下面结合附图,对本发明实施例提供的一种数据迁移方法进行具体说明。
图2为本发明实施例提供的一种数据迁移方法的流程示意图,如图2所示,该方法可以包括如下步骤S201-S203。
S201:读取集中式数据库中待进行数据迁移的各条目标数据;
在将集中式数据库中存储的数据迁移到分布式数据库中时,数据迁移工具可以首先确定集中式数据库中待进行数据迁移的各条目标数据。
例如,数据迁移工具可以将集中式数据库所存储的全部数据均作为待进行数据迁移的目标数据;又例如,数据迁移工具可以接收用户发送的数据迁移指令,该数据迁移指令可以指示集中式数据库中待进行数据迁移的目标数据,示例性的,指示集中式数据库中数据类型为目标类型的数据为待进行数据迁移的目标数据,指示集中式数据库中存储时间在目标时间范围内的数据为待进行数据迁移的目标数据等。其中,本发明实施例不对数据迁移工具确定集中式数据库中待进行数据迁移的各条目标数据的方式进行具体限定。
这样,在确定出集中式数据库中待进行数据迁移的各条目标数据后,数据迁移工具便可以读取集中式数据库中待进行数据迁移的各条目标数据。
例如,当集中式数据库所存储的全部数据均为待进行数据迁移的目标数据时,数据迁移工具可以逐一读取集中式数据库所存储的各条数据;又例如,在集中式数据库所存储的各条数据中,筛选数据迁移指令所指示的各条待迁移的目标数据,从而,读取所筛选出的各条数据。
基于此,本发明实施例不对上述步骤S201的具体实现方式进行限定。
S202:获取每条目标数据的表分区元数据;
其中,任一目标数据的表分区元数据用于表征该目标数据在集中式数据库中所位于的表分区;
由于在集中式数据库中,各条数据可以被存储在集中式数据库的不同表分区中,因此,在读取每条目标数据时,数据迁移工具可以随之获取该条目标数据的表分区元数据。
其中,由于任一目标数据的表分区元数据用于表征该目标数据在集中式数据库中所位于的表分区,从而,通过读取每条目标数据的表分区元数据,数据迁移工具便可以确定每条目标数据在集中式数据库中所位于的表分区。
其中,可选的,一种具体实现方式中,集中式数据库中可以记录有各条目标数据的表分区元数据,从而,数据迁移工具在读取每条目标数据时,可以随之读取集中式数据库所记录的该条目标数据的表分区元数据。
可选的,另一种具体实现方式中,集中式数据库中的每个表分区占据了集中式数据库中的部分存储空间,从而,集中式数据库中的每个表分区与集中式数据库中的数据存储空间的存储地址之间存在对应关系,即集中式数据库中的每个表分区对应于集中式数据库中的数据存储空间的全部存储地址中的一个地址范围,从而,针对集中式数据库中所存储的每个数据,可以根据该数据的存储地址所在的地址范围,确定该数据所位于的表分区。
基于此,在本具体实现方式中,上述步骤S202,即可以包括如下步骤11:
步骤11:在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
在本具体实现方式中,在读取到每条目标数据时,数据迁移工具可以随之获取该条目标数据的存储地址,从而,可以基于该条目标数据的存储地址,确定该条目标数据所位于的表分区,并进一步确定该条目标数据的表分区元数据。
S203:将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至分布式数据库中。
在获取到各条目标数据和每条目标数据的表分区元数据后,数据迁移工具便可以将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至分布式数据库中。
其中,分布式数据库包括多个数据库实例,从而,数据迁移工具可以将所获取到的各个表分区元数据存储在某个数据库实例中,并将各条目标数据存储在各个数据库实例中。
这样,上述各个表分区元数据可以与至少一条目标数据存储在同一个数据库实例上,也可以与各条目标数据均不存储在同一个数据库实例上。
基于此,可选的,一种具体实现方式中,分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
此外,可选的,当分布式数据库中存在与各个数据库实例分开的单独的管理节点时,为了不使上述各个表分区数据占据分布式数据库中各个数据库实例中的存储空间,以实现各个数据库实例之间的存储均衡,可以将各个表分区元数据存储在该管理节点中,从而,将各条目标数据存储至各个数据库实例中。
可选的,一种具体实现方式中,上述步骤S203中,按照均衡存储的方式,将每条目标数据存储至分布式数据库中,可以包括如下步骤21:
步骤21:针对每条目标数据,确定该条目标数据中的预设关键值,并对预设关键值进行哈希变换,得到目标哈希值;基于目标哈希值,在分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
在本具体实现方式中,在存储每条目标数据时,数据迁移工具可以确定该条目标数据中的预设关键值,进而,便可以对该预设关键值进行哈希(Hash)变换,得到目标哈希值,这样,便可以基于该目标哈希值,在分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
其中,可选的,可以计算上述目标哈希值除以分布式数据库中的数据库实例所得到的余数,从而,根据该余数,在分布式数据库中确定用于存储该条目标数据的数据库实例。
需要说明的是,上述步骤21仅仅是对上述均衡存储的实现方式的举例说明,而非限定,任一能够实现分布式数据库中的每个数据库实例均衡存储的方式,均在本发明的保护范围内。
可选的,数据迁移工具可以在读取到每条目标数据,并获取到该条目标数据的表分区元数据后,将该条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将该条目标数据存储至分布式数据库中。从而,数据迁移工具可以逐条存储目标数据和目标数据的表分区元数据。
可选的,数据迁移工具可以在获取到全部目标数据以及各条目标数据的表分区元数据后,一次性将所获取到的全部表分区元数据存储至分布式数据库中,并按照均衡存储的方式,一次性将全部目标数据存储至分布式数据库中。
基于此,应用本发明实施例提供的方案,可以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势,并保证数据迁移之后能够有效地反向迁移。
其中,按照均衡存储的方式,将每条目标数据存储至分布式数据库中,可以使得分布式数据库中的每个数据库实例可以接收到数量均衡的数据写任务,并且,使得每个数据库实例中所存储的数据的数量可以满足数据量均衡,进而,在基于分布式数据库来响应数据访问时,可以使得每个数据库实例可以响应数量均衡的数据访问请求,以保证分布式数据库的数据访问效率。
在上述各个具体实现方式中,在将集中式数据库中待进行数据迁移的各条目标数据存储至分布式数据库中后,集中式数据库中将删除所存储的上述各条目标数据,即在将目标数据从集中式数据库迁移至分布式数据库中后,集中式数据库中将不再存储有目标数据。
而在某些实际应用中,需要将上述目标数据从分布式数据库回迁至集中式数据库中,并且,针对每条目标数据,在回迁之后,该条目标数据在集中式数据库中所位于的表分区,与上述进行数据迁移前,该条目标数据在集中式数据库中所位于的表分区相同。
基于此,可选的,一种具体实现方式中,如图3所示,本发明实施例提供的一种数据迁移方法还可以包括如下步骤S204-S205。
S204:从分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
S205:将每条目标数据存储至集中式数据库中的目标表分区中;
其中,目标表分区为:每条目标数据的表分区元数据所表征的表分区。
在本具体实现方式中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区,并且,分布式数据库中存储了各条目标数据的表分区元数据,其中,分布式数据库中所存储的每条目标数据的表分区元数据表征了在进行数据迁移前,该条目标数据在集中式数据库中所位于的表分区,从而,该表分区元数据可以表征在此次进行数据回迁时,该条目标数据所要存储至的集中式数据库中的目标表分区。
这样,在进行目标数据回迁时,数据迁移工具可以从分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据,进而,针对每条目标数据,数据迁移工具可以根据该目标数据的表分区元数据,确定该条目标数据在集中式数据库中所位于的目标表分区,从而,将该条目标数据存储至集中式数据库中的目标表分区中。
基于此,在将全部目标数据均存储至集中式数据库中的目标表分区后,各条目标数据的反向迁移完成,并且,针对每条目标数据,在回迁之后,该条目标数据在集中式数据库中所位于的表分区,与上述进行数据迁移前,该条目标数据在集中式数据库中所位于的表分区相同,即实现了有效地反向迁移。
并且,在将全部目标数据均存储至集中式数据库中的目标表分区后,分布式数据库中将不再存储有上述各条目标数据和各条目标数据的表分区元数据。
这样,可以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势,并保证数据迁移之后能够有效地反向迁移。
为了便于理解本发明实施例提供的数据迁移方法,下面,通过图1所示的具体实例,对本发明实施例提供的数据迁移方法进行说明。
如图1所示,集中式数据库中存储有TableA,并且,TableA中的各条数据存储在集中式分布式的表空间分区1、表空间分区2等多个表空间分区中。
在将集中式数据库中的数据迁移至分布式数据库中的正向迁移过程中,数据迁移工具从集中式数据库中读取TableA中的各条数据,并获取每条数据的表分区元数据。进而,数据迁移工具按照均衡存储的方式,将所读取到的TableA中的各条数据,存储至分布式数据库中的各个数据库实例DB1-DBN中的子表X至子表N中,并将各个表分区元数据存储至分布式数据库中的全局管理单元中。
在上述正向迁移完成后,集中式数据库中不再存储有TableA中的各条数据。
在将分布式数据库中的数据回迁至集中式数据库中的反向迁移过程中,数据迁移工具从分布式数据库中的各个数据库实例DB1-DBN中的子表X至子表N中,读取TableA中的各条数据,并从全局管理单元中读取每条数据的表分区元数据。进而,针对每条数据,根据该条数据的表分区元数据,确定该条数据在集中式数据库中所位于的表分区,从而,将该条数据存储至所确定的集中式数据库中的表分区中。
在上述反向迁移完成后,分布式数据库中不再存储有TableA中的各条数据,而TableA中的各条数据在集中式数据库中所位于的表分区,与上述正向迁移进行前,所位于的表分区相同。
相应于上述本发明实施例提供的一种数据迁移方法,本发明实施例还提供了一种数据迁移装置,该装置应用于数据迁移工具。
图4为本发明实施例提供的一种数据迁移装置的结构示意图,如图4所示,该装置可以包括如下模块:
第一数据读取模块410,用于读取集中式数据库中待进行数据迁移的各条目标数据;
元数据获取模块420,用于获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
数据存储模块430,用于将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
基于此,应用本发明实施例提供的方案,可以实现在从集中式数据库至分布式数据库进行数据迁移时,兼顾分布式数据库的分布存储优势,以及保证能够数据迁移之后有效地反向迁移。
可选的,一种具体实现方式中,所述装置还包括:
第二数据读取模块,用于从所述分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
数据恢复模块,用于将每条目标数据存储至所述集中式数据库中的目标表分区中;其中,所述目标表分区为:每条目标数据的表分区元数据所表征的表分区。
可选的,一种具体实现方式中,所述数据存储模块430具体用于:
针对每条目标数据,确定该条目标数据中的预设关键值,并对所述预设关键值进行哈希变换,得到目标哈希值;基于所述目标哈希值,在所述分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
可选的,一种具体实现方式中,所述元数据获取模块410具体用于:
在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
可选的,一种具体实现方式中,所述分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
相应于上述本发明实施例提供的一种数据迁移方法,本发明实施例还提供了一种电子设备,如图5所示,设置有数据迁移工具,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述本发明实施例提供的任一数据迁移方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述本发明实施例提供的任一数据迁移方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述本发明实施例提供的任一数据迁移方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种数据迁移方法,其特征在于,应用于数据迁移工具,所述方法包括:
读取集中式数据库中待进行数据迁移的各条目标数据;
获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
将每条目标数据存储至所述集中式数据库中的目标表分区中;其中,所述目标表分区为:每条目标数据的表分区元数据所表征的表分区。
3.根据权利要求1所述的方法,其特征在于,所述按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中的步骤,包括:
针对每条目标数据,确定该条目标数据中的预设关键值,并对所述预设关键值进行哈希变换,得到目标哈希值;
基于所述目标哈希值,在所述分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
4.根据权利要求1所述的方法,其特征在于,所述获取每条目标数据的表分区元数据的步骤,包括:
在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
6.一种数据迁移装置,其特征在于,应用于数据迁移工具,所述装置包括:
第一数据读取模块,用于读取集中式数据库中待进行数据迁移的各条目标数据;
元数据获取模块,用于获取每条目标数据的表分区元数据;其中,任一目标数据的表分区元数据用于表征该目标数据在所述集中式数据库中所位于的表分区;
数据存储模块,用于将每条目标数据的表分区元数据存储至分布式数据库中,并按照均衡存储的方式,将每条目标数据存储至所述分布式数据库中。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二数据读取模块,用于从所述分布式数据库中读取各条目标数据以及每条目标数据的表分区元数据;
数据恢复模块,用于将每条目标数据存储至所述集中式数据库中的目标表分区中;其中,所述目标表分区为:每条目标数据的表分区元数据所表征的表分区。
8.根据权利要求6所述的装置,其特征在于,所述数据存储模块具体用于:
针对每条目标数据,确定该条目标数据中的预设关键值,并对所述预设关键值进行哈希变换,得到目标哈希值;基于所述目标哈希值,在所述分布式数据库中确定用于存储该条目标数据的数据库实例,并将该条目标数据存储至所确定的数据库实例中。
9.根据权利要求6所述的装置,其特征在于,所述元数据获取模块具体用于:
在读取每条目标数据时,获取该条目标数据的存储地址,并基于所确定的存储地址,确定该条目标数据的表分区元数据。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述分布式数据库中用于存储各条目标数据的表分区元数据的数据库实例,与用于存储各条目标数据的数据库实例为不同的数据库实例。
11.一种电子设备,其特征在于,设置有数据迁移工具,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN202111128570.5A 2021-09-26 2021-09-26 一种数据迁移方法、装置及电子设备 Pending CN113849482A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111128570.5A CN113849482A (zh) 2021-09-26 2021-09-26 一种数据迁移方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111128570.5A CN113849482A (zh) 2021-09-26 2021-09-26 一种数据迁移方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN113849482A true CN113849482A (zh) 2021-12-28

Family

ID=78979504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128570.5A Pending CN113849482A (zh) 2021-09-26 2021-09-26 一种数据迁移方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113849482A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328924A (zh) * 2022-10-17 2022-11-11 北京奥星贝斯科技有限公司 一种创建表空间的方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115328924A (zh) * 2022-10-17 2022-11-11 北京奥星贝斯科技有限公司 一种创建表空间的方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US10296498B2 (en) Coordinated hash table indexes to facilitate reducing database reconfiguration time
US11030247B2 (en) Layered graph data structure
US10157214B1 (en) Process for data migration between document stores
CN107103011B (zh) 终端数据搜索的实现方法和装置
US9514170B1 (en) Priority queue using two differently-indexed single-index tables
CN113448938A (zh) 数据处理方法、装置、电子设备及存储介质
US11544229B1 (en) Enhanced tracking of data flows
CN102959548A (zh) 数据存储方法、查找方法及装置
US9111114B1 (en) Method of transforming database system privileges to object privileges
CN113849482A (zh) 一种数据迁移方法、装置及电子设备
US7487172B2 (en) Three-dimensional data structure for storing data of multiple domains and the management thereof
US10521398B1 (en) Tracking version families in a file system
CN110837499B (zh) 数据访问处理方法、装置、电子设备和存储介质
CN109542860B (zh) 基于hdfs的业务数据管理方法、终端设备
CN111522626A (zh) 一种虚拟机列表生成方法、装置及电子设备
US12013861B2 (en) Method and apparatus for retrieving and enumerating object metadata in distributed storage system
CN111209304B (zh) 数据处理方法、装置及***
US10114864B1 (en) List element query support and processing
CN113760854A (zh) Hdfs内存中数据的识别方法及相关设备
CN113392067A (zh) 一种针对分布式数据库的数据处理方法、装置及***
CN110968267A (zh) 数据管理方法、装置、服务器及***
CN115718571B (zh) 一种基于多维度特征的数据管理方法和装置
CN114328755B (zh) 一种数据写入方法、数据读取方法、装置及电子设备
CN114661249B (zh) 数据存储方法、装置、计算机设备和存储介质
US11451627B2 (en) System and method for content management with intelligent data store access across distributed stores

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination