本文首发微信公众号:飞总聊IT

Trino Summit 2022今年11月在San Francisco召开。我今年挺想现场去参加这个会议的,但是公司今年砍掉了所有travel的budget,所以就没去。
Keynote和其他相关视频在11月底放出来了,我拖延了一段时间才看,具体视频在这里:https://youtu.be/mUq_h3oArp4
我不知道国内网站有没有,没有的话,可能国内朋友要看就要自己想办法了。

Keynote里提到Trino的发展主要是这几件事情。
第一,新增了一个Merge语句:

这个语句方便把一个表 merge到另外一个表里面,比起写join来实现要简单很多。主要的用途是把增量表合并到基础表上面。
第二是增加了支持半结构化数据Json格式的函数:
第三是增加了table函数:
这个函数最大的作用是在原来SQL语法能够用到table的地方都可以用这个函数产生的结果去取代。很方便可以和其他的系统进行整合。
最后是一些fault tolerant execution的东西:
具体细节可以参考我之前写的这篇文章:TProject Tardigrade:Trino(Presto)到底想干什么?这篇文章里面的内容就是Fault Tolerant execution相关的东西。
当然Trino还有很多其他的提高,一张PPT概括了。

Trino 2023需要做的事情最重要的大概就是这个了:
具体来说,首先是下一代的列式处理引擎,里面当然会用到各种各样新的技术了。
其次是join和aggregation的hash table实现,我虽然不清楚大概要做什么,我猜是想学习ClickHouse。毕竟ClickHouse的Hash Table的实现可谓是无微不至,什么样的东西都要优化,有的时候都不知道是不是优化过头了。
最后,还有这样一些东西:
看起来都挺熟悉的,connector,query tracing,performance improvements 等等等等。
总之2022年Trino做了很多事情,2023年Trino还要做很多事情,好日子望不到边啊。
那么问题来了,你要问我Trino的2022年,做的这些事情,放到Keynotes里面来说,到底是不是真的值得大夸特夸呢?
讲真,这些东西有的是早就应该做的,但是拖到现在才做,有的呢,我都不知道它这样做到底是正确的道路,还是歪门邪道。毕竟,可能时间才能告诉我们对还是错。
飞总毕竟年纪大了,没有前几年犀利尖锐了,有些话只能说得点到即止了。谁要是看不明白,那肯定不是我的锅,是看不明的人自己的锅。
至于明年要做的事情,我倒是觉得Trino真的应该认认真真的考虑用C++了啊,不然时不我待,继续在Java上面绑死日子不好过。
考虑一下Spark都开始在商业版里推C++的向量化引擎了,老东家Facebook也想要用C++一统天下了,这还不提到日程上来,黄花菜就要凉凉了啊。
当然Starburst公司是要做商业版的,Trino社区是要做开源免费的,到底什么样的功能应该做进商业版什么样的功能应该在免费版本里面,这个问题,我觉得Starburst可能真的没有考虑的很清楚。
起码在开源方面Starburst显然没有Databricks有原则。当然对Databricks来说,成也开源,败也开源,成败都是开源。原则可以在今时今日是正确的,可以在明年是错误的。这一盘大旗,确实不好下。
继续阅读
阅读原文