阿里巴巴在VLDB展示的新想:融合数据分析

阿里巴巴今年在VLDB给了一个讲座,讲述了阿里巴巴的一些新想法:融合数据分,讲的比较精彩。主要的内容如下。

在现实里,我们一般都有多个不同的数据分析引擎。以阿里巴巴为例的话,有Blink这样的流计算引擎,有MaxCompute这样对应HIVE的batch引擎,有AnalyticDB这样的分析引擎,有PolarDB这样的HTAP等。如果我们去看亚马逊,也有类似的,Kenisis/Aurora/Athena/Redshift等若干分析引擎。 这些引擎的latency都不一样。一般来说,latency比较低的,消耗的资源就会比较多一些。

从这个讲座里,阿里巴巴对未来的这些引擎的看法是,用户用SQL或者类似SQL的方式告诉系统用户想干什么(而不是怎么干)。这个语言也可以提供latency和资源消耗的限制。 然后MaxCompute就可以通过查询优化的方式,选择出最为合适的引擎完成计算。当然,从后续的讲座可以看到,这个选择最为合适的计算引擎,并不是说只是用一个引擎,有的时候,整个计算的一部分可以在引擎A里面做,而另外一部分可以在引擎B里做。 这就对我们现存的query plan和query optimization(查询优化)提出了很大的挑战。在这里,核心的属性是在整个查询优化过程中,运行节点引入了时间戳的概念。

这样一来,对查询优化的挑战就很巨大了。查询优化本来的目标是减少中间结果的输出,但是在这个新的假设下,优化的目标就不是这样单纯了。

这个讲座里给了一个这种场景下的优化的例子:

按照我的理解,这个想法目前尚处于早期阶段,并未进入产品化。这是可以理解的。因为这个东西很难,确实是非常的难。 查询优化自诞生以来,虽然查询优化框架,推理的规则,stats的搜集等各方面都有很多的进步,诞生查询优化的目标从来都没有变过。简单而言是找到能够最早完成该查询的执行方案。 但是在这个系统里,查询优化要解决的显然不是同一个问题,时间戳的引入,资源消耗的引入,不同优化目标的引入,这些东西放在一起,必然对目前流行的Volcano的查询优化框架和相关查询优化技术提出非常巨大的挑战。这种挑战,需要很多的时间和创新。如果现在已经实现可以商用化了,我倒是真要吃惊了。 如果我们站在更远一点的角度去看。这个系统假设用户告诉系统干什么,走的是经典的SQL的道路。这个做法是不是好的做法,一直有两派。Spark和Flink的编程模型里更多的是一个dataflow的编程模式,告诉系统用户想怎么做。但是系统可以在不改变运行结果的基础上进行等价的转换。这种告诉系统干什么但是不告诉系统怎么干的道路,是或者不是未来的主流道路我看不太清楚。 另外一个没有解答的问题是这个系统会用什么样的数据模型。Blink是流模型。Batch通过流给一个很大很大的窗口去模拟。而经典的MaxCompute是典型的batch模型。数据模型在不同的计算引擎之间可能是不统一的。由此类比,每个计算引擎之间的数据类型,计算精度等可能也是有差别的。这样一来,会不会导致系统的两个理论上等价的执行计划,事实上结果有差别。而应用是否可以容忍这种差别,也是不好说的。从这个角度来看,这个项目对MaxCompute的引擎的改造应该比较小,Blink的streaming系统,嵌入到新的框架里,需要的改动多一些。 无论如何,这都是一个非常值得一听的讲座。

原文发布于微信公众号 - 飞总聊IT(feiitworld)

原文发表时间:2018-09-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

浅谈软件项目规模估计——怎么估?

做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。 —— 侯世达,哥德尔、埃舍尔、巴赫 ? 周三的下午,我像平常一样,写着代码听着歌,突然从...

40940
来自专栏程序员互动联盟

给年轻程序员的几句话

我收到了不少新手的来信,他们都希望能成长为一名真正的程序员。我绝对不是第一个谈论这个话题的人,所以,我不知道应该做哪方面的补充。不管怎样,下面的是一些一直记在我...

35690
来自专栏量子位

详解谷歌第二代TPU:功耗性能究竟如何?巨头想用它干什么?

安妮 陈桦 编译自 The Next Platform 量子位 报道 | 公众号 QbitAI 在上周召开的Google I/O 大会上,谷歌正式公布了第二代T...

34940
来自专栏华章科技

一张图看懂两会大数据:两会最重要的话题是什么?

两会新闻滚动刷屏,哪个话题被提及最多?哪些地区讨论最活跃?对待民生、互联网、文化、创业、环保等话题,男性和女性各持什么态度?百分点数据科学部用一张图给你说清。

6620
来自专栏CDA数据分析师

数据科学入门丨选Python还是R

对于想入门数据科学的新手来说,选择学Python还是R语言是一个难题,本文对两种语言进行了比较,希望能帮助你做出选择。

15300
来自专栏CDA数据分析师

原来,你是这样的R语言

? 今天给大家介绍一款在开源世界里集万千宠爱于一身的软件——R语言。 有多受宠呢?简单说,你能想到的地方都有它的身影。 做学术?看看R在各大语言排名系统的表...

266100
来自专栏数据和云

Oracle和微软联手推云数据库

6月24日(周一),甲骨文和微软召开联合新闻发布会,宣布将在云计算上结成联盟,甲骨文拳头产品数据库,将可以在微软云计算平台运行。这是两大重量级厂商在云计算领域的...

32650
来自专栏安智客

安全身份认证协议与FIDO

DC010(DEFCON GROUP 010)作为全球安全圈最神秘最前沿的顶级黑客大会DEFCON授权认证的官方GROUP,致力于传播DEFCON GEEK...

20450
来自专栏机器之心

资源 | 关于大数据,你应该知道的75个专业术语

选自DataConomy 机器之心编译 近日,Ramesh Dontha 在 DataConomy 上连发两篇文章,扼要而全面地介绍了关于大数据的 75 个核心...

39660
来自专栏凌帅的阅读思考与实践

OKR和凌帅的OKR

OKR是所有目标管理、时间管理、精力管理、任务管理、甚至员工管理、组织管理、公司管理、社区管理、家庭管理、国家管理的集大成者,终结者,没有之一。只要涉及管理,就...

12220

扫码关注云+社区

领取腾讯云代金券