Use Apache HBase™ when you need random, realtime read/write access to your Big Data.
当需对大数据进行随机,实时读/写时采用Hbase;
This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware.
Hbase项目的目标是在集群中存储数十亿行,数百万列的超级大表;
Apache HBase is an open-source, distributed, versioned, non-relational database modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al.
Hbase是一个开源的分布式的非关系型数据库,其数据模型是基于Google的Bigtable论文(结构化数据的分布式存储系统)开发的;
Just as Bigtable leverages the distributed data storage provided by the Google File System, Apache HBase provides Bigtable-like capabilities on top of Hadoop and HDFS.
正如Google的Bigtable用Google文件系统分布式存储数据,Hbase基于Hadoop的HDFS(Hadoop File System)来存储海量数据;
介绍Hbase出场背景、解决问题、应用场景
官方Hbase简介
Hbase的出场背景
HBase 是Powerset在2007年创建的,最初是Hadoop的一部分。之后,它逐渐成为Apache软件基金会旗下的顶级项目,具备Apache软件许可证,版本为2.0。
Hbase解决的问题
传统关系数据库的设计不能满足海量数据的读写需求:扩容问题、写单点问题;
Hbase的特点:
Hbase与Hive的关系
准实时查询
,例如 Facebook 用 HBase 进行消息和实时的分析。Hbase可以基于Phoenix SQL访问;Hbase与RDBMS的区别
所以不担心一点或几点宕机
(除非与其他框架一起使用,如 Phoenix、Hive)
除非与其他技术一起应用,如 Phoenix、Hive
Hbase的适用场景
写密集型
应用:每天写多读少的应用,比如IM的历史消息,游戏的日志;可靠性
要求非常高的应用,由于HBase本身没有单点故障,可用性
非常高。增长量
无法预估的应用,HBase支持在线扩展,即使在一段时间内数据量呈井喷式增长,也可以通过HBase横向扩展
来满足功能。Hbase的限制场景
不适合以
复杂查询条件
来查询数据的应用,原生HBase只支持基于rowkey的查询,对于HBase来说,单条记录或者小范围的查询是可以接受的,大范围的查询由于分布式
的原因,在性能上没有保障;不适合
事务要求高
的应用,如多表Join查询