HBase数据模型(1)
1.0 HBase的特性
- Table
- HBase以表(Table)的方式组织数据,数据存储在表中。
- Row/Column
- 行(Row)和列(Column)共同组成HBase的表。
- Column Family
- 列族(Column)将一列或者多列组织在一起,HBase的列必须属于某一个列族。
- Cell
- 行和列的交叉点称为单元格(Cell),单元格是版本化的。
- 单元格的内容是列的值,是不可分割的字节数组,以二进制形式存储。
- Rowkey
- 行键(Rowkey)可以将HBase表进行分区,行键也是唯一确定一行的标识。
2.0 HBase逻辑模型
2.1 HBase大部分特性和GoogleBigTable开源分布式数据库相同。
2.2 逻辑模型上是一个稀疏的、长期存储的、多维度的和排序的映射表,表中的每一行可以有不同的列。
2.3 HBase最基本的单位是列,一列或者多列构成了行,行有行键(RowKey),每一行的行键都是唯一的,相同行键的插入操作被认为是同一行操作。
2.4 HBase中一个表有多行,每行都有多列,列中的值有多个版本,每个版本称为一个单元格。每个单元存储的是不同时刻该列的值。
2.5 列名表示为 “列族前缀+修饰符”的方式,如(anchor:cssnsi.com和anchor:my.look.ca其中,列族是anchor,修饰符分别是cssnsi.com和my.look.ca )
3.0 HBase物理模型
3.1 在物理上,表是按列分开存储的。HBase的列是按列族分组的,HFile是面向列的,存放行的不同物理文件,一个列族的数据存放在多个HFile中,最重要的是一个列族的数据会被用一个Region管理,物理上存放在一起。
3.2 Region是管理HFile的一种机制。
4.0 HBase数据模型的操作
主营包含4个操作Get、Put、Scan和Delete。因为创建HTable实例需要扫描.META.表,会增加代价,所以用户最好只创建一次HTable是咧,而且每个线程创建一个,可以使用HTablePool类来复用多个HTable实例。
4.1 读Get
- 从客户端获取已存取的数据
- get()方法默认一次取回改行全部列的数据,可以限定只取某个列族对于的列的数据。
- 可以从服务器获取特定的返回值。
4.2 写Put
- HBase没有Update操作,通过Put对数据进行修改
- Put向表增加新行(新的key)或者更新行(key已经存在)。
- 对于数千次RPC操作可以显示打开缓冲区选项,进行一次性写入。
4.3 扫描Scan
Scan允许多行特定属性迭代,可以指定starRow参数来定义扫描读取HBase表的起始行键,同时可选stopRow参数来限定到何处停止。
4.4 删除Delete
HBase的Delete操作可以指定删除某个列族或者某个列,或者指定某个时间戳,删除比这个时间早的数据。
HBase的Delete操作并不是真正地从磁盘上删除数据,而是通过创建墓碑(tombstones)标志进行处理。这些墓碑标记的值和小于该时间版本的单元格在大合并(major compact)时被清楚。
HBase数据模型(1)
HBase数据模型(2)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
kibana 数据可视化
kibana,elasticsearch项目的产品之一。项目地址:https://www.elastic.co/products/kibana。 它是数据可视化工具,提供网页与人交互,将查询语句交给ES处理并将结果可视化。官方标语为:Explore & Visualize Your Data,探索与可视化你的数据。 1.视图 图1-1 kibana的视图示例 2.向es发起查询 图2-1 kibana通过webservice 与es交互
- 下一篇
HBase数据模型(2)
HBase数据模型(1) HBase数据模型(2) 1.0 HBase的版本version,是一个用长整型表示的。由Rowkey、Column(列族和列)、Version组合在一起称为HBase中的一个单元格。 2.0 排序,Get和Scan操作返回的是经过排序的数据。返回的数据首先按行字典排序,其次是列族,然后是列修饰符(cloumn qualifier),最后是时间戳反向排序,最新的在最前面。 3.0 连接查询,实现jion操作有两种方法:要么写入HBase的时候已经做好连接;要么查询表并在应用层实现连接。 4.0 计数器,IncrementColumnValue(简称ICV)是HBase的计数器,可以完成一些计算页面浏览量(PV)等的操作。 5.0 原子操作,仅供对行级别的原子性,也就是对同一个Key下的数据进行的两个操作,在实际执行的时候是会串行的执行,保证了每一行KeyValue对不会被破坏。 6.0 行锁,RegionServer提供了一个行锁特性,保证了只有一个客户端能获取一行数据相应的锁,同时对该行进行修改。 7.0 自动分区 HBase中的表数据会被分拆很多个Regi...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装