初识hbase
来源:互联网 发布:torrentkitty新域名 编辑:程序博客网 时间:2024/05/19 22:59
数据库是保存数据的,在我们工作中是必须要接触到的,接下来说说hadoop中用到的数据库。
HBase:
一、说明是HBase?
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。
如下图,是hbase的数据模型
1、逻辑数据模型
2、物理数据模型
3、HBASE中的每一张表,就是所谓的BigTable。稀疏表。
RowKey 和 ColumnKey 是二进制值byte[],按字典顺序排序;
Timestamp 是一个 64 位整数;
value 是一个未解释的字节数组byte[]。
表中的不同行可以拥有不同数量的成员。即支持“动态模式“模型
字符串、整数、二进制串甚至串行化的结构都可以作为行键
表按照行键的“逐字节排序”顺序对行进行有序化处理
表内数据非常‘稀疏’,不同的行的列的数完全目可以大不相同
可以只对一行上“锁”
对行的写操作是始终是“原子”的
列必须用‘族’(family)来定义
任意一列有如下形式
“族:标签”
其中,族和标签都可为任意形式的串
物理上将同“族”数据存储在一起
数据可通过时间戳区分版本
表是存放数据的。表由行和列组成
4、数据模型
Row Key: 行键,Table的主键,Table中的记录按照Row Key排序
Timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的version number
Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以有任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。
5、物理存储
Table 在行的方向上分割为多个HRegion,一个region由[startkey,endkey)表示,每个HRegion分散在不同的RegionServer中
6、架构体系
Client 包含访问hbase 的接口,client 维护着一些cache 来加快对hbase 的访问,比如regione 的位置信息
Zookeeper
保证任何时候,集群中只有一个running master
存贮所有Region 的寻址入口
实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master
存储Hbase 的schema,包括有哪些table,每个table 有哪些column family
Master 可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行
为Region server 分配region
负责region server 的负载均衡
发现失效的region server 并重新分配其上的region
架构体系
Region Server
维护Master 分配给它的region,处理对这些region 的IO 请求
负责切分在运行过程中变得过大的region
可以看出,client 访问hbase 上数据的过程并不需要master 参与,寻址访问zookeeper 和region server,数据读写访问regioneserver。HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。
HBase中有两张特殊的Table,-ROOT-和.META.
.META.:记录了用户表的Region信息,.META.可以有多个regoin
-ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region
Zookeeper中记录了-ROOT-表的location
Client访问用户数据之前需要首先访问zookeeper,然后访问-ROOT-表,接着访问.META.表,最后才能找到用户数据的位置去访问
- 初识hbase
- Hbase初识
- hbase初识
- 初识HBase
- Hbase--初识
- Hbase学习笔记:初识HBase
- 初识Hbase:一、Hbase简介
- hbase初识---开始认识hbase
- NoSql之初识HBase
- 【Hbase】初识Hbase,单节点安装
- hbase初识---安装单机版hbase-1.3.1
- hbase初识---hbase shell操作以及对应java API开发
- HBASE松散数据存储设计初识
- HBASE松散数据存储设计初识
- HBASE松散数据存储设计初识
- HBASE松散数据存储设计初识
- HBASE松散数据存储设计初识
- HBASE松散数据存储设计初识
- MySql 单表的查询sql语句(一)
- 数据结构—链串
- 【codevs 2342】[2007年省队选拔赛上海市队选拔赛] 园丁的烦恼(离散化+树状数组)
- Android-Sqlite使用手册
- JAVA 注解Annotation入门
- 初识hbase
- 二维数组、指针数组、行指针、二级指针间的关联
- 递推之折叠方阵问题
- POI之Excel简单导入
- 杭电2199 Can you solve this equation?
- hrbust/哈理工oj 1507 水神的栅栏【计算几何+并查集】
- wpa_supplicant 隐藏SSID连接不上
- 振动测试一般采用哪种单位
- H.264解码过程剖析-4