大数据开发 |
您所在的位置:网站首页 › hbase数据类型 › 大数据开发 |
原标题:大数据开发-HBase关系对比 今天给大家带来的是大数据开发-HBase关系对比,相信大家也都发现了,有很多框架的用处都差不多,为什么只用这个而不用那个呢?这就是两者之间的一些不同之处的对比,然后选择一个最适用的,本期就是关系对比,为什么它最适用! 一、HBase基础知识 (1)HBase依赖和NoSQL HBase 依赖于 HDFS 做底层的数据存储,BigTable 依赖 Google GFS 做数据存储 HBase 依赖于 MapReduce 做数据计算,BigTable 依赖 Google MapReduce 做数据计算 HBase 依赖于 ZooKeeper 做服务协调,BigTable 依赖 Google Chubby 做服务协调 NoSQL = NO SQL NoSQL = Not Only SQL:会有一些把 NoSQL 数据的原生查询语句封装成 SQL,比如 HBase 就有 Phoenix 工具关系型数据库 和 非关系型数据库的典型代表 NoSQL:hbase, redis, mongodb RDBMS:mysql,oracle,sql server,db2 (2)NoSQL 数据库的要点: 1.它介于 NoSQL 和 RDBMS 之间,仅能通过主键(rowkey)和主键的 range 来检索数据 2. HBase 查询数据功能很简单,不支持 join 等复杂操作 3. 不支持复杂的事务,只支持行级事务(可通过 hive 支持来实现多表 join 等复杂操作)。 4. HBase 中支持的数据类型:byte[](底层所有数据的存储都是字节数组) 5.主要用来存储结构化和半结构化的松散数据。 (3)结构化、半结构化和非结构化区别: 结构化:数据结构字段含义确定,清晰,典型的如数据库中的表结构 半结构化:具有一定结构,但语义不够确定,典型的如 HTML 网页,有些字段是确定的(title), 有些不确定(table) 非结构化:杂乱无章的数据,很难按照一个概念去进行抽取,无规律性与 Hadoop 一样,HBase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加 计算和存储能力。 二、HBase与Hadoop的关系 (1)HDFS 1.为分布式存储提供文件系统 2.针对存储大尺寸的文件进行优化,不需要对HDFS上的文件进行随机读写 3.直接使用文件 4.数据模型不灵活 5.使用文件系统和处理框架 6.优化一次写入,多次读取的方式 (2)HBase 1.提供表状的面向列的数据存储 2.针对表状数据的随机读写进行优化 3.使用key-value操作数据 4.提供灵活的数据模型 5.使用表状存储,支持MapReduce,依赖HDFS 6.优化了多次读,以及多次写 三、RDBMS与HBase的对比 关系型数据库 (1)结构: 1.数据库以表的形式存在 2.支持FAT、NTFS、EXT、文件系统 3.使用Commit log存储日志 4.参考系统是坐标系统 5.使用主键(PK) 6.支持分区 7.使用行、列、单元格 (2)功能: 1.支持向上扩展 2.使用SQL查询 3.面向行,即每一行都是一个连续单元 4.数据总量依赖于服务器配置 5.具有ACID支持 6.适合结构化数据 7.传统关系型数据库一般都是中心化的 8.支持事务 9.支持Join HBase (1)结构: 1.数据库以region的形式存在 2.支持HDFS文件系统 3.使用WAL(Write-Ahead Logs)存储日志 4.参考系统是Zookeeper 5.使用行键(row key) 6.支持分片 7.使用行、列、列族和单元格 (2)功能: 1.支持向外扩展 2.使用API和MapReduce来访问HBase表数据 3.面向列,即每一列都是一个连续的单元 4.数据总量不依赖具体某台机器,而取决于机器数量 5.HBase不支持ACID(Atomicity、Consistency、Isolation、Durability) 6.适合结构化数据和非结构化数据 7.一般都是分布式的 8.HBase不支持事务 9.不支持Join 好了以上就是本期的所有内容了,大数据开发的关系对比了解的清楚才能更好的选择适合自己的,知己知彼百战百胜。 希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。 有问题的欢迎在评论区留言,如有侵权请告知。返回搜狐,查看更多 责任编辑: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |