
Google发布大数据三大论文:GFS文件系统、MapReduce分布式计算框架及BigTable大表。
- GFS->HDFS
- MR->MR
- BigTable->Hbase
简介
Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.
-
Hbase是一个基于Hadoop的数据库,
-
是一个分布式的可拓展的主从架构
-
用于大表,大数据的存储
-
大表 数十亿行X百万列
Hbase是一个基于Hadoop的分布式可拓展的基于内存列式大表大数据存储的数据库,最终数据存放在HDFS上分布式 可扩展 高可用 大数据存储的 基于内存的列式存储的nosql数据库 最终数据存储在hdfs上
使用场景

when you need random, realtime read/write access to your Big Data.
随机读取,实时读写,大数据量的持久化存储
官网当中对Hbase的使用场景做了要求:
- 表的数据量要大.几亿行或者几千万行,如果是千万以下建议使用RDBMS
- HBase没有rdbms高阶查询语法,如果想要高阶查询使用rdbms
- 足够的硬件支持
数据模型

内部以何种方式管理数据的
- mysql:
database/ table - Hbase
namespace(命名空间)
table(分布式表)
ColumnFamily(列族 重要概念)
Column(列名)
多版本VERSIONS:HBase可以允许某一行的某一列存储多个版本的值的,默认每一列都只能存储1个版本。如果某个列有多个版本值,默认情况下查询,根据时间戳返回最新版本的值。
mysql与hbase对比

集群架构


Hbase是标准的主从架构,分布式软件
- 主角色Hmaster
负责管理元数据(namespace , table colum) -
从角色Hregionserver
负责管理本机的表数据,对外提供读写操作
此外hbase还依赖于,zk实现高可用,元数据管理等,HDFS实现数据存储,最终的数据存储在HDFS当中
image.png
hbase-daemon.sh start master
网友评论