当前位置:   article > 正文

Hbase和关系型数据库、HDFS、Hive的区别_hbase和hdfs的区别

hbase和hdfs的区别

目录

1.Hbase和关系型数据库的区别

 2.Hbase和HDFS的区别

 3.Hbase和Hive的区别


1.Hbase和关系型数据库的区别

          关系型数据库                       Hbase
存储适合结构化数据,单机存储适合结构化和半结构数据的松散数据,分布式存储
功能

(1)支持ACID

(2)支持join

(3)使用主键PK

(4)数据类型:int、varchar等

(1)仅支持单行事务

(2)不支持join,把数据糅合到一张大表

(3)行键 row key

(4)数据类型:byte[]

 2.Hbase和HDFS的区别

            HDFS                            Hbase
功能

(1)具有高吞吐量,是一个非常适合存储大型文件的分布式文件系统。

(2)适合于批量数据处理, 主要应用离线OLAP, 不支持随机读写(即:无法在文件中快速查询某个数据)

(1)基于hadoop, 和 HDFS是一种强依赖关系, HBase的吞吐量不是特别高, 支持高效的随机读写特性(即:大型表提供快速记录查找(和更新))为

(2)HBase内部将大量数据放在HDFS中名为「StoreFiles」的索引中,以便进行高速查找。

(3) Hbase比较适合做快速查询等需求,而不适合做大规模的OLAP应用。

思考:HBase是基于HDFS, 但是HDFS并不支持随机读写特性, 但是HBase却支持高效的随机读写特性, 两者貌似出现了一定的矛盾关系?

        HBase是基于HDFS之上的一个分布式的列存储数据库,而HDFS是一个分布式文件系统。虽然HDFS本身不支持随机读写,但是HBase通过其自身的结构和实现方式,可以在HDFS之上实现高效的随机读写特性。

        具体来说,HBase将数据按行分片存储在HDFS上,每个数据行可以根据其行键进行快速定位和访问。HBase还采用了B树索引和布隆过滤器等技术来加速随机查询的速度。同时,HBase还通过缓存、批量操作等手段来提高随机写入的性能。因此,HBase可以在HDFS之上实现高效的随机读写,从而满足更广泛的应用需求。

 3.Hbase和Hive的区别

HbaseHive

1. NoSQL数据库。

2. 是一种面向列存储的非关系型数据库。

3. 用于存储结构化和非结构化的数据。

4. 适用于单表非关系型数据的存储,不适合做关联查询,类似JOIN等操作。

5. 基于HDFS。

6. 数据持久化存储的体现形式是Hfile,存放于DataNode中,被ResionServer以region的形式进行管理。

7. 延迟较低,接入在线业务使用.

8. 面对大量的企业数据,HBase可以直线单表大量数据的存储,同时提供了高效的数据访问速度。

1. 数据仓库工具。

2. Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。

3. 用于数据分析、清洗。

4. Hive适用于离线的数据分析和清洗,延迟较高

5. 基于HDFS、MapReduce。

6. Hive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。

                                                           总结

1.Hive和Hbase是两种基于Hadoop的不同技术实现。

          (1)Hive是一种类SQL的引擎,并且运行MapReduce任务。

          (2)Hbase是一种在Hadoop之上的NoSQL 的Key/value数据库。

2.Hive可以用来进行统计查询,HBase可以用来进行实时查询,数据也可以从Hive写到HBase,或者    从HBase写回Hive。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/868080
推荐阅读
相关标签
  

闽ICP备14008679号