[发明专利]一种将关系型数据迁移至HBase的方法及系统有效
申请号: | 201310612192.7 | 申请日: | 2013-11-26 |
公开(公告)号: | CN103631907A | 公开(公告)日: | 2014-03-12 |
发明(设计)人: | 戴娇;文杰;韩冀中;周薇 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关系 数据 迁移 hbase 方法 系统 | ||
技术领域
本发明涉及数据存储与管理领域,尤其涉及一种将传统关系型数据库中的关系型数据迁移至HBase数据库的方法及系统。
背景技术
随着数据生成方式的多元化与数据接入方式的多样化及便捷化,各种业务系统中的数据都急剧膨胀。相应地,传统方式下,使用关系型数据库管理的数据,在存储容量与访问量上不断发生量级上的增加。传统关系库面临严峻的挑战。
近年来,NoSQL数据库在工业界和研究领域蓬勃发展。NoSQL数据库天然的分布式架构,自动完成数据的水平划分与访问的并发,在数据存储量及读写性能较传统关系型数据库有了极大的提升。工业界与研究机构都纷纷推出相关软件,HBase即为其中的一员。HBase是一个分布式的、面向列存储的数据库,具有高可靠性、高可扩展性,能在普通硬件环境基础上支撑十亿量级行,百万量级列的“大表”,并支持在这样规模数据上的随机、实时读写操作。HBase提供类似于表格的存储视图,与普通二维表格不同的是,表的属性列可以按需动态调整,表的记录按照列方向而非行方向进行组织。一行数据有行键与若干列簇组成,行键与列簇组成该表的schema,在表格创建后保持不变。而列簇则由若干列组成,可以在数据更新时动态增减列簇中的列。
参照Google的BigTable实现的HBase,目前是Apache的顶级项目,该开源社区蓬勃发展的同时,HBase的应用也越来越广泛,已经在Yahoo!,Facebook等多家公司成功应用。应用过程中,不可避免地涉及到数据迁移,即从从原有数据平台迁移至HBase,如:从Mysql、Oracle等关系型数据库移出。
Apache出品的Sqoop系统即提供从关系数据库读取整库的数据,并指定列为行键,将数据记录作为值存入HBase某一行的列簇中。这种迁移存在以下问题:1)丢失数据模式信息与数据唯一性保证,如数据类型、是否允许非空。2)列过多,对读写性能造成一定的影响。3)不恰当的行键的设计,可能会造成空间的浪费。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种将关系型数据迁移至HBase的方法及系统,完整保留了原关系数据库中数据表格的模式信息,可灵活配置映射方式,提高了访问性能,节省了存储空间。
本发明解决上述技术问题的技术方案如下:一种将关系型数据迁移至HBase的方法,包括如下步骤:
步骤1:建立HBase数据库,并建立用于存储关系数据库中数据表与HBase中相应的数据存储表间映射关系的映射关系表;
步骤2:选定一个或一个以上的关系型数据表,并为选定的每个关系型数据表定义映射方式,记录在映射关系表中;
步骤3:导入数据时,查询映射关系表中的映射方式,并根据映射方式建立相应的数据存储表;
步骤4:将步骤2中所述一个或一个以上的关系型数据表中的数据按照步骤3中所述的映射关系迁移至建立的数据存储表中;
步骤5:判断是否还有关系型数据要迁移到HBase数据库中,如果有返回步骤2,否则结束。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,上述技术方案还包括当要从HBase数据库中导出数据时,具体实现如下:首先,根据用户提供的导出配置文件获取待导出数据在原关系型数据表中的位置信息;其次,根据待导出数据在原关系型数据表中的位置信息,在映射关系表中查找出待导出数据在HBase数据库的数据存储表中相应的位置信息;最后,按照关系映射表中定义的数据类型将待导出数据导出。
进一步,上述技术方案还包括当要从HBase数据库中查询数据时,具体实现如下:首先,解析所述查询语句,提取出查询信息,并转换成HBase数据库的查询语句;其次,根据已转换的查询语句在映射关系表中查找待查询数据在数据存储表中的位置信息;最后,根据查询到的位置信息,查询数据存储表中的相应数据。
进一步,步骤2中所述映射方式为包括表映射方式和列映射方式,
所述表映射方式包括一对一映射和多对一映射,具体体现在表名的映射,所述表名的映射为根据表名转换运算进行映射,表名转换运算包括一对一哈希运算和多对一哈希运算;
所述列映射方式包括默认方式、时序方式和用户自定义方式,所述默认方式即关系数据库中表格内所有列与HBase的数据存储表格的一个列簇内的所有列一一对应;所述时序方式即将关系数据库中表格内所有时间值属性列在HBase的数据存储表中单独定义一个列簇,该列簇包含一个列,将迁移的数据按照不同时间点对应于该列不同的时间戳上;所述用户自定义映射即根据用户的需要进行自定义。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310612192.7/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置