为啥说用了Hbase速度会变快???

都知道数据仓库现在一般来说是Hive和kafka,数据平台目前还使用的是hive,但是hive的查询是很慢的,所以为了效率我们引入了Kylin,Kylin并没有大数据存储功能,它所做的只是将数据仓库里的数据预计算,然后存入到Hbase中,查找的时候,给我们提供途径,在不需要直接操作Hbase的情况下,读取Hbase中的数据。那么问题来了! 都是大数据,你Hbase凭什么比我Hive快?

那好,我们先抛下为啥Hbase快,先说说Hive慢的问题。

Q:为啥Hive慢
A:这个其实在我在另一篇介绍Kylin的文章里面聊过了:数据仓库是面向主题的,具体的解释不想敲第二遍了,如下图


随便讲kylin那一篇

既然Hive在速度方面都比不了MySQL,就让他往后稍稍吧。

Q:Hbase和MySQL谁快???
这个其实要经过比较才知道,其实我还没亲手去比较一下他俩,不过百度一查就能看到有人做的相关实验,Habse速度上有一定的优势。

可能这时候又有同学跳出来:

“哎呦!!!那Hbase这么快,还用Mysql干啥?直接替代它啊!!!咱全换Hbase吧!!”

“emmmmmmmmmmmmm”


住口

那Redis还快呢,MongoDB也快!Hbase快,但是Hbase也是noSQL,它并不能支持复杂的查询条件,比如模糊查询,范围查询。。。emmmmm,最主要的一点他甚至连条件查询都不行。

“啊?条件查询都不行?这东西这么垃圾???那还用它干啥?”

“其本身的确不能直接条件查询,但是经过使用者良好的行键设计,是可以实现条件查询的,只不过要求使用者对Hbase非常之熟悉,而且成本也比较大。现在有工具相当于能直接帮我们做这些行键设计。甚至直接可以使用范围查询!比如Kylin就是帮我们做了复杂的工作。”

Q:那为啥Hbase快呢?
A:HBase提供的是实时计算服务,底层的数据结构是 LMS-Tree 、HTable、 Cache

客户端直接定位到HRegion server服务器,然后在服务器的region上查找要匹配的数据,而且这些数据是Cache缓存的。
Hbase会将数据保存到内存里,但是内存毕竟不会帮我们一直存数据,它把这些数据有序的排列在HFile中。Hfile中的内容也是有序的,每当成功保存,内存里的数据就会被清理。
HFile的数据是分页存储的,合并写入会产生新的结果块,最终多个块合并,最后就成了树的结构。

我先跑个题:
LMS树相比较于B+树是牺牲了部分的读性能,大幅度的提高了写性能。因为是批量存储,所以规避了磁盘随机写入的问题。其中的原理就如上文:把一棵大树拆分成N棵小树,首先存入内存,随着小树的增长,内存里的小树会flush到磁盘,磁盘里的树又定期的merge,最后成为大树,优化读性能。思想就是:将对数据的修改增量的保持在内存里。

回到主题中:

经历了多次的刷写之后会产生很多小文件,后台线程会合并他们,这样的话磁盘查找会限制在少量的数据存储文件中。Habse写入快是因为它并不是真的立即写入文件中,而是先写入内存,随后异步刷进HFile。而且是顺序写入而不是随机写入,所以速度就很稳定,就保持稳定的同时,加快了速度。由于Hbase是LMS树结构,所以磁盘读取很快,但是寻找磁道的速度就慢很多。但是Hbase的读取是从缓存开始的,先查缓存,没查到再去内存查找,都没查到才会加载HFile,由于节省了寻道的开销,HFile也很快,Hbase 就很快了。

只要明确了rowkey,就节省了寻道的时间,快速定位rowkey就实现了快速查询,Kylin在预计算的时候就是把数据构件好,然后分配一个rowkey,存入Hbase中的,我们查询的时候拿着rowkey去查自然就很快。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容

  • 简介 HBase是高可靠性,高性能,面向列,可伸缩的分布式存储系统,利用HBase技术可在廉价PC Serve...
    九世的猫阅读 2,195评论 1 6
  • 转自 沈钊伟 HBase 在大数据生态圈中的位置 提到大数据的存储,大多数人首先联想到的是 Hadoop 和 Ha...
    wangxiaoda阅读 1,247评论 0 19
  • HBase存储架构图 HBase Master 为Region server分配region 负责Region s...
    kimibob阅读 5,588评论 0 52
  • 作者:康凯森 作者简介:美团大数据工程师,Apache Kylin Committer,目前主要负责美团 OLAP...
    Kyligence阅读 3,383评论 0 16
  • 《印度退兵》 印度退兵牛郎终于可以脱下军装,跑去跟织女约会了 《自嘲》 作为无业游民我创作颇丰创作的也是无业游民不...
    左秦阅读 605评论 3 9