hbase rowkey 设计(三维有序)
Jun 07, 2016 pm 04:29 PM此文原创,转载请说明出处:http://ronxin999.blog.163.com/blog/static/4221792020130109202973/ 看这篇文章,你首先要了解hbase的基本存储模型,不懂的可以看我的文章,有做特别的说明。 今天难得有时间,写博文,特地总结下一直想写hbase的实践经验,在用
此文原创,转载请说明出处:http://ronxin999.blog.163.com/blog/static/4221792020130109202973/
看这篇文章,你首先要了解hbase的基本存储模型,不懂的可以看我的文章,有做特别的说明。
今天难得有时间,写博文,特地总结下一直想写hbase的实践经验,在用hbase的过程中,我们都知道,rowkey设计的好坏,是我们能最大发挥hbase的架构优势,也是我们是否正确理解hbase的一个关键点。闲话少说,进入正题。
hbase所谓的三维有序存储的三维是指:rowkey(行主键),column key(columnFamily+qualifier),timestamp(时间戳)三部分组成的三维有序存储。
先 说rowkey,我们知道rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据。所以 rowkey的设计是至关重要的,关系到你应用层的查询效率。我们知道,rowkey是以字典顺序排序的。而存储的字节码,字典排序,我们知道,如果是字 母,那就是字母的顺序,比如,有两个rowkey,rowkey1:aaa222,rowkey2:bbb111,那么rowkey1是排在 rowkey2前面的,因为按字典,a排在b前面,如果rowkey2的第一位也是a,那么就根据第二位来比较,如果还相同,则比较第三为,后面同样。这 个理解了,我们在根据rowkey范围查询的时候,我们一般是知道startRowkey,如果我们通过scan只传startRowKey : d开头的,那么查询的是所有比d大的都查了,而我们只需要d开头的数据,那就要通过endRowKey来限制。我们可以通过设定endRowKey为:d 开头,后面的根据你的rowkey组合来设定,一般是加比startKey大一位。比如说rowkey设计为:用户ID-日期,那么查某个用户某天的数 据,startKEY为3231-20121212,endKey为:3231+201213,那么你查到的就是用户为3231在20121212这一天 的数据。
column key
column key是第二维,数据按rowkey字典排序后,如果rowkey相同,则是根据column key来排序的,也是按字典排序。
我们在设计table的时候要学会利用这一点。比如我们的收件箱。我们有时候需要按主题排序,那我们就可以把主题这设置为我们的column key,即设计为columnFamily+主题.,这样的设计。
timestamp
timestamp 时间戳,是第三维,这是个按降序排序的,即最新的数据排在最前面。这个就没有什么说的了。网上其他的博客也提到比较多。
这篇文章主要是帮助朋友们理解rowkey的字典排序即(三维有序)。希望对你有帮助。
原文地址:hbase rowkey 设计(三维有序), 感谢原作者分享。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tendance rétro ! HMD et Heineken lancent conjointement un téléphone à clapet : une coque transparente

À partir de 649 NT$, la Kubi Cube Xiaoku Tablet 2 Lite est là : grand écran de 11 pouces protégeant les yeux + grande batterie de 8 000 mAh

Le Wi-Fi portable ZTE 5G U50S est mis en vente au prix de 899 NT$ lors du premier lancement : vitesse maximale de 500 Mbps

La tablette Teclast M50 Mini est là : écran IPS de 8,7 pouces, batterie de 5000 mAh

Honor Magic V3 lance la technologie de protection oculaire anti-focalisation AI : atténue efficacement le développement de la myopie

Comment concevoir la page de fin d'un ppt pour qu'elle soit suffisamment attrayante

Premier système de refroidissement tridimensionnel ultra-refroidissant du Huawei Pocket 2 : la zone de conductivité thermique globale est augmentée de 80 %

Comment concevoir un système simple de sélection de cours pour les étudiants en Java ?
