作者简介
戴尔科技集团软件工程高级总监滕昱专注于分布式存储领域16年,受到2006年AWS发布S3的启发,他选择在2007年加入戴尔科技集团,领导中国和印度的核心研发队伍在前后三代对象存储产品的研发及全球商业化中扮演了重要角色。从2016年开始,滕昱和他的团队深度拥抱开源,成功把Pravega流存储项目贡献给CNCF,同时创建了Pravega中文社区并活跃在Flink/Iceberg多个社区。
免责声明: 此文章完全属于梦话,
如有雷同纯属巧合。
"It will happen in one of multiple universe,
but not our universe"
2023年开始一周后,我才注意到Andy Pavlo在2022年最后一天发表了一篇名为的展望文章。阅读之后发现非常神奇的吻合我上一篇分享的Matt Turck(VC)的论点。心中的“洪荒之力”上来了之后,写一个结合双方观点的“best guess”在OLAP和DBMS这个方向,这也是这篇blog标题的由来。
首先,Andy原文最重要的三段的标题如下所示:
Big Database Funding Has Slowed Big Time
Blockchain Databases Are Still a Stupid Idea
New Database Systems
所以他和Matt的观点重合主要集中于前2点,而我打算这篇文章从“New Database System“ 和technology有关的第三点先讲起。当然,在这里主要是因为Andy的Take其实和我一直来构想的有很多共同点,他的原文是这样的“The long-term trend to watch is the proliferation of frameworks like Velox, DataFusion, and Polars. Along with projects like Substrait, the commoditization of these query execution components means that all OLAP DBMSs will be roughly equivalent in the next five years. ”
是的,新时代OLAP系统最终的一个可能的结局就是支持多云部署的SQL黑盒子:
本质上就是Snowflake的SQL engine和Storage layer分离架构。Storage layer中数据部分使用有状态的S3存储部署到从Edge到core到多个公有云上。“Data virtualization”层数据在Edge和Core端的存储将会是个有趣的话题。
在Storage layer,“message queue”和S3的merge话题也会很有趣,随着100Gb-200Gb RDMA的网络大规模铺开,我们真的需要“message queue”的语义么?(对尾数据的低延迟读写)
看现在进度Presto和Spark都如火如荼啊。
你可以会问Andy为什么没讲HTAP这个话题,其实他一直以来的态度是" I'm also not bull-ish on HTAP (OLTP+OLAP) databases. Front-end stakeholders want best OLTP DBMS. Analysts want best OLAP DBMS. Nobody wants hybrid DBMS that does okay job in both. "
HTAP本质上是OLTP/OLAP的工作负载隔离(Workload isolation)和OLAP的数据新鲜度(Data freshness)之间的权衡。我的看法是这是个偏向经济学的话题而不完全只是技术选型,也就是ETL的复杂性是不是可以通过HTAP来隐藏掉,对于不同的客户这个答案其实南辕北辙。而唯一比较确定的是“Distributed Transaction Processing with Log Replay“这种设计在简本增效的背景下可能前景不明。
现在让我们回到第一点,Big Database Funding Has Slowed Big Time,其实这点和Matt的预测的第5点一致。“Be rigorous: emphasize valuation discipline, unlike those other silly VCs (not me) who YOLO’ed into crazy expensive deals in 2020-21“
实际上到了2022 年下半年,数据库行业再无大规模融资发生。并且那些入场早的公司的融资规模没有一个达到九位数。除非科技行业整体大环境有所改善,也就是大型机构投资者VC开始再次将资金疯狂的投入市场,否则这些初创公司将会陷入困境。但是经历过/旁观过2001第一次高科技泡沫的人们,可能都会感觉到2023年的情况不会太妙了。
简单地说,萎缩的市场无法维持如此多的数据库独立软件供应商和Startup。这些估值 10 亿美元+的公司的结局只会是IPO 或是破产。而且由于收购这些初创企业的成本已经被哄抬的太高了(除非VC们愿意大幅削减报价,但这不现实),本来第三条被收购的道路可能性已经无限降低了。当然这个问题OLAP/OLTP 数据库公司会共享。这和Gartner 在2021年给出的到“2025年,50% 的独立 DBMS 供应商将倒闭“的观点不谋而合。所以大家可以看到业界出现了类似MariaDB/SPAC 这样的“冲刺上市”模式,比较第一天起股票价格就下跌40%的“惊喜”,也许能收点就收点可能是VC的一种看法吧。
至于“Blockchain Databases Are Still a Stupid Idea“其实也暗合Matt的第一个说法“ Update public profiles: remove any reference to ever having ever liked crypto/web3, deny any rumors that I was claiming to be “down the rabbit hole” less than a year ago, say that I would have “definitely done deep due diligence” on FTX.“ 这节明显可以看出Andy的吐槽,即技术宣传上已经出现了各种各样的狂热观点宣称 Web3 将彻底(100%)改变人们开发新app的方式。Well,历史告诉我们“没有银弹“,但是不妨碍人们执着地追逐银弹。Andy今年在CMU DB的课上搞出了个大event就是第一节课介绍数据模型时候,被一位同学当众挑战为什么不把区块链加上,因为这个是唯一的未来云云。场面一度非常尴尬。
当然作为中年人看来,Web3 的核心宗旨之一是将状态(强一致性)存储在区块链数据库中。区块链从技术本质上是去中心化的log-structured databases(即账本),它不出意外是用Merkle trees变种和BFT 共识协议来维护数据增量checksum,以决定全局的更新。这些增量checksums是区块链确保数据库日志记录不可变的手段:每个客户端使用这些checksums来验证数据库更新没有被篡改,也就是所谓的全局强一致性的保证。
但是我非常同意的Andy这句话的“We are required to trust others to have a functioning society. “软件开发本身就是人类经济活动一种,软件技术也会服从人类社会一些最基本的原则,比如面对面的交流的信息流bandwith是永远是元宇宙之类比不上的。几乎所有现实世界的交互都是以基于信任方式工作的。而与由受信任的机构控制、只允许受信任的客户端直接连接、精心编写的事务性 DBMS 相比,区块链的效率低得可怕。除了crypto或网络欺骗之类的非法活动之外,几乎找不到其他像样的use case。而crypto本身正在进入它历史进程最重要的时间节点,也就是大家需要重新接受它是一种财物而不是货币的本质。
当然,从Proof-of-Work, PoW切换到能耗更低的Proof-of-Stake, PoS共识机制确实提高了区块链数据库的性能,但这只会改善区块链数据库的throughput,并无法帮助区块链数据库去提高那动辄数十秒为单位事务延迟。如果所谓的解决长延迟的方法是使用参与者更少的 PoS ,那么为啥不使用 PostgreSQL/MySql,再对客户端进行身份验证就好了。
所以在评估一项新技术时要遵循的一个有趣的规律是,一旦 IBM 为它做了电视广告,它就不再是“新”技术了。更加残酷的是,如果在 IBM 开始宣传这个“新”技术的时候,如果还没有令人信服的商业用例,那么大概率就永远不会有了。例如,IBM 在 2002 年的商业广告中宣传 Linux 是一个热门的新事物,而实际上包括Google在内已经有数以千计的公司将 Linux 作为他们的主要服务器操作系统了,而liunx也早就在2002年之前完成了2.4到2.6最重要的一次kernel升级。同理可得,当 IBM 在 2018 年推出区块链商业广告时,大概率可知这项技术不会超越crypto,因为不存在去中心化区块链可以解决而中心化 DBMS 无法解决的问题。所以IBM在2022宣布关闭与航运巨头马士基(Maersk)合作的供应链 IT 项目也就不足为奇了,而这也是他们在2018年商业广告中大肆宣传的。
Money and Technology
are talking the same thing now.
Happy New Year