关系型数据库与HBASE间的数据迁移介绍.pptVIP

关系型数据库与HBASE间的数据迁移介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据迁移 HBase数据库迁移工具的设计与实现 同济大学 杨寒冰 2013 Kettle工具 Apache sqoop 背景 互联网应用朝着数据海量化,用户访问高并行化的方向发展,应用分布式数据库可以解决这一问题。其中HBase已经成为目前最热门的NoSQL数据库。 如何将原先存储在关系型数据库中的数据迁移到HBase中成为当前非常热门的问题。 1.数据库迁移技术研究现状 是否支持 SQL Server----关系数据库 SQL Server----Hbase 表模式 √ × 数据类型 √ × 事务 √ × 存储过程 √ × 常用软件 SQL server migration assistant等第三方软件 Sqoop,Kettle等 由于各类关系型数据库之间的高度相似性,使得在这类数据库之间迁移变得相对简单。从SQL Server向其他例如Oracle、MySQL等关系型数据库迁移时,已经有丰富的自动化或者半自动化的工具来帮助开发人员完成整个迁移工作。 从关系型数据库向HBase迁移,目前必须由开发人员手工地完成从表结构迁移直到数据内容迁移这一系列复杂的工作。 Hbase数据迁移工具 Sqoop Kettle 来源 Apache项目(2009) 开源ETL(extract,transform and load) 主要作用 在结构化数据存储与Hadoop/HBase之间进行数据交换 优点 支持多种关系数据库的迁移 图形化界面迁移 缺点 只能复制数据,不能迁移表模式 1.需要手动指定表与表之间以及数据类型的对应关系。 2.只是将原有的表模式复制,在数据查询时会带来性能上的下降。 可以看出,HBase中的表结构具有稀疏的特性,其结构同传统的关系型数据库有着很大的差异,因此在为应用程序设计数据库中所有表的结构和关系时也有许多不同之处,开发人员需要手工地重新设计HBase数据库中的表模式。 2.迁移工具的设计 HBase数据库特点: 单元格是有版本的(time-stamp); 数据行是有序的(表中的行通过行关键字按字典序排序); 只要列族存在,列便可以由客户端随时添加。 除此之外,HBase的表和RDBMS的表类似。 在HBase中查询数据: 全表扫描:对整张表进行扫描,所以花费的时间最长,效率也最差; 行键扫描:根据所给的键值取得一张表中行键对应的单条数据,是所有 查询方法中最快的查询方式; 区间扫描:介于两者之间。 主要流程 解析器(SchemaParser):解析由外部工具从传统RDBMS数据库导出的表模式定义文档。 表模式转换器(Convertor):把传统RDBMS的表模式定义转换成HBase的表模式。 表模式适配器(Adapter):保存、读取已经由表模式转换器所转换过的表模式定义到指定的文件中,并为其他模块查找新的表模式定义提供接口。 数据表管理器(TableManager):把存储在传统RDBMS数据库中的数据迁移到HBase数据库中对应新定义的表中。 2.1表模式预处理 即是把表模式从关系型数据库迁移到HBase数据库(根据原有关系型数据库表模式在HBase中重新设计表模式)的过程。 一般步骤: 依照传统关系型数据库的设计方法对所有表进行初步设计; 对表模式进行BCNF分解(减少表间数据冗余和依赖关系); 定义BCNF范式:若关系模式R是第三范式,且每个属性都不传递依赖于R的候选键。这种关系模式就是BCNF模式。 即在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖。 算法1(BCNF分解)若R不属于BCNF,则按如下算法将R分解成一组BCNF模式。 通过范式分解,能够消去非主属性对键的部分函数依赖,非主属性对键的传递函数依赖和主属性对键的传递函数依赖。 2.2表模式变换方法 基本变换 内嵌变换 分割变换 内联变换 2.2.1 基本变换 (1)适用场景 以传统关系数据库中表设计模式定义的表变换成HBase中的表。 (2)变换方法 Goods表为表1,把表1的表名作为HBase中对应的表名,表1也添加到这个表的列族中。 之后把表1的主键作为对应表的行键。 最后把表1中定义的所有属性添加到对应表的列族1中。 (3)有效性 在空间效率和查询效率上都相同。 2.2.2 内嵌变换 查询表1中的某一行时就能够得到同这一行所关联的所有表2中的数据,这样就可以避免表1和表2的连接查询。 Goods表为表1、Color表为表2,表1的表名作为HBase中对应的表名; 把表1和表2添加到列族中。表1的主键作为对应表的行键, 随后把表1中定义的所有属性添加到对应表的列族1中,把表2中所有同表1这一行有关的所有行属性都放入到列族2中。根据情况删除表2。 在

文档评论(0)

Epiphany + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档