本文结合了个人的笔记以及工作中实践经验以及参考HBase官网,我尽可能把自己的知识点呈现出来,如果有误,还请指正。
1. HBase背景
HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随机读写操作,HBase正是为此而出现。HBase参考 Google 的 Bigtable 实现,以键值对的形式存储。项目的目标就是快速在主机内数十亿行数据中定位所需的数据并访问它。
分析这句话包含的隐藏信息:
2. hbase特点
-
建立在HDFS之上的分布式面向列的数据库
-
KV结构数据库,原生不支持标准SQL,属于NOSQL数据库
-
支持快速随机读写海量数据
-
具备HDFS的高容错能力
-
不属于关系型数据库,适合存储非机构化数据,基于列存储
3. hbase和hive的区别
-
hive适合统计分析,hive底层执行的是MapReduce,延迟较高
-
列式存储适合关联查询场景,而行式存储适合点查询场景
-
hbase适合大数据量查询,不适合统计分析,hbase底层采用KV结构存储,可以快速返回数据(能知道你的数据存在哪个region上)
-
hbase采用列式存储,可以动态扩展列(想加多少