hive 与 hbase、mongodb 与 cassandra 编译差异
Hive | Hbase | |
数据处理与计算问题 | 实时数据查询问题 ❙无数据库数据清洗 | 海量数据查询接口 |
OLAP | OLTP(严格说只是OLP,没有T) | |
布尔表,不存储实际数据 |
R表
HBase是一个基于HDFS构建的分布式数据库,支持海量数据存储和查询(比MySQL高一到两个数量级)。
如上表所示,hbase 可以替代 hive 吗?不会,因为hbase无法支持复杂的SQL
与单机的Oracle、MySQL相比,优点是扩展性好
缺点是可用性、一致性、分区容错性~等分布问题,而且分布公务很难实施。
Hbase主要用于明细查询和即席查询,因为速度快,但不适合多条件查询。 HDFS 中的数据。
hbase是一个支持大数据存储和查询的数据仓库。在CAP理论中,选择CA是为了保持一致性并放弃可用性。简单直接的理解意味着数据不容易丢失。这是典型的noSQL代表。
有用链接
源数据生产者-Flume/Kafka-> Flume/Consumer-write-> HDFS -Hive.load-> Hive -ETL/Analyze.result-> HBase
源数据生产者-Kafka > SparkStreaming/ Consumer-write-> HDFS [-SparkSQL-> Hive] && [-SparkSQL-> HBase]
类似于独立系统。 hdfs是Linux文件系统,hbase是资源管理器,hive是图形界面。 GUI再快也比不上命令行
个人感悟:
Hive的优势在于HDFS的集群文件查询特性。
HBase早期被国内很多大型互联网公司广泛使用,推动了国内的生态发展,而Cassandra在国外似乎发展得更好
Hbase主要用于明细查询和即席查询,因为速度快。但不适合多条件查询
hbase 适合每天写入较多、读取相对较少的写入密集型应用,例如 IM 历史消息、游戏日志等。
HBase 基于 Google BigTable 设计。一个典型的应用场景是不断输入新信息(以谷歌为例,是互联网上新创建的网页),而无需进行重大更改。例如,Facebook Messenger 现在是使用 HBase 实现的。
这里要提一下,HBase是逐行存储的,所以它的作用就是快速插入(吞咽)。但在进行分析时通常需要逐列扫描。例如,计算一家公司员工的平均工资。
Cloudera 在推出新的列式存储引擎 Kudu 时讨论了 HDFS、HBase 和 Kudu 部署场景。
根据[2],Cassandra的写入性能实际上优于Hbase,读取性能也优于hbase
以下是商业公司:
数据库
淘宝 | |
Cassandra | 苹果 |
请注意,无论是国内还是国外,hbase目前的岗位需求是Cassandra的十倍以上。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。