HBase是一个基于Apache Hadoop的面向列的NoSQL数据库,是Google BigTable的开源实现。
它运行在HDFS之上,为Hadoop提供类似于BigTable规模的服务。HBase针对半结构化数据,是一个多版本的、可伸缩的、高可靠的、高性能的、分布式的和面向列的动态模式数据库。
它采用了BigTable的数据模型增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问。
HBase的目标是存储并处理大型的数据,即仅用普通的硬件配置,就能够处理上千亿的行和几百万的列所组成的超大型数据库。HBase上的数据是以二进制流的形式存储在HDFS上的数据块中的,对于HDFS来说,HBase上的存储数据是透明的。
HBase的应用场景:
1、大型数据存储:HBase可以处理PB级别的数据量,适合存储大规模的数据,例如日志数据、监控数据、交易数据等。
2、时序数据:HBase可以用于存储时序数据,如速度的展示,天气、温度、风速、车流量等。
3、对象存储:HBase可以作为中等对象存储,对HDFS存储文件起到缓冲过渡的作用,减轻了NAMENODE元数据维护的压力。
4、消息/订单存储:因为HBase提供低延时、高并发的访问能力,所以可以用于电商平台等场景的消息和订单存储。
5、金融方面:HBase可以用于存储消费信息、贷款信息、信用卡还款信息等。
6、电商方面:可以用于存储淘宝的交易信息、物流信息、浏览信息等。