前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive在DB-Engine的排名已经超过Teradata

Hive在DB-Engine的排名已经超过Teradata

作者头像
Fayson
发布2019-07-30 10:48:40
1.7K0
发布2019-07-30 10:48:40
举报
文章被收录于专栏:Hadoop实操

Presto比Hive快400倍

也不知怎么滴,每当有一个新的数据库出来的时候,都会把Hive大哥拉出来遛一圈,踩几脚,然后再总结一下:我比你快XX倍。早些年听到这些,心中还会升起一股无名火,现在只会微微一笑。连Hive都不懂是怎么用的,还有必要和你往下聊么?

01

Hive 在DB-Engine的排名超越Teradata

Hive 在DB-Engine的排名中一直是排在Hadoop生态圈第一位的SQL技术. 我也不明白为什么在比较各种 DB Engine的时候,都不拿这张图来说事:

(点击查看大图)

至于为什么,原因也有很多,不过对于不是真懂的人,侧面的可以想一想,一个 “好慢”,“太老” , “没前途“ 的Apache 技术,为什么能长期霸占Hadoop SQL生态圈的C位,以至于现在还超越了Teradata?

假的,一定是假的。我比Hive快100倍

02

Hive的历史

2.1

Hive 0.X 和1.X 时代

讲点历史吧,Hive的出现和Hadoop 里的MR有无数的关系,早期是因为手写MR实在太繁琐,于是Facebook就开发了一个用类SQL的方式,把一系列的MR任务能通过SQL方式调起来。同时,还有一个MetaStore服务,来负责管理存在HDFS上的各种数据文件。最后,再开发一个客户端,可以让用户来提交这种定制的,有限支持的类SQL语言,那会它还有个专门的名字,叫HQL。

全文链接:http://infolab.stanford.edu/~ragho/hive-icde2010.pdf

在当时,Hive作为一个MR的抽象调度器,还是收获了不少用户的,最主要的原因,我猜想,应该是写MR门槛还是有点高,而且很繁琐。另外还有一个原因是Hive的设计方案是非侵入性的,因为他真的只是一个有状态的调度器。

当然,MR是没前途的,这个我承认,不是MR没前途,而是Hadoop的MR没有去实现对接MPI计算模型,所以它没前途,可是万一它哪天实现了呢?那应该还是有前途的。

(点击查看大图)

2.2

Hive 2.X 时代

要想Hive跑的快,换计算引擎是肯定的了。因此,Hive 迎来了一大波商业化支持,也就是早年的Hortonworks,合并后的Cloudera. 对Hive提出了Stinger和StingerNext计划,来从里到外的改造Hive的内核代码,并让他能支持多个不同的计算引擎。

(点击查看大图)

由于当时可选的计算引擎不多,于是三头象公司和Yahoo!就造了一个引擎,叫Apache Tez。其实当年,Tez的改造是想替换掉Hadoop里的MR的,但是考虑到项目的复杂性和未来发展,因此把这个项目独立成一个Apache 项目。

Tez立誓很好,替代MR成为下一代的分布式MR计算框架。但是,也因此奠定了它一生都得背着这个步入中年。于此同时,“快100倍的Spark”获得了大量的用户关注,而且瞄向的是数据科学和数据分析领域这种小数据低延迟的场景,因此Tez这个项目除了被用在Hive里,几乎没有别的地方用,当然Pig除外。

题外话:Tez 对于MR 最主要的改动就是在DAG图里不再需要 MR -> MR -> MR 的方式来处理数据,而是可以M->R->R->R的方式,这样做的结果就是,每次MR结束后的数据落盘行为被去掉了,大大降低了一个HQL的查询执行时间,也降低了不少HDFS的IO,从这个角度说,它是一个非常成功的Apache项目。

(点击查看大图)

Stinger计划和StingerNext 计划基本也都如期的交付完成,把Hive送上了DB Ranking Hadoop生态排名第一,数据库领域全球排名第15的位置。从结果上看,还是成功的。

题外话:为数不多的至今还健在的国产或者山寨大数据平台,基本上都是Hive 1的时代出现的,并没有用到Hive 2 (Tez)或者Hive3 (LLAP)。至于为什么?可能是老板和PM听说Spark快100倍吧

2.3

Hive 3.X 时代

最近这两年,分布式数据库进入了一个白热化的竞争阶段,云上云下数百个分布式数据库如雨后春笋般的冒出来。甚至连Apache Kafka都跳出来说自己是下一代分布式数据库系统了。无一例外的都在以快标榜去抢夺MPP的小数据市场份额。

反观Hive在解决了如何在几千个节点上跑几个PB的数据查询的问题后,在MPP的小数据市场里的认可度并不是很高。至于原因嘛,我看到的是MPP领域不考虑如何解决在几千个节点上跑几个PB的问题,而是去解决在数十个节点跑几十个TB的问题。Hive这种一个查询光是等待任务初始化的这几秒,还没开始跑,MPP已经开始吐结果了。在付费的MPP用户群里,这样的结果是很难接受的,即便你便宜,也很难打动客户。

于是,Hive的技术团队经过长期的讨论,由Gopal V大神牵头,推出了第三代MPP+融合架构,也就是我们今天知道的Hive LLAP。这个架构的改动,一改Hive在小数据集查询响应表现不佳的局面,通过常驻的LLAP进程,内存计算和缓存等等一系列优化,终于在MPP市场领域占据了一席之地。

(点击查看大图)

也是从这一代Hive开始,Hive变得能大能小,游刃有余。毫秒响应,过万QPS等等刷三观,掉下巴的体验也是从这一代开始的。事务,ACID,OLAP的能力就更不用说了,你想要的基本都有。

但是,这不是Hive的终极目标,我要说Hive的终极目标是"数据中台",估计一大堆人都笑了,数据中台和Hive有毛关系?这个我们下一篇文章再絮叨吧,下一篇我们聊聊Hive 4.0和数据中台这种伪概念在云原生的Hive上是怎么实现的。

前瞻内容可以参考以下这篇论文:

Apache Hive: From MapReduce to Enterprise-grade Big Data Warehousing

Jesús Camacho-Rodríguez, Ashutosh Chauhan, Alan Gates, Eugene Koifman, Owen O’Malley, Vineet Garg, Zoltan Haindrich, Sergey Shelukhin, Prasanth Jayachandran, Siddharth Seth, Deepak Jaiswal, Slim Bouguerra, Nishant Bangarwa, Sankar Hariappan, Anishek Agarwal, Jason Dere, Daniel Dai, Thejas Nair, Nita Dembla, Gopal Vijayaraghavan, Günther Hagleitner

(全文链接:https://arxiv.org/pdf/1903.10970.pdf)

(点击查看大图)

结尾:如果你招人问到对方Hive,回复说Hive是跑MR的人 ,可以直接Pass掉了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档