hive与hbase及mongodb和cassandra区别整理

2020-05-1905:53:02数据库教程Comments3,228 views字数 1566阅读模式
HiveHbase
数据处理和计算问题实时数据查询问题
不是数据库NoSQL数据库
清洗数据海量数据查询接口
OLAPOLTP(严格讲只是OLP,不包含T)
逻辑表,不存储实际数据物理表
行模式列模式
不提供row-level的更新支持row-level的更新
完整的SQL实现不适用于有join,多级索引,表关系复杂
HDFS文件的视图,HDFS文件的SQL接口建了索引的key-value表
批处理事务处理(例如和web开发结合)
单次Hive查询都需要耗费分钟级以上的时间(哪怕一个再小的表),因此无法作为web后端的数据库使用。HBase可以替代MySQL使用,至少淘宝就是这么做了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

HBase是建造在HDFS基础上的分布式数据库,可以支持海量数据(比MySQL高一到两个量级)的存储和查询。

DataGripPhoenix
hive可以挂接hbase,即针对hbase开放出SQL的接口不用Hive,也能操作HBase
Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。
蜜蜂蜂蜜
Hive支持标准SQL查询HBase不支持SQL,有自己的语法规则
一种客户端工具一种db

从上面的表格可以看出,hbase可以替换hive吗?不行,因为hbase支持不了复杂的sql文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

比起单机的Oracle和MySQL,好处就是伸缩性好啊文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

劣势就是分布式带来的可用性,一致性,分区容忍性~等问题,以及分布式事务难以实现。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

Hbase,主要用于明细查询,即席查询,因为他快啊,但是不适合多条件查询文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

hive更像是hadoop客户端,可以将SQL任务转化为mapreduce任务操作hdfs中的数据。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

hbase则是支持大数据存储和查询的数据仓库,在CAP理论中,选择了CA,保留了一致性,舍弃了可用性,简单直白理解就是不容易丢数据。是noSQL典型代表。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

使用关系
源数据生产者 -Flume/Kafka-> Flume/消费者 -write-> HDFS -Hive.load-> Hive -ETL/Analyze.result-> HBase
源数据生产者 -Kafka-> SparkStreaming/消费者 -write-> HDFS [-SparkSQL-> Hive] && [-SparkSQL-> HBase]文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

类比于单机系统。hdfs就是linux的文件系统,hbase就是资源管理器,hive就是图形化界面,GUI再快,不可能快过命令行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

个人理解:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

hive的优势是在于对于集群文件HDFS的查询功能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

HBase早期在国内被很多大型互联网公司大规模使用,促进了国内的生态发展,而Cassandra似乎在国外发展得更好文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

Hbase,主要用于明细查询,即席查询,因为他快啊,但是不适合多条件查询文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

hbase适合写密集型应用,每天写入量巨大,而相对读数量较小的应用,比如IM的历史消息,游戏的日志等等文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

HBase是根据谷歌的BigTable设计的。典型的应用场景就是不断插入新的信息(谷歌的情况下就是互联网上新生成的网页),而不怎么修改。比如现在Facebook的messenger就是用HBase实现的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

这里要提到HBase是按行存储的,所以特点就是插入(ingest)快。但是做分析的时候经常是要按列扫描(scan)的。比如算一个公司员工的平均工资。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

Cloudera在推出新的列存储引擎Kudu的时候讨论过HDFS,HBase,和Kudu的应用场景。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

hive与hbase及mongodb和cassandra区别整理文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

根据[2]其实Cassandra的写入性能比Hbase更胜一筹,并且读取性能也优于hbase文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

下面是商用的公司:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

数据库公司
Hbase美团,淘宝
Cassandra苹果

注意,无论是国内的前程无忧还是国外的indeed,目前hbase的岗位需求都高于cassandra十倍以上。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19131.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/19131.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定