CN111400273B - 数据库扩容方法、装置、电子设备及机器可读存储介质 - Google Patents
数据库扩容方法、装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN111400273B CN111400273B CN201911134095.5A CN201911134095A CN111400273B CN 111400273 B CN111400273 B CN 111400273B CN 201911134095 A CN201911134095 A CN 201911134095A CN 111400273 B CN111400273 B CN 111400273B
- Authority
- CN
- China
- Prior art keywords
- database
- sub
- data
- original
- databases
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 238000013508 migration Methods 0.000 claims abstract description 111
- 230000005012 migration Effects 0.000 claims abstract description 111
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 38
- 238000013500 data storage Methods 0.000 abstract description 16
- 238000012545 processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据库扩容方法、装置、电子设备及机器可读存储介质,在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库扩容方法、装置、电子设备及机器可读存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理建立在计算机存储设备上的数据的仓库,简单来说,数据库可以认为是一种电子化的文件柜,用户可以对文件柜中的数据进行新增、截取、更新、删除等操作。
随着计算机技术、通信技术和网络技术的快速发展,需存储的数据量呈爆发式增长,针对数据库配置的容量已无法满足实际的数据存储需求,因此需要对数据库进行扩容。
相应的数据库扩容方式主要有两种:一种是将数据库内的数据进行备份,在数据库服务器中添加硬盘、重新分区,利用备份文件将原有的数据重新恢复到数据库服务器中;另一种是对数据库内的数据备份后,直接更换一台硬盘更大的数据库服务器,利用备份文件将原有的数据恢复到新的数据库服务器中。
然而,为了防止由于数据库服务器正在添加硬盘或者正在更换数据库服务器而导致新的数据写入失败,在数据库扩容的过程中,需要中断数据写入,这样,就使得在数据库扩容的过程中出现数据存储间断的情况,导致数据存储效率降低。
发明内容
本发明实施例的目的在于提供一种数据库扩容方法、装置、电子设备及机器可读存储介质,以实现在数据库扩容过程中数据存储不间断的目的、提高数据存储效率。具体技术方案如下:
第一方面,本发明实施例提供了一种数据库扩容方法,所述方法包括:
在识别到启动数据库扩容操作时,创建临时缓存库;
将最新写入的数据保存至所述临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中;
在所述历史数据迁移完成后,将所述临时缓存库中保存的数据迁移至所述扩容后的数据库中;
在所述临时缓存库中保存的数据迁移完成后,删除所述临时缓存库。
可选的,所述扩容后的数据库包括:由所述原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述扩容后的数据库中子数据库的数目等于所述原始数据库中子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
将所述原始数据库中第一子数据库存储的所有历史数据整体迁移至所述新增数据库实例下的子数据库中,所述第一子数据库为所述原始数据库中除所述部分原有的子数据库以外的任一子数据库。
可选的,所述扩容后的数据库包括:由所述原始数据库中新增的子数据库与原有的子数据库构成的数据库,所述新增的子数据库的数目等于所述原有的子数据库的数目;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中。
可选的,所述扩容后的数据库包括:由所述原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述新增数据库实例下子数据库的数目等于所述原有的子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
拆分所述原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至所述新增数据库实例下的各子数据库中。
可选的,在所述历史数据的迁移过程中,所述方法还包括:
检测所述历史数据在各子数据库中进行迁移的状态,所述状态包括已完成状态和未完成状态;
在所述数据库扩容操作发生异常时,记录未完成状态的子数据库;
在所述数据库扩容操作恢复正常时,继续对未完成状态的子数据库进行所述历史数据的迁移。
可选的,在所述历史数据的迁移过程中,所述方法还包括:
在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述原始数据库及所述临时缓存库中查询所述待查询数据;
返回从所述原始数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,在所述历史数据的迁移过程中,所述将最新写入的数据保存至所述临时缓存库中,包括:
接收数据写入请求,所述数据写入请求携带待写入的数据;
查询所述原始数据库中是否已存在所述数据;
若所述原始数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述临时缓存库中。
可选的,在所述临时缓存库中保存的数据的迁移过程中,所述方法还包括:
在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述扩容后的数据库及所述临时缓存库中查询所述待查询数据;
返回从所述扩容后的数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,在所述临时缓存库中保存的数据的迁移过程中,所述方法还包括:
在接收到携带有待写入的数据的数据写入请求时,查询所述扩容后的数据库中是否已存在所述数据;
若所述扩容后的数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述扩容后的数据库中。
第二方面,本发明实施例提供了一种数据库扩容装置,所述装置包括:
创建模块,用于在识别到启动数据库扩容操作时,创建临时缓存库;
迁移模块,用于将最新写入的数据保存至所述临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中;
所述迁移模块,还用于在所述历史数据迁移完成后,将所述临时缓存库中保存的数据迁移至所述扩容后的数据库中;
删除模块,用于在所述临时缓存库中保存的数据迁移完成后,删除所述临时缓存库。
可选的,所述扩容后的数据库包括:由所述原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述扩容后的数据库中子数据库的数目等于所述原始数据库中子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
将所述原始数据库中第一子数据库存储的所有历史数据整体迁移至所述新增数据库实例下的子数据库中,所述第一子数据库为所述原始数据库中除所述部分原有的子数据库以外的任一子数据库。
可选的,所述扩容后的数据库包括:由所述原始数据库中新增的子数据库与原有的子数据库构成的数据库,所述新增的子数据库的数目等于所述原有的子数据库的数目;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中。
可选的,所述扩容后的数据库包括:由所述原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述新增数据库实例下子数据库的数目等于所述原有的子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
拆分所述原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至所述新增数据库实例下的各子数据库中。
可选的,所述装置还包括:
检测模块,用于检测所述历史数据在各子数据库中进行迁移的状态,所述状态包括已完成状态和未完成状态;
记录模块,用于在所述数据库扩容操作发生异常时,记录未完成状态的子数据库;
所述迁移模块,还用于在所述数据库扩容操作恢复正常时,继续对未完成状态的子数据库进行所述历史数据的迁移。
可选的,所述装置还包括:
查询模块,用于在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述原始数据库及所述临时缓存库中查询所述待查询数据;
返回模块,用于返回从所述原始数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,在所述历史数据的迁移过程中,所述迁移模块在用于所述将最新写入的数据保存至所述临时缓存库中时,具体用于:
接收数据写入请求,所述数据写入请求携带待写入的数据;
查询所述原始数据库中是否已存在所述数据;
若所述原始数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述临时缓存库中。
可选的,所述装置还包括:
查询模块,用于在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述扩容后的数据库及所述临时缓存库中查询所述待查询数据;
返回模块,用于返回从所述扩容后的数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,所述装置还包括:
查询模块,用于在接收到携带有待写入的数据的数据写入请求时,查询所述扩容后的数据库中是否已存在所述数据;
所述查询模块,还用于若所述扩容后的数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
保存模块,用于若所述临时缓存库中不存在所述数据,则将所述数据保存至所述扩容后的数据库中。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,其中,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述机器可执行指令由所述处理器加载并执行,以实现本发明实施例第一方面所提供的方法。
第四方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面所提供的方法。
本发明实施例提供了一种数据库扩容方法、装置、电子设备及机器可读存储介质,数据库扩容方法包括:在识别到启动数据库扩容操作时,创建临时缓存库,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。
在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据库扩容方法的流程示意图;
图2为本发明实施例的第一种扩容方式的扩容流程示意图;
图3为本发明实施例的第二种扩容方式的扩容流程示意图;
图4为本发明实施例的第三种扩容方式的扩容流程示意图;
图5为本发明实施例的在历史数据的迁移过程中数据查询的流程示意图;
图6为本发明实施例的在历史数据的迁移过程中数据写入的流程示意图;
图7为本发明实施例的在临时缓存库中保存的数据的迁移过程中数据查询的流程示意图;
图8为本发明实施例的在临时缓存库中保存的数据的迁移过程中数据写入的流程示意图;
图9为本发明实施例的数据库扩容装置的结构示意图;
图10为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现在数据库扩容过程中数据存储不间断的目的、提高数据存储效率,本发明实施例提供了一种数据库扩容方法、装置、电子设备及机器可读存储介质。下面,首先对本发明实施例所提供的数据库扩容方法进行介绍。
本发明实施例所提供的数据库扩容方法的执行主体为具有数据存储功能的电子设备,该电子设备可以是分布式的数据库***,也可以是数据库服务器等。实现本发明实施例所提供的数据库扩容方法的方式可以为设置于上述电子设备中的软件、硬件电路和逻辑电路中的至少一种方式。
如图1所示,本发明实施例所提供的一种数据库扩容方法,可以包括如下步骤。
S101,在识别到启动数据库扩容操作时,创建临时缓存库。
在正常情况下(即数据库的容量能够满足用户数据量的存储需求的情况),可以使用数据路由(数据路由功能一般由数据管理模块(Master)实现),将写入的数据存储到数据库中,该过程可以理解为电子设备正工作在正常服务模式下。一旦数据库的容量无法满足用户数据量的存储需求,用户会选择进行数据库扩容操作(可以通过前端的数据库工具进行输入操作),电子设备可以识别到启动数据库扩容操作的状态,或者,电子设备可以自动地启动数据库扩容操作,识别出启动数据库扩容操作的状态。
扩容过程可以分为几个不同的运行模式(本发明实施例中分为正常服务模式、历史数据迁移模式和缓存数据迁移模式),电子设备在扩容过程中分别运行在不同的模式下,以实现对外展现的数据的一致性。
在识别到启动数据库扩容操作时,电子设备上会自动创建一个临时缓存库,临时缓存库是电子设备上开辟的一个临时存储空间,用于对在数据库扩容过程中最新写入的数据进行保存。
S102,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中。
在创建临时缓存库后,如果电子设备接收到新写入的数据,则会将该数据保存到临时缓存库中,并且同时将历史数据从原始数据库迁移到扩容后的数据库,该过程可以理解为电子设备正工作在历史数据迁移模式下,在此模式下,电子设备不进行数据路由,不影响数据读写的一致性。
可选的,扩容后的数据库可以包括:由原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,其中,扩容后的数据库中子数据库的数目等于原始数据库中子数据库的数目,新增数据库实例下子数据库的容量大于或等于原始数据库中子数据库的容量。
相应的,S102中将原始数据库中存储的历史数据迁移至扩容后的数据库中的步骤,具体可以为:将原始数据库中第一子数据库存储的所有历史数据整体迁移至新增数据库实例下的子数据库中,其中,第一子数据库为原始数据库中除部分原有的子数据库以外的任一子数据库。
可选的,扩容后的数据库还可以包括:由原始数据库中新增的子数据库与原有的子数据库构成的数据库,其中,新增的子数据库的数目等于原有的子数据库的数目。
相应的,S102中将原始数据库中存储的历史数据迁移至扩容后的数据库中的步骤,具体可以为:拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中。
可选的,扩容后的数据库还可以包括:由原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,其中,新增数据库实例下子数据库的数目等于原有的子数据库的数目,新增数据库实例下子数据库的容量大于或等于原始数据库中子数据库的容量。
相应的,S102中将原始数据库中存储的历史数据迁移至扩容后的数据库中的步骤,具体可以为:
拆分原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至新增数据库实例下的各子数据库中。
根据实际需要,数据库扩容的方式可以有三种。第一种是只对数据库的部分数据以子数据库DB为单位进行整体迁移,迁移到新增的数据库实例中去,数据库实例是指实现数据库功能的主体,其中包括多个子数据库,按照这种方式进行数据库扩容,DB的数量不变;第二种是只对数据库的各个DB中的数据在原地进行拆分,仍由本地的数据库实例进行维护,按照这种方式进行数据库扩容,DB数量增加,当前数据库实例独自维护所有的DB;第三种是既对数据做拆分,又迁移一部分数据到其他的数据库实例中去,按照这种方式进行数据库扩容,DB数量增加,原有的数据库实例和新增数据库实例各维护原有数量的DB。
第一种扩容方式适合机器性能不足,需要新加机器扩充数据库实例,但是单表读写能力尚可满足要求时使用,此方式实现比较简单,直接新增一个数据库实例,该数据库实例下的子数据库的容量大于或等于原始数据库中子数据库的容量,这样,就可以将原始数据库中子数据库存储的历史数据进行整库迁移,然后更新访问配置,重新在线加载,在客户端无感知的情形下完成数据库的扩容。扩容过程中,电子设备先从正常服务模式切换到历史数据迁移模式,此时新写入的数据将写入临时缓存库,同时进行历史数据的整库迁移,数据库迁移完毕后,更新数据库访问配置,并在线重新加载,之后切换到缓存数据迁移模式,进行缓存数据从临时缓存库到扩容后的数据库的迁移,完成迁移之后,删除冗余的历史数据和缓存数据,最后切换到正常服务模式,即完成扩容操作。该扩容方式的扩容过程如图2所示,在正常服务模式下,数据经数据访问管理模块(Master),通过数据路由分配到两个子数据库DB1和DB2中,在进行数据库扩容时,新增一个包括DB3的数据库实例,DB3的容量大于DB2的容量,DB3替换掉原始数据库中的DB2,数据库实例1维护DB1、数据库实例2维护DB3,与此同时,电子设备创建一个临时缓存库,用来记录新写入的数据,DB2中的历史数据整库迁移到DB3中,在历史数据迁移完成后,临时缓存库中的数据会迁移到两个子数据库DB1和DB3中,在缓存数据迁移完成后,电子设备恢复到正常服务状态,数据经数据访问管理模块,通过数据路由分配到两个子数据库DB1和DB3中。
第二种扩容方式适合机器性能充足,但是单表数据量过大,导致读写性能严重下降,不能满足业务处理性能要求时使用。此方式涉及对数据库和数据表的拆分,重新计算数据路由策略并进行本地迁移处理,需要有一定的空闲磁盘来完成数据的临时存储,在该扩容方式下,需要在原始数据库中新增子数据库,新增的子数据库的数目等于原有的子数据库的数目,子数据库的数目变成扩容前的两倍。扩容过程中的模式切换的时机和第一种扩容方式相同,通过数据拆分,每个子数据库需要存储的数据量大致为扩容前的一半,可以明显降低单个子数据库的读写压力,提升数据库服务的响应速度。该扩容方式的扩容过程如图3所示,在正常服务模式下,数据经数据访问管理模块,通过数据路由分配到两个子数据库DB1和DB2中,在进行数据库扩容时,新增两个子数据库DB3和DB4,DB1将存储的数据进行拆分,迁移一部分数据至DB3,DB2将存储的数据进行拆分,迁移一部分数据至DB4,与此同时,电子设备创建一个临时缓存库,用来记录新写入的数据,在历史数据迁移完成后,临时缓存库中的数据会迁移到四个子数据库DB1、DB2、DB3和DB4中,在缓存数据迁移完成后,电子设备恢复到正常服务状态,数据经数据访问管理模块,通过数据路由分配到四个子数据库DB1、DB2、DB3和DB4中。
第三种扩容方式是第一种扩容方式和第二种扩容方式的结合使用,当机器性能不足,且数据库中的单表数据量很大,数据库性能严重下降,无法满足业务性能要求时,可以使用第三种扩容方式进行数据库扩容。扩容的流程和第一种、第二种扩容方式相同,只是在第三种扩容方式中,对原始数据库既做子数据库存储数据的拆分和路由重新计算,同时也需要将拆分出来的这一部分数据迁移到新建数据库实例上去,这需要扩容时数据库有一定的空闲磁盘空间和比较稳定的网络环境。扩容之后每个数据库实例及数据库的数据都变为原来的一半,可以明显降低服务节点的性能压力和单表的读写压力,提升数据库的数据读写的处理能力。该扩容方式的扩容过程如图4所示,在正常服务模式下,数据经数据访问管理模块,通过数据路由分配到两个子数据库DB1和DB2中,新增一个包括DB3和DB4的数据库实例,DB3、DB4的容量大于DB1、DB2的容量,数据库实例1维护DB1和DB2、数据库实例2维护DB3和DB4,与此同时,电子设备创建一个临时缓存库,用来记录新写入的数据,DB1将存储的数据进行拆分,迁移一部分数据至DB3,DB2将存储的数据进行拆分,迁移一部分数据至DB4,在历史数据迁移完成后,临时缓存库中的数据会迁移到四个子数据库DB1、DB2、DB3和DB4中,在缓存数据迁移完成后,电子设备恢复到正常服务状态,数据经数据访问管理模块,通过数据路由分配到四个子数据库DB1、DB2、DB3和DB4中。
可选的,在历史数据的迁移过程中,本发明实施例所提供的方法还可以执行如下步骤:
检测历史数据在各子数据库中进行迁移的状态,其中,状态包括已完成状态和未完成状态;在数据库扩容操作发生异常时,记录未完成状态的子数据库;在数据库扩容操作恢复正常时,继续对未完成状态的子数据库进行历史数据的迁移。
扩容操作需要一定的时间,因此在进行数据库扩容的过程中,需要实时地检测历史数据在各子数据库中进行迁移的状态,记录下迁移已完成或者迁移未完成的状态,所以允许数据库扩容过程中有异常发生,如果异常发生,通过判断迁移未完成的状态,可以知道扩容过程停在了哪个阶段,则在数据库扩容操作恢复正常时,直接对未完成状态的子数据库继续进行历史数据的迁移,无需重新进行数据迁移,从而提高了数据库扩容的可用性。
S103,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中。
电子设备可以通过监测原始数据库中是否还有历史数据,来判断历史数据是否迁移完成,如果原始数据库中没有了历史数据,则说明历史数据迁移完成,则可以切换至缓存数据迁移模式,在该模式下,将临时缓存表中的数据按照数据路由规则,迁移至扩容后的数据库中,并且,电子设备可以按照配置的数据路由,将新写入的数据保存至扩容后的数据库中,数据路由的方式可以是通过哈希等传统的方式实现,这里不再赘述。将临时缓存库中保存的数据迁移至扩容后的数据库中过程可以理解为电子设备正工作在缓存数据迁移模式下。
可选的,在历史数据的迁移过程中,数据查询的流程如图5所示,可以包括如下步骤:
S501,在接收到数据查询指令时,根据数据查询指令携带的待查询数据的属性信息,从原始数据库及临时缓存库中查询待查询数据。
S502,返回从原始数据库及临时缓存库中查询到的待查询数据。
在历史数据迁移模式下运行时,因为数据库中包含了原始数据库和临时缓存库,所以在接收到数据查询指令时,需要同时查询原始数据库和临时缓存库,然后将两个库的查询结果返回给发起数据查询的设备。
可选的,在历史数据的迁移过程中,数据写入的流程如图6所示,可以包括如下步骤:
S601,接收数据写入请求,其中,数据写入请求携带待写入的数据。
S602,查询原始数据库中是否已存在该数据,若是则执行S605,否则执行S603。
S603,查询临时缓存库中是否已存在该数据,若是则执行S605,否则执行S604。
S604,将该数据保存至临时缓存库中。
S605,确定该数据已存在,写入失败。
在历史数据迁移模式下运行时,由于数据库中包含了原始数据库和临时缓存库,为了保证写入的数据在数据库中没有重复,在数据写入时,会先查询原始数据库,确定新数据在原始数据库中不存在,再查询临时缓存库,最终确认数据在整个数据库中都不存在后再进行写入,将数据写入临时缓存库中。
S104,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。
电子设备可以通过监测临时缓存库中是否还有数据,来判断缓存数据迁移是否完成,如果临时缓存库中没有了历史数据,则说明临时缓存库中保存的数据迁移完成,此时,电子设备可以切换至正常服务模式,进行正常的数据库服务,并且可以删除临时缓存库,同时还可以删除冗余的历史数据和缓存数据,释放缓存空间,保证数据库的存储效率。
可选的,在临时缓存库中保存的数据的迁移过程中,数据查询的流程如图7所示,可以包括如下步骤:
S701,在接收到数据查询指令时,根据数据查询指令携带的待查询数据的属性信息,从扩容后的数据库及临时缓存库中查询待查询数据。
S702,返回从扩容后的数据库及临时缓存库中查询到的待查询数据。
在缓存数据迁移模式下运行时,因为数据库中包含了扩容后的数据库和临时缓存库中的数据,所以在接收到数据查询指令时,需要同时查询扩容后的数据库和临时缓存库,然后将两个库的查询结果返回给发起数据查询的设备。
可选的,在临时缓存库中保存的数据的迁移过程中,数据写入的流程如图8所示,可以包括如下步骤:
S801,在接收到携带有待写入的数据的数据写入请求时,查询扩容后的数据库中是否已存在该数据,若是则执行S804,否则执行S802。
S802,查询临时缓存库中是否已存在该数据,若是则执行S804,否则执行S803。
S803,将该数据保存至扩容后的数据库中。
S804,确定该数据已存在,写入失败。
在缓存数据迁移模式下运行时,由于数据库中包含了扩容后的数据库和临时缓存库,为了保证写入的数据在数据库中没有重复,在数据写入时,会先查询扩容后的数据库,确定新数据在扩容后的数据库中不存在,再查询临时缓存库,最终确认数据在整个数据库中都不存在后再进行写入,将数据写入扩容后的数据库中。
应用本发明实施例,在识别到启动数据库扩容操作时,创建临时缓存库,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
相应于上述方法实施例,本发明实施例提供了一种数据库扩容装置,如图9所示,该装置可以包括:
创建模块910,用于在识别到启动数据库扩容操作时,创建临时缓存库;
迁移模块920,用于将最新写入的数据保存至所述临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中;
所述迁移模块920,还用于在所述历史数据迁移完成后,将所述临时缓存库中保存的数据迁移至所述扩容后的数据库中;
删除模块930,用于在所述临时缓存库中保存的数据迁移完成后,删除所述临时缓存库。
可选的,所述扩容后的数据库可以包括:由所述原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述扩容后的数据库中子数据库的数目等于所述原始数据库中子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块920在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体可以用于:
将所述原始数据库中第一子数据库存储的所有历史数据整体迁移至所述新增数据库实例下的子数据库中,所述第一子数据库为所述原始数据库中除所述部分原有的子数据库以外的任一子数据库。
可选的,所述扩容后的数据库可以包括:由所述原始数据库中新增的子数据库与原有的子数据库构成的数据库,所述新增的子数据库的数目等于所述原有的子数据库的数目;
所述迁移模块920在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体可以用于:
拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中。
可选的,所述扩容后的数据库可以包括:由所述原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述新增数据库实例下子数据库的数目等于所述原有的子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体可以用于:
拆分所述原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至所述新增数据库实例下的各子数据库中。
可选的,所述装置还可以包括:
检测模块,用于检测所述历史数据在各子数据库中进行迁移的状态,所述状态包括已完成状态和未完成状态;
记录模块,用于在所述数据库扩容操作发生异常时,记录未完成状态的子数据库;
所述迁移模块920,还可以用于在所述数据库扩容操作恢复正常时,继续对未完成状态的子数据库进行所述历史数据的迁移。
可选的,所述装置还可以包括:
查询模块,用于在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述原始数据库及所述临时缓存库中查询所述待查询数据;
返回模块,用于返回从所述原始数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,在所述历史数据的迁移过程中,所述迁移模块920在用于所述将最新写入的数据保存至所述临时缓存库中时,具体可以用于:
接收数据写入请求,所述数据写入请求携带待写入的数据;
查询所述原始数据库中是否已存在所述数据;
若所述原始数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述临时缓存库中。
可选的,所述装置还可以包括:
查询模块,用于在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述扩容后的数据库及所述临时缓存库中查询所述待查询数据;
返回模块,用于返回从所述扩容后的数据库及所述临时缓存库中查询到的所述待查询数据。
可选的,所述装置还可以包括:
查询模块,用于在接收到携带有待写入的数据的数据写入请求时,查询所述扩容后的数据库中是否已存在所述数据;
所述查询模块,还可以用于若所述扩容后的数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
保存模块,用于若所述临时缓存库中不存在所述数据,则将所述数据保存至所述扩容后的数据库中。
应用本发明实施例,在识别到启动数据库扩容操作时,创建临时缓存库,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
本发明实施例还提供了一种电子设备,如图10所示,包括处理器1001和存储器1002,其中,所述存储器1002存储有能够被所述处理器1001执行的机器可执行指令,所述机器可执行指令由所述处理器1001加载并执行,以实现本发明实施例所提供的数据库扩容方法。
上述存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器1002与处理器1001之间可以通过有线连接或者无线连接的方式进行数据传输,并且芯片与其他设备之间可以通过有线通信接口或者无线通信接口进行通信。图10所示的仅为通过总线进行数据传输的示例,不作为具体连接方式的限定。
本发明实施例中,处理器通过读取存储器中存储的机器可执行指令,并通过加载和执行机器可执行指令,能够实现:在识别到启动数据库扩容操作时,创建临时缓存库,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
另外,本发明实施例还提供了一种机器可读存储介质,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的数据库扩容方法。
本发明实施例中,机器可读存储介质存储有在运行时执行本发明实施例所提供的数据库扩容方法的机器可执行指令,因此能够实现:在识别到启动数据库扩容操作时,创建临时缓存库,将最新写入的数据保存至临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中,在历史数据迁移完成后,将临时缓存库中保存的数据迁移至扩容后的数据库中,在临时缓存库中保存的数据迁移完成后,删除临时缓存库。在数据库扩容时,创建一个临时缓存库,用来对最新写入的数据进行缓存,并对原始数据库中的历史数据进行正常的迁移处理,在历史数据迁移完成后,将临时缓存库中缓存的数据迁移至扩容后的数据库中,在不影响数据库扩容的条件下,利用临时缓存库对最新写入的数据进行缓存,可以实现在数据库扩容过程中的数据不间断地写入、存储,从而提高了数据存储效率。并且,在临时缓存库中保存的数据迁移完成后,对临时缓存库进行删除操作,保证临时缓存库能够及时地释放存储空间,进一步地提高了数据库的存储效率。
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种数据库扩容方法,其特征在于,所述方法包括:
在识别到启动数据库扩容操作时,创建临时缓存库;
将最新写入的数据保存至所述临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中;
在所述历史数据迁移完成后,将所述临时缓存库中保存的数据迁移至所述扩容后的数据库中;
在所述临时缓存库中保存的数据迁移完成后,删除所述临时缓存库;
所述扩容后的数据库包括:由所述原始数据库中新增的子数据库与原有的子数据库构成的数据库,所述新增的子数据库的数目等于所述原有的子数据库的数目;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中;
或者,
所述扩容后的数据库包括:由所述原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述新增数据库实例下子数据库的数目等于所述原有的子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
拆分所述原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至所述新增数据库实例下的各子数据库中。
2.根据权利要求1所述的方法,其特征在于,所述扩容后的数据库包括:由所述原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述扩容后的数据库中子数据库的数目等于所述原始数据库中子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述将原始数据库中存储的历史数据迁移至扩容后的数据库中,包括:
将所述原始数据库中第一子数据库存储的所有历史数据整体迁移至所述新增数据库实例下的子数据库中,所述第一子数据库为所述原始数据库中除所述部分原有的子数据库以外的任一子数据库。
3.根据权利要求1-2任一项所述的方法,其特征在于,在所述历史数据的迁移过程中,所述方法还包括:
检测所述历史数据在各子数据库中进行迁移的状态,所述状态包括已完成状态和未完成状态;
在所述数据库扩容操作发生异常时,记录未完成状态的子数据库;
在所述数据库扩容操作恢复正常时,继续对未完成状态的子数据库进行所述历史数据的迁移。
4.根据权利要求1所述的方法,其特征在于,在所述历史数据的迁移过程中,所述方法还包括:
在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述原始数据库及所述临时缓存库中查询所述待查询数据;
返回从所述原始数据库及所述临时缓存库中查询到的所述待查询数据。
5.根据权利要求1所述的方法,其特征在于,在所述历史数据的迁移过程中,所述将最新写入的数据保存至所述临时缓存库中,包括:
接收数据写入请求,所述数据写入请求携带待写入的数据;
查询所述原始数据库中是否已存在所述数据;
若所述原始数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述临时缓存库中。
6.根据权利要求1所述的方法,其特征在于,在所述临时缓存库中保存的数据的迁移过程中,所述方法还包括:
在接收到数据查询指令时,根据所述数据查询指令携带的待查询数据的属性信息,从所述扩容后的数据库及所述临时缓存库中查询所述待查询数据;
返回从所述扩容后的数据库及所述临时缓存库中查询到的所述待查询数据。
7.根据权利要求1所述的方法,其特征在于,在所述临时缓存库中保存的数据的迁移过程中,所述方法还包括:
在接收到携带有待写入的数据的数据写入请求时,查询所述扩容后的数据库中是否已存在所述数据;
若所述扩容后的数据库中不存在所述数据,则查询所述临时缓存库中是否已存在所述数据;
若所述临时缓存库中不存在所述数据,则将所述数据保存至所述扩容后的数据库中。
8.一种数据库扩容装置,其特征在于,所述装置包括:
创建模块,用于在识别到启动数据库扩容操作时,创建临时缓存库;
迁移模块,用于将最新写入的数据保存至所述临时缓存库中,并将原始数据库中存储的历史数据迁移至扩容后的数据库中;
所述迁移模块,还用于在所述历史数据迁移完成后,将所述临时缓存库中保存的数据迁移至所述扩容后的数据库中;
删除模块,用于在所述临时缓存库中保存的数据迁移完成后,删除所述临时缓存库;
所述扩容后的数据库包括:由所述原始数据库中新增的子数据库与原有的子数据库构成的数据库,所述新增的子数据库的数目等于所述原有的子数据库的数目;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
拆分各原有的子数据库中存储的历史数据,并将拆分后的部分历史数据对应的迁移至各新增的子数据库中;
或者,
所述扩容后的数据库包括:由所述原始数据库中原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述新增数据库实例下子数据库的数目等于所述原有的子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
拆分所述原有的子数据库中各子数据库存储的历史数据,将拆分后的部分历史数据对应的迁移至所述新增数据库实例下的各子数据库中。
9.根据权利要求8所述的装置,其特征在于,所述扩容后的数据库包括:由所述原始数据库中部分原有的子数据库和新增数据库实例下的子数据库构成的数据库,所述扩容后的数据库中子数据库的数目等于所述原始数据库中子数据库的数目,所述新增数据库实例下子数据库的容量大于或等于所述原始数据库中子数据库的容量;
所述迁移模块在用于所述将原始数据库中存储的历史数据迁移至扩容后的数据库中时,具体用于:
将所述原始数据库中第一子数据库存储的所有历史数据整体迁移至所述新增数据库实例下的子数据库中,所述第一子数据库为所述原始数据库中除所述部分原有的子数据库以外的任一子数据库。
10.一种电子设备,其特征在于,包括处理器和存储器,其中,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述机器可执行指令由所述处理器加载并执行,以实现权利要求1-7任一项所述的方法。
11.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134095.5A CN111400273B (zh) | 2019-11-19 | 2019-11-19 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911134095.5A CN111400273B (zh) | 2019-11-19 | 2019-11-19 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111400273A CN111400273A (zh) | 2020-07-10 |
CN111400273B true CN111400273B (zh) | 2024-02-02 |
Family
ID=71428370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911134095.5A Active CN111400273B (zh) | 2019-11-19 | 2019-11-19 | 数据库扩容方法、装置、电子设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400273B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930716A (zh) * | 2020-07-31 | 2020-11-13 | 中国工商银行股份有限公司 | 一种数据库扩容方法、装置及*** |
CN113239011A (zh) * | 2021-05-11 | 2021-08-10 | 京东数字科技控股股份有限公司 | 数据库的扩容方法、装置及*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930062A (zh) * | 2012-11-30 | 2013-02-13 | 南京富士通南大软件技术有限公司 | 一种数据库快速水平扩展的方法 |
CN106933859A (zh) * | 2015-12-30 | 2017-07-07 | ***通信集团公司 | 一种医疗数据的迁移方法和装置 |
CN106934048A (zh) * | 2017-03-16 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | 数据在线迁移方法、代理节点 |
WO2018023497A1 (zh) * | 2016-08-03 | 2018-02-08 | 深圳中兴力维技术有限公司 | 一种迁移数据的方法及装置 |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN108268501A (zh) * | 2016-12-30 | 2018-07-10 | ***通信集团北京有限公司 | 一种在线数据迁移过程中的业务处理方法及装置 |
CN108319596A (zh) * | 2017-01-16 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种数据库的扩容方法和装置 |
CN109144977A (zh) * | 2018-08-14 | 2019-01-04 | 五八有限公司 | 一种数据迁移方法、装置、设备及存储介质 |
CN109521943A (zh) * | 2017-09-19 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 云数据库实例的分配方法及相关产品 |
US10346374B1 (en) * | 2014-03-14 | 2019-07-09 | Open Invention Network Llc | Optimized data migration application for database compliant data extraction, loading and transformation |
CN110019125A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据库管理的方法和装置 |
CN110222030A (zh) * | 2019-05-13 | 2019-09-10 | 福建天泉教育科技有限公司 | 数据库动态扩容的方法、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9633055B2 (en) * | 2014-05-15 | 2017-04-25 | Microsoft Technology Licensing, Llc | Database migration |
-
2019
- 2019-11-19 CN CN201911134095.5A patent/CN111400273B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930062A (zh) * | 2012-11-30 | 2013-02-13 | 南京富士通南大软件技术有限公司 | 一种数据库快速水平扩展的方法 |
US10346374B1 (en) * | 2014-03-14 | 2019-07-09 | Open Invention Network Llc | Optimized data migration application for database compliant data extraction, loading and transformation |
CN106933859A (zh) * | 2015-12-30 | 2017-07-07 | ***通信集团公司 | 一种医疗数据的迁移方法和装置 |
WO2018023497A1 (zh) * | 2016-08-03 | 2018-02-08 | 深圳中兴力维技术有限公司 | 一种迁移数据的方法及装置 |
CN108132949A (zh) * | 2016-12-01 | 2018-06-08 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN108268501A (zh) * | 2016-12-30 | 2018-07-10 | ***通信集团北京有限公司 | 一种在线数据迁移过程中的业务处理方法及装置 |
CN108319596A (zh) * | 2017-01-16 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 一种数据库的扩容方法和装置 |
CN106934048A (zh) * | 2017-03-16 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | 数据在线迁移方法、代理节点 |
CN109521943A (zh) * | 2017-09-19 | 2019-03-26 | 腾讯科技(深圳)有限公司 | 云数据库实例的分配方法及相关产品 |
CN110019125A (zh) * | 2017-11-27 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据库管理的方法和装置 |
CN109144977A (zh) * | 2018-08-14 | 2019-01-04 | 五八有限公司 | 一种数据迁移方法、装置、设备及存储介质 |
CN110222030A (zh) * | 2019-05-13 | 2019-09-10 | 福建天泉教育科技有限公司 | 数据库动态扩容的方法、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111400273A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101597384B1 (ko) | 분할되고 확장가능하며 사용가능한 구조적 저장소에서의 파티션 관리 | |
US10838829B2 (en) | Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium | |
EP3306477B1 (en) | Storage device and block storage method based on the storage device | |
CN102158540A (zh) | 分布式数据库实现***及方法 | |
CN102955845A (zh) | 数据访问方法、装置与分布式数据库*** | |
CN112764968B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN105027069A (zh) | 卷区域的重复数据删除 | |
JP2007241486A (ja) | 記憶装置システム | |
CN111400273B (zh) | 数据库扩容方法、装置、电子设备及机器可读存储介质 | |
CN113377868A (zh) | 一种基于分布式kv数据库的离线存储*** | |
CN109271376A (zh) | 数据库升级方法、装置、设备及存储介质 | |
CN109697140B (zh) | 数据备份方法及装置、数据恢复方法及装置、存储介质 | |
CN105740049B (zh) | 一种控制方法及装置 | |
CN108255576A (zh) | 虚拟机热迁移异常处理方法、装置和存储介质 | |
CN111680019B (zh) | 一种区块链的数据扩容方法及其装置 | |
CN111198845A (zh) | 一种数据迁移方法、可读存储介质及计算设备 | |
CN107943412B (zh) | 一种分区***、删除分区中数据文件的方法、装置及*** | |
CN107153680B (zh) | 一种分布式内存数据库在线扩展节点的方法及*** | |
US10671482B2 (en) | Providing consistency in a distributed data store | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与*** | |
KR101456104B1 (ko) | 비휘발성 메모리를 위한 듀얼 버퍼링 파일 관리 방법, 파일 관리 시스템 및 대용량 저장 장치 | |
CN111488124A (zh) | 一种数据更新方法、装置、电子设备及存储介质 | |
JP2020013307A (ja) | ファイル移行方法およびファイル移行システム | |
US7949632B2 (en) | Database-rearranging program, database-rearranging method, and database-rearranging apparatus | |
CN104572754A (zh) | 一种数据库***、数据库***访问方法及装置 |
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 |