From df3a74f3b93bc60e8dfba50a3b6db7098e00ca2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Fri, 31 May 2019 10:48:46 +0800 Subject: [PATCH] =?UTF-8?q?Hbase=E7=B3=BB=E7=BB=9F=E6=9E=B6=E6=9E=84?= =?UTF-8?q?=E5=8F=8A=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Hbase系统架构及数据结构.md | 36 +++++++++++------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/notes/Hbase系统架构及数据结构.md b/notes/Hbase系统架构及数据结构.md index 2d2d3eb..474c611 100644 --- a/notes/Hbase系统架构及数据结构.md +++ b/notes/Hbase系统架构及数据结构.md @@ -29,35 +29,35 @@ `Row Key`是用来检索记录的主键。想要访问HBase Table中的数据,只有以下三种方式: -+ 通过指定`Row Key`进行访问; ++ 通过指定的`Row Key`进行访问; -+ 通过Row Key的range进行访问,即访问指定`Row Key`范围内的行的数据; ++ 通过Row Key的range进行访问,即访问指定范围内的行; + 进行全表扫描。 -`Row Key`可以是任意字符串,存储时,数据按照`Row Key`的字典序进行排序。需要注意以下两点: +`Row Key`可以是任意字符串,存储时数据按照`Row Key`的字典序进行排序。这里需要注意以下两点: + 因为字典序对Int排序的结果是1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,…,9,91,92,93,94,95,96,97,98,99。如果你使用整型的字符串作为行键,那么为了保持整型的自然序,行键必须用0作左填充。 -+ 行的一次读写是原子操作 (不论一次读写多少列)。 ++ 行的一次读写操作时原子性的 (不论一次读写多少列)。 ### 2.2 Column Family(列族) -HBase表中的每个列,都归属于某个列族。列族是表的Schema的一部分,所以列族需要在创建表时进行定义。列族的所有列都以列族名作为前缀,例如`courses:history`,`courses:math`都属于`courses `这个列族。 +HBase表中的每个列,都归属于某个列族。列族是表的Schema的一部分,所以列族需要在创建表时进行定义。列族的所有列都以列族名作为前缀,例如`courses:history`,`courses:math`都属于`courses`这个列族。 ### 2.3 Column Qualifier (列限定符) -列限定符,你可以理解为是具体的列名,例如`courses:history`,`courses:math`都属于`courses `这个列族,它们的列限定符分别是`history`和`math`。需要注意的是列限定符不是表Schema的一部分,你可以在插入数据的过程中动态创建列。 +列限定符,你可以理解为是具体的列名,例如`courses:history`,`courses:math`都属于`courses`这个列族,它们的列限定符分别是`history`和`math`。需要注意的是列限定符不是表Schema的一部分,你可以在插入数据的过程中动态创建列。 ### 2.4 Column(列) -HBase中的列由列族和列限定符组成,它们由`:`(冒号)字符分隔,即一个完整的列名应该表述为`列族名 :列限定符`。 +HBase中的列由列族和列限定符组成,它们由`:`(冒号)进行分隔,即一个完整的列名应该表述为`列族名 :列限定符`。 @@ -69,7 +69,7 @@ HBase中的列由列族和列限定符组成,它们由`:`(冒号)字符分 ### 2.6 Timestamp(时间戳) -HBase 中通过`row`和`columns`确定的为一个存储单元称为Cell。每个`Cell`都保存着同一份数据的多个版本。版本通过时间戳来索引。时间戳的类型是 64位整型。时间戳可以由HBase在数据写入时自动赋值,也可以由客户显式指定。每个`Cell`中,不同版本的数据按照时间倒序排列,即最新的数据排在最前面。 +HBase 中通过`row key`和`column`确定的为一个存储单元称为`Cell`。每个`Cell`都保存着同一份数据的多个版本。版本通过时间戳来索引,时间戳的类型是 64位整型,时间戳可以由HBase在数据写入时自动赋值,也可以由客户显式指定。每个`Cell`中,不同版本的数据按照时间戳倒序排列,即最新的数据排在最前面。 @@ -77,9 +77,9 @@ HBase 中通过`row`和`columns`确定的为一个存储单元称为Cell。每 ### 2.1 Regions -HBase Table中的所有行都按照`Row Key`的字典序排列。HBase Tables 通过行键的范围(row key range)被水平切分成多个`Region`, 一个`Region`包含了在start key 和 end key之间的所有行。 +HBase Table中的所有行按照`Row Key`的字典序排列。HBase Tables 通过行键的范围(row key range)被水平切分成多个`Region`, 一个`Region`包含了在start key 和 end key之间的所有行。 -