目录:
一、HBase简介
二、NoSQL和关系型数据库对比
三、HBase特点
四、HBase应用场景
五、HBase生态圈技术
一、HBase简介
HBase 是一种分布式、可扩展、支持海量数据存储的 NoSQL(非关系型) 数据库。
主要三特征:
- 是一个面向列存储的NoSQL数据库
- 采用的是Key/Value的存储方式
- 使用HDFS作为存储并利用其可靠性
二、NoSQL和关系型数据库对比
对比 | NoSQL | 关系型数据库 |
---|---|---|
常用数据库 | HBase、MongoDB、Redis | Oracle、DB2、MySQL |
存储格式 | 文档、键值对、图结构 | 表格式,行和列 |
存储范围 | 鼓励冗余 | 规范性,避免重复 |
存储扩展 | 横向扩展、分布式 | 纵向扩展(横向扩展有限) |
查询方式 | 非结构化查询 | 结构化查询语句SQL |
事务 | 不支持事务一致性 | 支持事务 |
性能 | 读写性能高 | 读写性能差 |
成本 | 简单易部署,开源,成本低 | 成本高 |
三、HBase特点
-
数据访问速度快,相应时间约2-20毫秒
-
支持随机读写,每个节点20k~100k+ops/s
-
可拓展性,可拓展到20000+节点
-
高并发
四、HBase应用场景
1、增量数据-时间序列数据
高容量,高速写入
HBase之上有OpenTSDB模块,可以满足时序类场景,比如传感器,系统监控,股票行情监控等
2、信息交换-消息传递
高容量,高速读写
通信、消息同步的应用构建在HBase之上,比如:email,FaceBook等
3、内容服务-Web后端应用程序
高容量,高速读写
头条类、新闻类的新闻、网页、图片、图片存储在HBase中
五、HBase生态圈技术
名称 | 介绍 |
---|---|
Lily | 基于HBase的CRM |
OpenTSDB | HBase面向时间序列数据管理 |
Kylin | HBase上的OLAP |
Phoenix | SQL操作HBase工具 |
Splice Machine | 基于HBase的OLTP |
Apache Tophra | HBase事务支持 |
TiDB | 分布式SQL DB |
Apache Omid | 优化事务管理 |
Yarn | application timeline server v.2迁移到HBase |
Hive | metadata存储可以迁移到HBase |
Ambari | Metrics Server 将使用HBase做数据存储 |
六、总结
HBase 是NoSQL 数据库
特点:列存储、大容量,扩展性强,高可靠性,稀疏性
适合场景:单表超千万,上亿,且高并发!
生态圈庞大