63.1数据模型概述 HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键 列族、列限定符和时间戳 每个值是一个未经解释的字符串,没有数据类型 用户在表中存储数据,每一行都有一个可排序的行键和任意多的列 表在水平方向由一个或者多个列族组成,一个列族中可以包含任意多 个列,同一个列族里面的数据存储在一起 ·列族支持动态扩展,可以很轻松地添加一个列族或列,无需预先定义 列的数量以及类型,所有列均以字符串形式存储,用户需要自行进行 数据类型转换 HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个 新的版本,旧有的版本仍然保留
6.3.1 数据模型概述 • HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、 列族、列限定符和时间戳 • 每个值是一个未经解释的字符串,没有数据类型 • 用户在表中存储数据,每一行都有一个可排序的行键和任意多的列 • 表在水平方向由一个或者多个列族组成,一个列族中可以包含任意多 个列,同一个列族里面的数据存储在一起 • 列族支持动态扩展,可以很轻松地添加一个列族或列,无需预先定义 列的数量以及类型,所有列均以字符串形式存储,用户需要自行进行 数据类型转换 • HBase中执行更新操作时,并不会删除数据旧的版本,而是生成一个 新的版本,旧有的版本仍然保留
63.2数据模型相关概念 ·表: HBase采用表来组织数据,表由行和列组成,列划分为若干个列 族 行:每个 HBase表都由若干行组成,每个行由行键( row key)来标识 访问表中的行只有三种方式:(1)通过单个行键访问;(2)通过 个行键的区间来访问;(3)全表扫描 列族:一个 HBase表被分组成许多“列族”的集合,它是基本的访问 控制单元 列限定符:列族里的数据通过列限定符(或列)来定位 单元格:在 HBase表中,通过行、列族和列限定符确定一个“单元格 (ce),单元格中存储的数据没有数据类型,总被视为字节数组 bytel 时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用 时间戳进行索引
6.3.2 数据模型相关概念 • 表:HBase采用表来组织数据,表由行和列组成,列划分为若干个列 族 • 行:每个HBase表都由若干行组成,每个行由行键(row key)来标识。 访问表中的行只有三种方式:(1)通过单个行键访问;(2)通过一 个行键的区间来访问;(3)全表扫描 • 列族:一个HBase表被分组成许多“列族”的集合,它是基本的访问 控制单元 • 列限定符:列族里的数据通过列限定符(或列)来定位 • 单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格” (cell),单元格中存储的数据没有数据类型,总被视为字节数组 byte[] • 时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用 时间戳进行索引
63.2数据模型相关概念 列限定符 列族 Info name major 201505001luOMinMathluo@qg.com 行键_201505002 Liu JunMa/lu@qcom 201505003 Xie You Math 单元格 该单元格有2个时间t1和t2 每个时间戳对应一个数据版本 t81=1174184619081t82=1174184620720 图6-2 HBase数据模型的一个实例
6.3.2 数据模型相关概念 图6-2 HBase数据模型的一个实例
633数据坐标 HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此 可以视为一个“四维坐标”,即[行键,列族,列限定符,时间戳 键 值 20150031ena111869891 uxie(@qg.com [“201505003”,Info," email,1174184620720] youa163. com
6.3.3 数据坐标 • HBase中需要根据行键、列族、列限定符和时间戳来确定一个单元格,因此, 可以视为一个“四维坐标”,即[行键, 列族, 列限定符, 时间戳] 键 值 [“201505003”, “Info”, “email”, 1174184619081] “xie@qq.com” [“201505003”, “Info”, “email”, 1174184620720] “you@163.com
634概念视图 表64 HBase数据的概念视图 时 行键间列族 contents 列族 anchor 戳 anchor cnnsi. com=CNN t4 anchor my look. ca="CNN. com com.cnn/t3 contents: html=< html> WWW t2 contents: html="< html> contents. html="< tl htm>
6.3.4 概念视图 表6-4 HBase数据的概念视图 行键 时 间 戳 列族contents 列族anchor "com.cnn .www" t5 anchor:cnnsi.com=”CNN” t4 anchor:my.look.ca="CNN.com" t3 contents:html="< html>..." t2 contents:html="< html>..." t1 contents:html="< html>