[发明专利]一种关系型数据库迁移到HBase数据库的工具和方法在审
| 申请号: | 201410392438.9 | 申请日: | 2014-08-11 |
| 公开(公告)号: | CN104123392A | 公开(公告)日: | 2014-10-29 |
| 发明(设计)人: | 郑立国;贾金原;赵龙 | 申请(专利权)人: | 吉林禹硕动漫游戏科技股份有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 深圳市盈方知识产权事务所(普通合伙) 44303 | 代理人: | 周才淇;朱晓江 |
| 地址: | 130012 吉林省长春市高新区*** | 国省代码: | 吉林;22 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 关系 数据库 迁移 hbase 工具 方法 | ||
1.一种关系型数据库迁移到HBase数据库的工具,其特征在于,包括解析器、表模式转换器、表模式适配器和数据表管理器,所述解析器用于解析由外部工具从传统关系数据库导出的表模式定义文档;所述表模式转换器用于把传统关系数据库中的表模式定义转换成HBase数据库中的表模式,支持前文中所提到的四种表变换的方式;所述表模式适配器用于保存、读取已经由表模式转换器所转换过的表模式定义到指定的文件中,并为其它模块查找新的表模式定义提供接口;所述数据表管理器用于把存储在传统关系数据库中的数据迁移到HBase数据库中对应新定义的表中。
2.一种关系型数据库迁移到HBase数据库的方法,其特征在于,具体包括:在进行迁移前需对关系型数据库的表模式进行BCNF分解;预处理后对关系型数据库的表模式进行变换包括基本变换、内嵌变换、分割变换或内联变换得到符合HBase数据库定义的表模式;然后将关系型数据库的表中的数据读取并转存到Base数据库中对应新定义的表,
所述BCNF分解用于消去非主属性对键的部分函数依赖、非主属性对键的传递函数依赖以及主属性对键的传递函数依赖;
所述基本变换适用于把以关系数据库中表设计模式定义的表变换成HBase中的表;
所述内嵌变换用于当从表A到表B存在一对一、一对多或多对多的关系时,把表B作为表A的内嵌表;
所述分割变换用于当从表C到其余多个表之间都存在一对一、一对多或多对多的关系时,把表C进行分割,按照数据的映射关系,把表C中的每一行内嵌到对应的表中;
所述内联变换用于当从表A到表B存在一对一、一对多或多对多的关系,并且从表B到表C也存在一对一、一对多或多对多的关系时,把表C作为表A的内联表;
其中,表C为表B的从属关联关系表,表B为表A的从属关联关系表。
3.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,所述基本变换具体变换方法为:把表A的表名作为HBase数据库中对应表的表名,表A也添加到这个表的列族中;之后把表A的主键作为对应表的行键;最后把表A中定义的所有属性添加到对应表的列族1之中。
4.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,所述内嵌变换具体变换方法为:把表A的表名作为HBase数据库中对应表的表名;之后把表A和表B都添加到这个表的列族中;接着把表A的主键作为对应表的行键;随后把表A中定义的所有属性添加到对应表的列族1之中,把表B中所有同表A这一行有关的所有行属性都放入到列族2之中,最后,删除表B。
5.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,所述分割变换具体变换方法为:把表A和表B的表名分别作为HBase数据库中对应表的表名;之后把表A和表B分别添加到对应表的列族中,把表C都添加到这些表的列族之中;接着把表A和表B的主键分别作为对应表的行键;随后把表A和表B中定义的所有属性添加到对应表的列族1之中,把表C中所有同表A或表B这一行有关的所有行属性都分别放入到对应表的列族2之中;最后删除表C。
6.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,所述内联变换具体变换方法为:把表A的表名作为HBase数据库中对应表的表名;之后把表A和表C都添加到这个表的列族中;接着把表A的主键作为对应表的行键;随后把表A中定义的所有属性添加到对应表的列族1之中,把表C中所有同表A这一行通过表B有间接关联的所有行属性都放入到列族2之中;最后删除表C。
7.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,总的迁移过程采用如下的决策为:先判断集合X是否为空,否则取出一个元素x,对其做基本变换,将结果元素y放入集合Y,是则直接得到集合Y;然后判断元素y在集合Y中是否与其他元素存在一对多、多对多的关系,是则取出一个关系映射c,并对关系映射c做内嵌、分割变换;否则进一步判断元素y在集合Y中是否需要做内联变换,如果否则返回判断集合X是否为空,若是则做内联变换。
8.根据权利要求2所述的关系型数据库迁移到HBase数据库的方法,其特征在于,对所有的表模式进行如下的简化处理:为每张表指定一个自增的主键;为表的每个属性设置一个默认值;减少表名称和属性名的长度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林禹硕动漫游戏科技股份有限公司,未经吉林禹硕动漫游戏科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410392438.9/1.html,转载请声明来源钻瓜专利网。





