文章目录
前言
本篇文章主要介绍HBase的基础,数据模型、相关shell命令以及Java API,详情如下。
一、HBase基础简介
(一)基础介绍
- HBase是BigTable的开源系统,其建立在HDFS的基础之上,提供高可靠性、高性能、列存储、可伸缩以及实时读写NoSQL的数据库系统;
- 主要存储结构化和半结构化的松散数据,只支持单行事务,不支持复杂的事务,HBase的数据查询很简单,不支持join等复杂操作,查询数据时只能通过主键rowkey和主键的range来检索数据。
- 与Hadoop相同,HBase主要依靠横向扩展,通过增加廉价的服务器来增加存储和数据处理能力,节点越多,存储和处理能力越好。
(二)应用场景
HBase的应用场景有很多,主要由以下几种:
- 对象存储,不少的头条类的新闻、网页、图片等数据都存储在HBase之中
- 时序数据,主要依靠HBase的openTSDB模块
- 推荐画像
- 时空轨迹,主要是轨迹,气象网格之类的数据,在一些具有大数据量的车联网企业中,数据也是存储在HBase之中
- Cube OLAP,kylin的一个cube分析工具,底层的数据就是存储在HBase中
- 消息/订单,在电信、银行领域,不少的订单查询底层的数据存储
- Feeds流,典型的应用就是朋友圈类