HBase学习笔记(一)———《HBase简介》
2015-09-07 16:32
218 查看
HBase简介
1、HBase表的结构
HBase以表(table)的形式存储数据
Row Key 行键
与NoSQL数据库们一样,row key是用来检索记录的主键。row
key行键 (row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在HBase内部,row key保存为字节数组。存储时,数据按照row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)。行的一次读写是原子操作
(不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。HBase不支持条件查询和Order by等查询,读取HBase table中的记录,只有三种方式:1、通过单个row
key访问;2、通过row key的范围扫描;3、全表扫描;因此row
key需要根据业务来设计以利用其存储排序特性提高性能。
Column Family 列族
HBase表中的每个列,都归属与某个列族,这不仅有助于构建数据的语义边界或者局部边界,还有助于给它们设置某些特性。列族需要在表创建时就定义好,并且不能修改得太频繁,数量也不能太多,列族数量一般不超过几十。
Column 列
最基本的单位是列。列名都以列族作为前缀。例如courses:history
, courses:math 都属于 courses 这个列族。
Cell 单元
HBase中通过row和columns确定的唯一存贮单元称为cell。cell中的数据是没有类型的,全部是字节码形式存贮。
Timestamp 时间戳
每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBase(在数据写入时自动
)赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供了两种数据版本回收方式。一是保存数据的最后n个版本,二是保存最近一段时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。
1、HBase表的结构
HBase以表(table)的形式存储数据
Row Key 行键
与NoSQL数据库们一样,row key是用来检索记录的主键。row
key行键 (row key)可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在HBase内部,row key保存为字节数组。存储时,数据按照row key的字典序(byte order)排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。(位置相关性)。行的一次读写是原子操作
(不论一次读写多少列)。这个设计决策能够使用户很容易的理解程序在对同一个行进行并发更新操作时的行为。HBase不支持条件查询和Order by等查询,读取HBase table中的记录,只有三种方式:1、通过单个row
key访问;2、通过row key的范围扫描;3、全表扫描;因此row
key需要根据业务来设计以利用其存储排序特性提高性能。
Column Family 列族
HBase表中的每个列,都归属与某个列族,这不仅有助于构建数据的语义边界或者局部边界,还有助于给它们设置某些特性。列族需要在表创建时就定义好,并且不能修改得太频繁,数量也不能太多,列族数量一般不超过几十。
Column 列
最基本的单位是列。列名都以列族作为前缀。例如courses:history
, courses:math 都属于 courses 这个列族。
Cell 单元
HBase中通过row和columns确定的唯一存贮单元称为cell。cell中的数据是没有类型的,全部是字节码形式存贮。
Timestamp 时间戳
每个cell都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBase(在数据写入时自动
)赋值,此时时间戳是精确到毫秒的当前系统时间。时间戳也可以由客户显式赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 cell中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。为了避免数据存在过多版本造成的的管理 (包括存贮和索引)负担,hbase提供了两种数据版本回收方式。一是保存数据的最后n个版本,二是保存最近一段时间内的版本(比如最近七天)。用户可以针对每个列族进行设置。
相关文章推荐
- hdu 4284 Travel 2012天津网络赛 状压dp TSP 最短路
- HTML图片拉伸
- android 百度地图 点击选中到最上层 置顶
- ViewPager切换时粘滞视差的效果--模仿美丽说HIGO全球买手圈的滑动效果
- [推荐]Java开发中的23种设计模式
- IONIC屏幕方向锁定
- 一个奇怪的查询结果
- Redis学习笔记(五)--排序
- 第2周项目0 宣告“主权”
- Python学习写一小程序,从某一目录下所以文件中查询某字段,并显示文件名和所在行
- 使用 HTML5 input 类型提升移动端输入体验
- 2015腾讯校园招聘软件测试部分笔试题
- 非负矩阵分解NMF
- 腾讯—通讯录中每条记录存放着通讯者与其所使用的号码,号码与使用者之间是多对多关系,找出使用最多的号码并输出使用者
- Java RMI 框架(远程方法调用)
- android Activity launch mode 一个实例 singleTask
- Goods:购物车条目加减数量实现
- yii2 url生成以及图片等的引入
- hadoop中启动namenode等出现的一些问题
- 紫影龙的编程日记 —— STL 应用技术