数据库数据迁移方法及系统技术方案

技术编号:15437322 阅读:201 留言:0更新日期:2017-05-25 19:28
本申请提供一种数据库数据迁移方法,应用在分布式系统集群环境中,用于在第一数据库和第二数据库之间迁移数据,该方法包括:配置数据库迁移任务的多个表任务对应的表任务信息,所述多个表任务能够被批量调度;根据所调度的表任务从第一数据库读出该表任务中需迁移的源数据表的数据,并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到分布式文件系统中;及从所述分布式文件系统中读出所述多个分库数据表,再将该多个分库数据表导出到第二数据库中。所述迁移方法只需要一次配置即可将不同的数据从一种数据库迁移到另外一种数据库,提高了数据迁移的速度及稳定性。本申请还提供一种数据库数据迁移系统。

Data migration method and system for database

This application provides a database data migration method used in the cluster environment in a distributed system, for data transfer between the first database and the second database, the method includes table task information corresponding to a plurality of table task configuration database migration task, the task can be more than one table according to the batch scheduling; scheduling table read the source data task table data to transfer the table from the first task in the database, and the data source table database from a number of library data table, and then the multiple pools of data table into the distributed file system; and from the distributed file system reads the plurality pools of data table, and then the multiple pools of data table to export to the database second. The migration method needs only one configuration to transfer different data from one database to another, thus improving the speed and stability of data migration. The present application also provides a database data migration system.

【技术实现步骤摘要】
数据库数据迁移方法及系统
本申请涉及计算机技术中不同数据库之间数据迁移的方法,尤其涉及异构数据库之间数据迁移的方法及系统。
技术介绍
早期互联网应用中,底层数据普遍采取单库存储所有数据的存储方案。随着互联网应用的发展,用户量的激增,数据存储数量呈指数递增,底层数据单库存储方案制约甚至限制着互联网应用的进一步扩展。为此,为解决单库存储的瓶颈问题,需逐步采用另外一种支持横向存储的解决方案。而要解决数据存储的瓶颈,必须切换现有的存储结构,但由于目前底层数据量非常庞大,在切换存储结构的同时,如何将原有的海量数据迁移到新的支持横向扩展的存储结构上也是一个很大的瓶颈点。现有的进行互联网中数据迁移用到的手段或者是通过不同数据库提供的导入导出工具将原数据库的数据导出到文件中,再将这些数据文件通过另外一种数据库工具导入到新的数据表,或者在不同数据库中编写和应用相关的程序,在程序中将数据从原数据库中通过查询语句查询出来后,再通过程序将数据插入到新的数据库,或者利用云数据迁移工具,将一个关系型数据库中的数据导入到分布式系统集群Hadoop的分布式文件系统(HadoopDistributedFileSystem,HDFS)中,也可以将HDFS的数据导入到关系型数据库中。通过Sqoop,可以在基于Hadoop分布式处理的基础上,将数据从原数据库中取出到HDFS中,再将数据从HDFS中取出导入到新的数据库中。由此看出目前互联网中的数据迁移工具的核心都在于将数据从原数据库中导出,再将数据导入到新的数据库中,这些技术方案存在以下不足,首先是在多表海量数据情况下无法进行批量操作;其次,无法避免数据量超出服务器处理能力的问题;再次,现有的数据库数据迁移工具普遍都无法支持对数据的二次处理,即都不能够支持对原数据库数据的分库迁移;最后,目前互联网中的数据迁移工具很多都不支持数据迁移后的校验功能。
技术实现思路
有鉴于此,有必要提供一种数据库数据迁移方法及系统,以解决现有数据库数据迁移中存在的速度、稳定性及数据正确性的问题。本申请提供一种数据库数据迁移方法,应用在分布式系统集群环境中,用于在第一数据库和第二数据库之间迁移数据,该方法包括:配置数据库迁移任务的被批量调度的多个表任务对应的表任务信息,所述每个表任务将第一数据库中与该表任务对应的源数据表进行数据迁移;从第一数据库读出该表任务中需迁移的源数据表的数据;并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到分布式文件系统中;及从所述分布式文件系统中将该多个分库数据表导出到第二数据库中。进一步地,所述迁移方法还包括:比较第一数据库与第二数据库中的数据,校验在迁移过程中数据是否有缺失以及数据是否不完整。本申请还提供一种数据库数据迁移系统,运行在分布式系统集群环境中,用于在第一数据库和第二数据库之间迁移数据,该迁移系统包括:配置模块,用于配置数据库迁移任务的多个表任务对应的表任务信息,所述每个表任务指对第一数据库中一个源数据表进行数据迁移的迁移任务;调度控制模块,能够读取所述表任务信息,并批量调度所述多个表任务;数据导入模块,用于根据所调度的表任务从第一数据库读出该表任务中需迁移的源数据表的数据,并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到分布式文件系统中;及数据导出模块,从所述分布式文件系统中读出所述多个分库数据表,再将该多个分库数据表导出到第二数据库中。进一步地,所述迁移系统还包括数据校验模块,该数据校验模块用于比较第一数据库与第二数据库中的数据,校验在迁移过程中数据是否有缺失以及数据是否不完整。与现有技术相比,本申请数据库数据迁移方法及系统将每个数据表当作一个迁移任务,以数据库导入导出工具或者定制程序作为异构数据库读写数据的主要手段,在分布式集群中运行这些任务,同时在数据处理中加入自定义的分库算法,将读出的数据划分到多个文件中,再在任务中调用数据库导入导出工具或者定制程序将数据导入到多个新的数据库中。由于每个表都是一个迁移任务,使得不同表不同数据源的问题能够有清晰的划分,可以支持多个任务批量同时进行而不互相影响,大大的加快了数据迁移的速度。在迁移完成后,可以对新库和旧库之间的数据进行校验,找出不一致的数据。因此本申请相对传统的处理数据导入导出的方法,提高了迁移的速度,提供了数据校验功能,保证了迁移过程中的稳定性及迁移过程中的数据正确性。本文档来自技高网
...

【技术保护点】
一种数据库数据迁移方法,应用在分布式系统集群环境中,用于在第一数据库和第二数据库之间迁移数据,其特征在于,该方法包括:配置数据库迁移任务的被批量调度的多个表任务对应的表任务信息,所述每个表任务将第一数据库中与该表任务对应的源数据表进行数据迁移;从第一数据库读出该表任务中需迁移的源数据表的数据;并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到分布式文件系统中;及从所述分布式文件系统中将该多个分库数据表导出到第二数据库中。

【技术特征摘要】
1.一种数据库数据迁移方法,应用在分布式系统集群环境中,用于在第一数据库和第二数据库之间迁移数据,其特征在于,该方法包括:配置数据库迁移任务的被批量调度的多个表任务对应的表任务信息,所述每个表任务将第一数据库中与该表任务对应的源数据表进行数据迁移;从第一数据库读出该表任务中需迁移的源数据表的数据;并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到分布式文件系统中;及从所述分布式文件系统中将该多个分库数据表导出到第二数据库中。2.如权利要求1所述的数据库数据迁移方法,其特征在于,通过表配置文件来配置多个表任务对应的表任务信息。3.如权利要求2所述的数据库数据迁移方法,其特征在于,对应每个表任务,所述表配置文件包括源配置和目标配置,所述源配置给出了第一数据库中需要迁移的源数据表的信息,所述目标配置给出了要把需要迁移的源数据表...

【专利技术属性】
技术研发人员:陈崇传
申请(专利权)人:青岛海日安电子有限公司
类型:发明
国别省市:山东,37

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

1