打赏
摘要: HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳) HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳) 行键,相当于第一步级索引。 列簇,相当于第二步级索引。 列修饰符 阅读全文
posted @ 2016-12-07 14:12 大数据和AI躺过的坑 阅读(606) 评论(0) 推荐(0)
摘要: HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳) HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳) 实际上,HBase的存储值,即一个键值对,是 { row key 阅读全文
posted @ 2016-12-07 14:07 大数据和AI躺过的坑 阅读(2468) 评论(0) 推荐(0)
摘要: 列式数据库,从数据存储方式上有别于行式数据库,所有数据按列存取。 行式数据库在做一些列分析时,必须将所有列的信息全部读取出来 而列式数据库由于其是按列存取,因此只需在特定列做I/O即可完成查询与分析,效率节省90%。 此外,列式数据库在每列上还有专门的列压缩算法进一步提高数据库性能,这是行式数据库不 阅读全文
posted @ 2016-12-07 13:36 大数据和AI躺过的坑 阅读(761) 评论(0) 推荐(0)
摘要: 我们通过行键访问HBase。尽管使用扫描过滤器可以一次性指明大量的键,但是HBase仅仅能够根据行键识别出一行。 优秀的行键设计可以保证良好的HBase性能。 1、行键存在于HBase中的每一个单元格中。如果行键越长,用于存储单元格的I/O开销就会越大。通常我们采用MD5加密的定长键来代替行键。 2 阅读全文
posted @ 2016-12-07 11:28 大数据和AI躺过的坑 阅读(2261) 评论(0) 推荐(0)
摘要: 有时候啊,HBase表的设计方案通常,还会考虑如下一些因素,当然,这只是考虑范围里的部分呢。 更多的行还是更多的版本?后者使用了HBase自带的功能。但是需要在列簇中定义最大版本数,这样做可能有风险。最好的做法是版本使用多行存储,这需要把时间戳作为行键的一部分,数据检索模式定义了时间戳如何定义为行键 阅读全文
posted @ 2016-12-07 11:15 大数据和AI躺过的坑 阅读(3017) 评论(0) 推荐(0)
摘要: 需要遵循以下步骤: 1、客户端和Zookeeper集群建立连接。在这之前客户端需要获得一些信息(可以从HBase配置文件中读取或是直接指定)。客户端从Zookeeper集群中读取-ROOT-表的位置信息。这是客户端发起的第一次查询。 2、客户端连接-ROOT-表,并得到.META.表的位置信息。这是 阅读全文
posted @ 2016-12-07 10:59 大数据和AI躺过的坑 阅读(720) 评论(0) 推荐(0)
摘要: 压缩格式:默认压缩格式是NONE。可选值有GZ、LZO、SNAPPY。 版本数:HBase默认定义为3个版本。 以秒为单位的存活时间TTL:使用对象是行中的列簇,一旦达到过期时间,HBase会删除这些行。 快大小:HBase默认的块大小是64KB,不同于HDFS默认64MB的块大小。原因是HBase 阅读全文
posted @ 2016-12-07 10:47 大数据和AI躺过的坑 阅读(1077) 评论(0) 推荐(0)
摘要: 列在列簇中依照字典排序。例如,列簇是基础信息或公司域名或水果类。列是基础信息:面貌、基础信息:年龄、公司域名:org、公司域名:edu、水果类:苹果、水果类:香蕉。 列 = 列簇:列修饰符 列根据列簇分组。 列簇的特点: 1、一张表通常有一单独的列簇,而且一张表中的列簇不会超过5个。 2、列簇必须在 阅读全文
posted @ 2016-12-07 10:33 大数据和AI躺过的坑 阅读(9216) 评论(0) 推荐(0)
摘要: 行是由列簇中的列组成。行根据行键依照字典顺序排序。 HBase的行使用行键标识,可以使用行键查询整行的数据。 对同一个行键的访问都会落在同样的物理节点上。如果表包含2个列簇,属于两个列簇的文件还是保存在相同的节点上。因此,行键和节点存在一一对应的关系。 阅读全文
posted @ 2016-12-07 10:27 大数据和AI躺过的坑 阅读(1858) 评论(0) 推荐(0)
摘要: 此讨论并不局限于HBase,也会延伸到MongoDB和Cassandra这样的NoSQL数据库。 1、RDBMS RDBMS有以下特点: 面向视图:RDBMS表使用固定的视图,表中的数据类型也会事先定义。表的视图在创建时就已经定义,并且不容易修改。向视图中添加元素的操作会以新建表的形式实现,这一操作 阅读全文
posted @ 2016-12-07 10:24 大数据和AI躺过的坑 阅读(1476) 评论(0) 推荐(0)
摘要: Hbase与RDBMS的区别在于:HBase的Cell(每条数据记录中的数据项)是具有版本描述的(versioned),行是有序的,列(qualifier)在所属列簇(Column families)存在的情况下,由客户端自由添加。以下的几个因素是Hbase Schema设计需要考虑的问题: 1、  阅读全文
posted @ 2016-12-07 10:06 大数据和AI躺过的坑 阅读(1296) 评论(0) 推荐(0)
摘要: 见 https://hbase.apache.org/apidocs/index.html 阅读全文
posted @ 2016-12-07 09:49 大数据和AI躺过的坑 阅读(635) 评论(0) 推荐(0)
摘要: 虽然,从HBase的概念视图来看,每个表格是由很多行组成的,但是在物理存储上面,它是按照列来保存的,这一点在进行数据设计和程序开发的时候必须牢记。 在物理存储上面,它是按照列来保存的 需要注意的是,在概念视图上面有些列是空白的,这样的列实际上并不会被存储,当请求这些空白的单元格时,会返回null值。 阅读全文
posted @ 2016-12-07 09:43 大数据和AI躺过的坑 阅读(3331) 评论(0) 推荐(0)
摘要: 其实啊,我们把HBase想象成一个大的映射关系,再者,本来,HBase存储的数据可以理解为一种key和value的映射关系,但有不是简简单单的映射关系那种,因为比如有各个时间戳版本啊。 通过行键、行键+时间戳或行键+列(列簇:列修饰符),就可以定位特定是数据。 HBase是稀疏存储数据的,因此某些列 阅读全文
posted @ 2016-12-07 09:32 大数据和AI躺过的坑 阅读(3653) 评论(0) 推荐(0)
摘要: HBase是一个类似BigTable的分布式数据库, 它是一个稀疏的长期存储的(存在硬盘上)、多维度的、排序的映射表。这张表(HBase)的索引是行关键字、列关键字和时间戳。 HBase中的数据都是字符串,没有类型。 用户在表格中存储数据,每一行都有一个可排序的主键和任意多的列。由于HBase是稀疏 阅读全文
posted @ 2016-12-07 09:20 大数据和AI躺过的坑 阅读(763) 评论(0) 推荐(0)