能、列存储、可伸缩、实时读写 NoSQL 的数据库系统。
HBase 仅能通过主键(row key)和主键的 range 来检索数据,仅支持单行事务。
主要用来存储结构化和半结构化的松散数据。
Hbase 查询数据功能很简单,不支持 join 等复杂操作,不支持复杂的事务(行级的事
务),从技术上来说,HBase 更像是一个「数据存储」而不是「数据库」,因为
HBase 缺少 RDBMS 中的许多特性,例如带类型的列、二级索引以及高级查询语言等。
Hbase 中支持的数据类型:byte[]。
与 Hadoop 一样,Hbase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,
来增加存储和处理能力,例如,把集群从 10 个节点扩展到 20 个节点,存储能力和处
理能力都会加倍。
HBase 中的表一般有这样的特点
大:一个表可以有上十亿行,上百万列
面向列:面向列(族)的存储和权限控制,列(族)独立检索
稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
4. HBase 应用场景
4.1 对象存储
不少的头条类、新闻类的的新闻、网页、图片存储在 HBase 之中,一些病毒公司的
病毒库也是存储在 HBase 之中。
4.2 时序数据
HBase 之上有 OpenTSDB 模块,可以满足时序类场景的需求。
4.3 推荐画像
用户画像,是一个比较大的稀疏矩阵,蚂蚁金服的风控就是构建在 HBase 之上。
4.4 时空数据
主要是轨迹、气象网格之类,滴滴打车的轨迹数据主要存在 HBase 之中,另外在技
术所有大一点的数据量的车联网企业,数据都是存在 HBase 之中。
4.5 CubeDB OLAP
Kylin 一个 cube 分析工具,底层的数据就是存储在 HBase 之中,不少客户自己基于
离线计算构建 cube 存储在 hbase 之中,满足在线报表查询的需求。
评论