[发明专利]数据库数据迁移方法及系统在审
申请号: | 201410581318.3 | 申请日: | 2014-10-27 |
公开(公告)号: | CN105630778A | 公开(公告)日: | 2016-06-01 |
发明(设计)人: | 李东 | 申请(专利权)人: | 青岛金讯网络工程有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 266100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 数据 迁移 方法 系统 | ||
技术领域
本申请涉及计算机技术中不同数据库之间数据迁移的方法,尤其涉及异构数据库之间 数据迁移的方法及系统。
背景技术
早期互联网应用中,底层数据普遍采取单库存储所有数据的存储方案。随着互联网应 用的发展,用户量的激增,数据存储数量呈指数递增,底层数据单库存储方案制约甚至限 制着互联网应用的进一步扩展。为此,为解决单库存储的瓶颈问题,需逐步采用另外一种支 持横向存储的解决方案。而要解决数据存储的瓶颈,必须切换现有的存储结构,但由于目前 底层数据量非常庞大,在切换存储结构的同时,如何将原有的海量数据迁移到新的支持横 向扩展的存储结构上也是一个很大的瓶颈点。
现有的进行互联网中数据迁移用到的手段或者是通过不同数据库提供的导入导出工 具将原数据库的数据导出到文件中,再将这些数据文件通过另外一种数据库工具导入到新 的数据表,或者在不同数据库中编写和应用相关的程序,在程序中将数据从原数据库中通 过查询语句查询出来后,再通过程序将数据插入到新的数据库,或者利用云数据迁移工具, 将一个关系型数据库中的数据导入到分布式系统集群Hadoop的分布式文件系统(Hadoop DistributedFileSystem,HDFS)中,也可以将HDFS的数据导入到关系型数据库中。 通过Sqoop,可以在基于Hadoop分布式处理的基础上,将数据从原数据库中取出到HDFS 中,再将数据从HDFS中取出导入到新的数据库中。由此看出目前互联网中的数据迁移工 具的核心都在于将数据从原数据库中导出,再将数据导入到新的数据库中,这些技术方案 存在以下不足,首先是在多表海量数据情况下无法进行批量操作;其次,无法避免数据 量超出服务器处理能力的问题;再次,现有的数据库数据迁移工具普遍都无法支持对数 据的二次处理,即都不能够支持对原数据库数据的分库迁移;最后,目前互联网中的数 据迁移工具很多都不支持数据迁移后的校验功能。
发明内容
有鉴于此,有必要提供一种数据库数据迁移方法及系统,以解决现有数据库数据迁移 中存在的速度、稳定性及数据正确性的问题。
本申请提供一种数据库数据迁移方法,应用在分布式系统集群环境中,用于在第一数 据库和第二数据库之间迁移数据,该方法包括:
配置数据库迁移任务的被批量调度的多个表任务对应的表任务信息,所述每个表任务 将第一数据库中与该表任务对应的源数据表进行数据迁移;
从第一数据库读出该表任务中需迁移的源数据表的数据;
并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数据表导入到 分布式文件系统中;及从所述分布式文件系统中将该多个分库数据表导出到第二数据库 中。
进一步地,所述迁移方法还包括:比较第一数据库与第二数据库中的数据,校验在迁 移过程中数据是否有缺失以及数据是否不完整。
本申请还提供一种数据库数据迁移系统,运行在分布式系统集群环境中,用于在第 一数据库和第二数据库之间迁移数据,该迁移系统包括:
配置模块,用于配置数据库迁移任务的多个表任务对应的表任务信息,所述每个表 任务指对第一数据库中一个源数据表进行数据迁移的迁移任务;
调度控制模块,能够读取所述表任务信息,并批量调度所述多个表任务;
数据导入模块,用于根据所调度的表任务从第一数据库读出该表任务中需迁移的源 数据表的数据,并对该源数据表的数据进行分库得到多个分库数据表,再将该多个分库数 据表导入到分布式文件系统中;及
数据导出模块,从所述分布式文件系统中读出所述多个分库数据表,再将该多个分 库数据表导出到第二数据库中。
进一步地,所述迁移系统还包括数据校验模块,该数据校验模块用于比较第一数据库 与第二数据库中的数据,校验在迁移过程中数据是否有缺失以及数据是否不完整。
与现有技术相比,本申请数据库数据迁移方法及系统将每个数据表当作一个迁移任 务,以数据库导入导出工具或者定制程序作为异构数据库读写数据的主要手段,在分布式 集群中运行这些任务,同时在数据处理中加入自定义的分库算法,将读出的数据划分到多 个文件中,再在任务中调用数据库导入导出工具或者定制程序将数据导入到多个新的数据 库中。由于每个表都是一个迁移任务,使得不同表不同数据源的问题能够有清晰的划分,可 以支持多个任务批量同时进行而不互相影响,大大的加快了数据迁移的速度。在迁移完成 后,可以对新库和旧库之间的数据进行校验,找出不一致的数据。因此本申请相对传统的处 理数据导入导出的方法,提高了迁移的速度,提供了数据校验功能,保证了迁移过程中的稳 定性及迁移过程中的数据正确性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛金讯网络工程有限公司,未经青岛金讯网络工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410581318.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网页信息处理方法及装置
- 下一篇:内容参与翻译设备和方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置