CN106909597A - 一种数据库迁移方法和装置 - Google Patents

一种数据库迁移方法和装置 Download PDF

Info

Publication number
CN106909597A
CN106909597A CN201610511932.1A CN201610511932A CN106909597A CN 106909597 A CN106909597 A CN 106909597A CN 201610511932 A CN201610511932 A CN 201610511932A CN 106909597 A CN106909597 A CN 106909597A
Authority
CN
China
Prior art keywords
database
migrated
storehouse
data
data point
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.)
Granted
Application number
CN201610511932.1A
Other languages
English (en)
Other versions
CN106909597B (zh
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.)
Ant Fortune Shanghai Financial Information Service Co ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610511932.1A priority Critical patent/CN106909597B/zh
Publication of CN106909597A publication Critical patent/CN106909597A/zh
Application granted granted Critical
Publication of CN106909597B publication Critical patent/CN106909597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据库迁移方法和装置,应用于单数据库向多数据库进行迁移中,其中,该方法包括:为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。利用本申请实施例提供的技术方案,可以实现在无需中断业务的情况下进行单库到多库的迁移操作,因数据被分散到不同的数据库,单个数据库故障不会影响其它库的使用。

Description

一种数据库迁移方法和装置
技术领域
本申请属于数据库技术领域,尤其涉及一种数据库迁移方法和装置。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,随着信息技术和市场的发展,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。
目前,一般情况下同一个实体对应一个物理表,然而,随着数据量的不断增大,单表的局限性就逐步体现出来了,操作效率成为了业务的瓶颈。因此,如何进行数据库分区以便减少在特定的SQL操作中数据读写的总量缩减响应时间变得尤为重要。
当然,目前数据库分区操作需要将已有的数据全部导出,然后重新建表,在建表之后,再回导数据,这种方式所存在的问题就是在进行数据库分区的过程中不能有业务操作,且整个数据分区操作必须一次性完成,否则需要全部回滚。
针对上述数据库分区过程中出现的问题,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种数据库迁移方法和装置,应用于单数据库向多数据库进行迁移中,可以简单高效地将单一数据库迁移至多个数据库。
本申请提供一种数据库迁移方法和装置是这样实现的:
一种数据库迁移方法,该方法包括:
为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
一种数据库迁移装置,所述装置包括:
第一建立模块,用于为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
第二建立模块,用于建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
迁移模块,用于按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
本申请提供的数据库迁移方法和装置,先为待迁移数据库建立多个数据分库,同时为每个数据分库分别创建多个逻辑分表,各逻辑分表均关联所述待迁移数据库的物理表,以使业务通过对各逻辑分表的访问可访问至物理表,然后再确定待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,从而按照对应关系将物理表迁移至多个数据分库与各逻辑分表对应的各数据分表中,从而可以实现在无需中断业务的情况下进行单库到多库的迁移操作,因数据被分散到不同的数据库的不同数据分表中,单个数据库故障不会影响其它数据库的使用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据库迁移方法一种实施例的方法流程图;
图2是本申请提供的数据库迁移方法的架构示意图;
图3是本申请提供的数据库迁移方法的另一方法流程图;
图4是本申请提供的数据库迁移装置的一种结构框图;
图5是本申请提供的数据库迁移装置的另一结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图对本申请所述的数据库迁移方法和装置进行详细的说明。图1是本申请提出的数据库迁移方法的一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块结构。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例提供的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
具体的,如图1所示,本申请提供的数据库迁移方法的一种实施例,应用于单数据库向多数据库进行迁移中,可以包括:
S1:为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
假设有一个数据库A,当前希望将数据库A中的数据迁移至多个数据库中,例如:将数据库A迁移至数据库A-1、A-2、A-3、A-4中,其中,数据库A和数据库A-1、A-2、A-3、A-4都是物理库,数据库A是待迁移数据库,数据库A-1、A-2、A-3、A-4为多个数据分库。即,在迁移之前,可以为数据库A建立多个数据分库(数据分库A-1、A-2、A-3、A-4),同时为每个数据分库分别创建多个逻辑分表,例如,建立十个数据分库,为每个数据分库建立十个逻辑分表,那么就相当于一共建立了一百个逻辑分表,所有这些逻辑分表都是关联至数据库A和数据库A的物理表中的。
S2:建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
具体地,可以通过同义词建立所述各个数据分库与所述待迁移数据库之间的关联关系,各个逻辑分表可以通过DBLink关联至待迁移数据库中的物理表中,即通过该同义词和DBLink实现逻辑分表与待迁移数据库中物理表的关联,从而使得业务通过对各逻辑分表的访问可访问至物理表。
其中,上述的DBLink表示的是数据库的链接,可以将DBLink想象成电话线,是一个通道的概念,当需要跨本地数据库访问另外一个数据库中的数据时,本地数据库中就需要创建一个远程数据库的DBLink,通过该创建的DBLink可以像访问本地数据库一样访问远程数据库中的数据。
同义词(Synonym)是指向其它数据库的数据库指针,相当于一个别名,假设将数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4作为待迁移数据库A的同义词,那么在访问数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4的时候,会直接完成对待迁移数据库A的访问,因为待迁移数据库A和数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4所指向的是相同的方向。
在该例中,可以建立数据库A与数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4之间的对应关系,假设数据库A与多个业务存在联系,即多个业务(业务1、业务2…业务n)会访问数据库A的物理表中的数据,那么也需要建立数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4与这些业务之间的对应关系,以及这些业务所需要的访问数据与各个数据分库中的逻辑分表之间的对应关系。在建立这些对应关系后,业务1、业务2…业务n可以通过访问数据分库A-1、数据分库A-2、数据分库A-3、数据分库A-4的逻辑分表实现对数据库A中物理表的访问,当然在数据迁移前,业务也是可以直接访问数据库A的。
进一步的,因为数据库中主要是通过数据表的方式存储数据,在进行数据库迁移的时候,实质上是将数据库中的物理表迁移至数据分库的数据表中,因为为每个数据分库,建立了多个逻辑分表,逻辑分表又是与物理分表对应的,因此,通过这种方式可以将物理表迁移至多个数据分库的多个物理分表中。因此,在进行数据迁移之前,可以根据迁移的目的,建立待迁移数据库的物理表与逻辑分表之间的对应关系,以及逻辑分表与业务之间的对应关系,这样,就通过业务与逻辑分表之间的对应,实现了业务与最终的数据分库和数据分表的对应。
例如,如下表1所示,可以按照以下方式建立对应关系:
表1
即,可以按照上述表1建立待迁移数据库与数据分库和逻辑分表之间的对应关系,其中,数据分库所对应的也就是单库到多库后的多个数据库,同时也可以按照数据表的拆分需求,在数据库中建立多个数据分表,通过逻辑分表实现待迁移数据库物理表中的数据被迁移至多个数据分库的目的,只需要建立业务与数据分库和逻辑分表之间的对应关系,就可以完成数据迁移之前的数据与业务的对应。
然而值得注意的是,上述表1中的对应关系的建立,以及数据库拆分的需求仅是为了更好地说明本发明,在实际实现的过程中,可以按照其它方式设定,只要建立好之间的对应关系,保证业务可以通过逻辑分表访问到需要访问的数据即可,具体的拆分和实现方式可以按照实际需要选择,本申请对此不作限定。
S3:按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
在按照上述步骤S2中的方式建立了业务与数据分库和逻辑分表之间的对应关系,以及逻辑分表与待迁移数据库之间的对应关系之后,就可以在不影响业务执行的情况下,实现对数据的迁移了。在这个过程中,可以直接将待迁移数据库中的物理表迁移至对应的数据分库中,在数据迁移过程中,业务可以通过对逻辑分表的访问实现对待迁移数据库的访问,也可以通过对逻辑分表的访问实现对迁移至的数据分库的访问。通过上述方式,可以在不中断业务的情况下,实现对数据库由单库到多库的迁移。
在进行数据迁移的过程中,需要有一个待迁移数据库物理表到数据分库和逻辑分表的对应关系,在本例中,可以通过散列方法确定待迁移数据库中物理表中的数据所对应的数据分库和逻辑分表的编号,然后根据确定的数据分库和逻辑分表的编号,将待迁移数据库中的各数据表分别迁移至对应的数据分库和物理分表中。
上述散列方法存储的基本思想是:由节点的关键码值决定节点的存储地址,散列是数组存储方式的一种发展,相比数组,散列的数据访问速度要高于数组,因为可以依据存储数据的部分内容找到数据在数组中的存储位置,进而能够快速实现数据的访问,理想的散列访问速度是非常迅速的,而不像在数组中的遍历过程,采用存储数组中内容的部分元素作为映射函数的输入,映射函数的输出就是存储数据的位置,这样的访问速度就省去了遍历数组的实现。在实际实现的时候,散列方法也会存在冲突的问题,为了解决冲突,可以采用链表的形式,将所有冲突的数据项采用链表的形式链接起来,这样搜索数据的复杂度就包含了链表的遍历问题,特别是当所有的项都链接到一个链表下时,这时候实际上就是遍历链表,复杂度并不一定有很大的进步,但是这种链表链接的方式有很高的填充率。为了解决冲突,还可以通过充分利用没有实现的存储空间来解决冲突问题,即,利用探测法探测空闲的空间,进而实现数据的存储。
在进行数据迁移的过程中,为了避免业务出现故障,可以暂时将待迁移数据库的状态设置为只读状态,中止对待迁移数据库的写入操作,从而避免对数据库中数据的误操作。在完成数据迁移之后,就可以删除逻辑分表与待迁移数据库之间的DBLink,此时业务系统指向的就是真正意义上的数据分库和数据分表,业务可以恢复运行,物理表的数据迁移完成。
下面结合一个具体应用场景对上述数据库由单库到多库的迁移方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在该具体实施例中,如图2所示为具体的架构示意图,待迁移的数据单库或者说数据单表的库名或表名为:P2P_TRANSACTION_DAILY_CONTROL,迁移的目标数据库的库名或者表名为:FINTRADE_PURCHASE_CONTROL_PROD_xx。
根据分库的具体需要,将该数据库迁移至十个数据库,那么可以新建10个物理分库(也可以称为数据分表),分别是:zcb00、zcb01、zcb02、zcb03、zcb04、zcb05、zcb06、zcb07、zcb08、zcb09。
在10个分库中创建对应的DBLink,实际物理DB为当前单库的DB:CREATE DATABASELINK dblinktest CONNECT TO username IDENTIFIED BY<PWD>USING'MACC'。同时,还需要创建分库对应的同义词,通过同义词和DBLink的设定,可以实现通过访问物理分库和逻辑分表实现对原始数据库的访问。
在进行数据访问的时候,业务系统可以采用散列方法,根据当前机构ID确定当前机构属于哪个分库哪个分表。具体实现时,可以通过数据访问层的中间件访问指定的分库分表,在访问时候,所访问的表实际是通过同义词定义的逻辑表,真实的访问是通过DBLink直接访问到对应的物理表,这个过程对于上层业务而言是无感知的,上层业务的开发与表数据迁移可以同步进行。
如图3所示,在有业务处理的时候,如果需要访问数据,那么通过数据访问层的中间件确定需要访问的分库分表,然后通过访问逻辑分表访问对应的分库分表,分库分表通过DBLink连接匹配的别名(即同义词),通过别名访问对应的单库单表数据。
通过上述操作,物理表虽然没有进行拆分,但是逻辑表已经通过DBLink与同义词的方式实现了分库分表,此时,对于上层业务而言,已经是真正意义上的分库分表,这些操作对于上层业务数据是无感知的。
在进行物理表中数据迁移的时候,可以在分库上建立物理分表,然后按照分库分表的规则,将数据从单表中直接迁移过来。为了避免在数据迁移的过程中出现数据混乱,可以在进行数据迁移时,暂停推进业务,将当前的物理表设置为只读模式,从而避免迁移过程中发生数据的写入情况。在数据迁移完成后,就可以删除DBLink,此时,业务系统指向的就是真正意义上的物理表,然后打开推进业务,业务继续恢复运行,物理表迁移完成。
在上例中,通过DBLink和同义词的使用,在减少对业务推进的影响的情况下,实现了物理库分离,使得数据库连接被分散到各个数据库中,并发处理能力得到了极大提高。同时,如果是在单库进行操作,那么要是出现单点故障,整个应用都将会崩溃,本例最终实现了物理库迁移,因此,该问题会被分散到不同的数据库中,单个数据库故障不会影响其它库的使用。
基于同一发明构思,本发明实施例中还提供了一种数据库迁移装置,如下面的实施例所述。由于数据库迁移装置解决问题的原理与数据库迁移方法相似,因此数据库迁移装置的实施可以参见数据库迁移方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本发明实施例的数据库迁移装置的一种结构框图,如图4所示,可以包括:第一建立模块401、第二建立模块402和迁移模块403,下面对该结构进行说明。
第一建立模块401,可以用于为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
第二建立模块402,可以用于建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
迁移模块403,可以用于按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
在一个实施方式中,如图5所示,上述第二建立模块402可以包括:确定单元501,用于通过散列方法确定所述待迁移数据库所对应的业务需要访问的数据所对应数据分库的编号和逻辑分表的编号;确立单元502,可以用于将所述业务所对应的所述数据分库的编号和所述逻辑分表的编号,作为所述业务与各数据分库的各逻辑分表之间的对应关系。
在一个实施方式中,第二建立模块402具体可以用于通过同义词建立所述各个数据分库与所述待迁移数据库之间的关联关系,所述各个逻辑分表通过DBLink关联至所述待迁移数据库的物理表。
在一个实施方式中,上述数据库迁移装置还可以包括:删除模块,可以用于在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中之后,删除DBLink。
在一个实施方式中,上述数据库迁移装置还可以包括:设置模块,用于在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中的过程中,将所述待迁移数据库的状态设置为只读状态,中止对所述待迁移数据库的写入操作。
本申请提供的数据库迁移方法和装置,先为待迁移数据库建立多个数据分库,同时为每个数据分库分别创建多个逻辑分表,各逻辑分表均关联所述待迁移数据库的物理表,以使业务通过对各逻辑分表的访问可访问至物理表,然后再确定待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,从而按照对应关系将物理表迁移至多个数据分库与各逻辑分表对应的各数据分表中,从而可以实现在无需中断业务的情况下进行单库到多库的迁移操作,因数据被分散到不同的数据库的不同数据分表中,单个数据库故障不会影响其它数据库的使用。
本申请中各个实施例所涉及的上述描述仅是本申请中的一些实施例中的应用,在某些标准、模型、方法的基础上略加修改后的实施方式也可以实行上述本申请各实施例的方案。当然,在符合本申请上述各实施例的中所述的处理方法步骤的其他无创造性的变形,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (10)

1.一种数据库迁移方法,应用于单数据库向多数据库进行迁移中,其特征在于,所述方法包括:
为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
2.根据权利要求1所述的方法,其特征在于,建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,包括:
通过散列方法确定所述待迁移数据库所对应的业务需要访问的数据所对应数据分库的编号和逻辑分表的编号;
将所述业务所对应的所述数据分库的编号和所述逻辑分表的编号,作为所述业务与各数据分库的各逻辑分表之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,各逻辑分表均关联所述待迁移数据库的物理表,包括:
通过同义词建立所述各个数据分库与所述待迁移数据库之间的关联关系,所述各个逻辑分表通过DBLink关联至所述待迁移数据库的物理表。
4.根据权利要求3所述的方法,其特征在于,在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中之后,所述方法还包括:
删除DBLink。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中的过程中,所述方法还包括:
将所述待迁移数据库的状态设置为只读状态,中止对所述待迁移数据库的写入操作。
6.一种数据库迁移装置,应用于单数据库向多数据库进行迁移中,其特征在于,所述装置包括:
第一建立模块,用于为待迁移数据库建立多个数据分库,并为每个数据分库分别创建多个逻辑分表;
第二建立模块,用于建立所述待迁移数据库所对应的业务与各数据分库的各逻辑分表之间的对应关系,各逻辑分表均关联所述待迁移数据库的物理表,以使所述业务通过对各逻辑分表的访问可访问至所述物理表;
迁移模块,用于按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中,其中,所述数据分表与所述逻辑分表对应。
7.根据权利要求6所述的装置,其特征在于,所述第二建立模块包括:
确定单元,用于通过散列方法确定所述待迁移数据库所对应的业务需要访问的数据所对应数据分库的编号和逻辑分表的编号;
确立单元,用于将所述业务所对应的所述数据分库的编号和所述逻辑分表的编号,作为所述业务与各数据分库的各逻辑分表之间的对应关系。
8.根据权利要求6所述的装置,其特征在于,所述第二建立模块具体用于通过同义词建立所述各个数据分库与所述待迁移数据库之间的关联关系,所述各个逻辑分表通过DBLink关联至所述待迁移数据库的物理表。
9.根据权利要求8所述的装置,其特征在于,还包括:
删除模块,用于在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中之后,删除DBLink。
10.根据权利要求6至9中任一项所述的装置,其特征在于,还包括:
设置模块,用于在按照所述对应关系将所述物理表迁移至所述多个数据分库的各数据分表中的过程中,将所述待迁移数据库的状态设置为只读状态,中止对所述待迁移数据库的写入操作。
CN201610511932.1A 2016-06-30 2016-06-30 一种数据库迁移方法和装置 Active CN106909597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610511932.1A CN106909597B (zh) 2016-06-30 2016-06-30 一种数据库迁移方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610511932.1A CN106909597B (zh) 2016-06-30 2016-06-30 一种数据库迁移方法和装置

Publications (2)

Publication Number Publication Date
CN106909597A true CN106909597A (zh) 2017-06-30
CN106909597B CN106909597B (zh) 2020-07-03

Family

ID=59206762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610511932.1A Active CN106909597B (zh) 2016-06-30 2016-06-30 一种数据库迁移方法和装置

Country Status (1)

Country Link
CN (1) CN106909597B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009883A (zh) * 2017-11-30 2018-05-08 泰康保险集团股份有限公司 用于订单处理的方法及装置
CN110022351A (zh) * 2019-02-20 2019-07-16 阿里巴巴集团控股有限公司 一种业务请求的处理方法和装置
CN110308980A (zh) * 2019-06-27 2019-10-08 深圳前海微众银行股份有限公司 数据的批量处理方法、装置、设备及存储介质
CN110334152A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种数据同步方法、装置及服务器
CN110674132A (zh) * 2019-09-02 2020-01-10 四川新网银行股份有限公司 简化数据库中间件配置并自动转入的方法
CN112162981A (zh) * 2020-09-08 2021-01-01 杭州涂鸦信息技术有限公司 一种自适应的路由分库分表方法及系统
CN112650736A (zh) * 2020-12-31 2021-04-13 中国农业银行股份有限公司 一种数据迁移方法及装置
CN113448948A (zh) * 2021-07-12 2021-09-28 中国银行股份有限公司 数据迁移方法及装置
CN113468148A (zh) * 2021-08-13 2021-10-01 上海浦东发展银行股份有限公司 一种数据库的数据迁移方法、装置、电子设备及其存储介质
CN113946565A (zh) * 2021-10-29 2022-01-18 中国建设银行股份有限公司 一种支持异构数据的分库分表迁移方法及系统
CN113946565B (zh) * 2021-10-29 2024-09-03 中国建设银行股份有限公司 一种支持异构数据的分库分表迁移方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293316A1 (en) * 2009-05-15 2010-11-18 Vivek Mehrotra Migration of Switch in a Storage Area Network
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
CN102855299A (zh) * 2012-08-16 2013-01-02 上海引跑信息科技有限公司 不中断服务条件下,分布式数据库迭代迁移的方法
US8417938B1 (en) * 2009-10-16 2013-04-09 Verizon Patent And Licensing Inc. Environment preserving cloud migration and management
CN103714097A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种访问数据库的方法和装置
CN104111924A (zh) * 2013-04-16 2014-10-22 中国移动通信集团广东有限公司 一种数据库系统
CN105045877A (zh) * 2015-07-20 2015-11-11 深圳市深信服电子科技有限公司 数据库数据分片存储方法和装置、数据查询方法和装置
CN105677761A (zh) * 2015-12-30 2016-06-15 国网信息通信产业集团有限公司 一种数据切分的方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100293316A1 (en) * 2009-05-15 2010-11-18 Vivek Mehrotra Migration of Switch in a Storage Area Network
US8417938B1 (en) * 2009-10-16 2013-04-09 Verizon Patent And Licensing Inc. Environment preserving cloud migration and management
CN102546379A (zh) * 2010-12-27 2012-07-04 中国移动通信集团公司 一种虚拟化资源调度的方法及虚拟化资源调度系统
CN102855299A (zh) * 2012-08-16 2013-01-02 上海引跑信息科技有限公司 不中断服务条件下,分布式数据库迭代迁移的方法
CN103714097A (zh) * 2012-10-09 2014-04-09 阿里巴巴集团控股有限公司 一种访问数据库的方法和装置
CN104111924A (zh) * 2013-04-16 2014-10-22 中国移动通信集团广东有限公司 一种数据库系统
CN105045877A (zh) * 2015-07-20 2015-11-11 深圳市深信服电子科技有限公司 数据库数据分片存储方法和装置、数据查询方法和装置
CN105677761A (zh) * 2015-12-30 2016-06-15 国网信息通信产业集团有限公司 一种数据切分的方法及系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009883A (zh) * 2017-11-30 2018-05-08 泰康保险集团股份有限公司 用于订单处理的方法及装置
CN110022351A (zh) * 2019-02-20 2019-07-16 阿里巴巴集团控股有限公司 一种业务请求的处理方法和装置
CN110022351B (zh) * 2019-02-20 2021-07-06 创新先进技术有限公司 一种业务请求的处理方法和装置
CN110308980A (zh) * 2019-06-27 2019-10-08 深圳前海微众银行股份有限公司 数据的批量处理方法、装置、设备及存储介质
CN110334152A (zh) * 2019-06-28 2019-10-15 浙江吉利控股集团有限公司 一种数据同步方法、装置及服务器
CN110334152B (zh) * 2019-06-28 2022-05-17 浙江吉利控股集团有限公司 一种数据同步方法、装置及服务器
CN110674132B (zh) * 2019-09-02 2022-04-08 四川新网银行股份有限公司 简化数据库中间件配置并自动转入的方法
CN110674132A (zh) * 2019-09-02 2020-01-10 四川新网银行股份有限公司 简化数据库中间件配置并自动转入的方法
CN112162981A (zh) * 2020-09-08 2021-01-01 杭州涂鸦信息技术有限公司 一种自适应的路由分库分表方法及系统
CN112650736A (zh) * 2020-12-31 2021-04-13 中国农业银行股份有限公司 一种数据迁移方法及装置
CN113448948A (zh) * 2021-07-12 2021-09-28 中国银行股份有限公司 数据迁移方法及装置
CN113468148A (zh) * 2021-08-13 2021-10-01 上海浦东发展银行股份有限公司 一种数据库的数据迁移方法、装置、电子设备及其存储介质
CN113468148B (zh) * 2021-08-13 2023-02-17 上海浦东发展银行股份有限公司 一种数据库的数据迁移方法、装置、电子设备及其存储介质
CN113946565A (zh) * 2021-10-29 2022-01-18 中国建设银行股份有限公司 一种支持异构数据的分库分表迁移方法及系统
CN113946565B (zh) * 2021-10-29 2024-09-03 中国建设银行股份有限公司 一种支持异构数据的分库分表迁移方法及系统

Also Published As

Publication number Publication date
CN106909597B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN106909597A (zh) 一种数据库迁移方法和装置
US9459902B2 (en) Memory duplication by destination host in virtual machine live migration
US8738568B2 (en) User-defined parallelization in transactional replication of in-memory database
US9619430B2 (en) Active non-volatile memory post-processing
CN107391629A (zh) 集群间数据迁移方法、系统、服务器及计算机存储介质
CN107239479A (zh) 一种基于区块链的数据存储以及查询的方法及装置
US9483414B2 (en) Ordered memory pages transmission in virtual machine live migration
DE202015009267U1 (de) Priorisierung von Datenrekonstruktion in verteilten Speichersystemen
US20150052322A1 (en) Systems and methods for memory deduplication by origin host in virtual machine live migration
CN107391502A (zh) 时间间隔的数据查询方法、装置及索引构建方法、装置
CN109446104A (zh) 一种基于大数据的测试用例管理方法及装置
CN105677904B (zh) 基于分布式文件系统的小文件存储方法及装置
CN105227672B (zh) 数据存储及访问的方法和系统
CN109271408A (zh) 一种分布式数据连接处理方法、装置、设备及存储介质
CN107301214A (zh) 在hive中数据迁移方法、装置及终端设备
CN107085613A (zh) 入库文件的过滤方法和装置
CN104268089B (zh) 一种信息更新的方法、装置及系统
CN104951528B (zh) 一种数据迁移的方法及终端
Gupta et al. Fair: A hadoop-based hybrid model for faculty information retrieval system
CN105426119A (zh) 一种存储设备及数据处理方法
US11687513B2 (en) Virtual data source manager of data virtualization-based architecture
US10338891B2 (en) Migration between model elements of different types in a modeling environment
US20210373916A1 (en) Software plugins of data virtualization-based architecture
CN112559603B (zh) 特征提取方法、装置、设备及计算机可读存储介质
Chullipparambil Big data analytics using Hadoop tools

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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220414

Address after: Room 602, No. 618 Wai Road, Huangpu District, Shanghai

Patentee after: Ant fortune (Shanghai) Financial Information Service Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee before: Innovative advanced technology Co.,Ltd.

TR01 Transfer of patent right