学术界的我不太了解,简单说说我看到的工业界正在做的事情。(想到哪,写到哪,如有错漏欢迎评论~)
经过几年的高速发展,云计算现在已经深入人心了。但是,上云不仅仅是将物理机换成云上的虚拟机。更重要的是,软件要根据云环境的特点重新设计和实现,这样才能充分发挥云环境的优势。
现在进行得如火如荼的,就是基础软件,特别是数据库的云原生化。
翻翻最近几年的 SIGMOD、VLDB 的论文目录就可以知道,各大云巨头输出了不少这方面的论文。
第一个比较成功的云原生数据库案例,应该是 Amazon Aurora?它之前发表了两篇论文,有兴趣可以读一下:
之后,阿里云也推出了同类的产品 PolarDB,也发了不少相关论文,比如:
腾讯云也推出类似的云原生数据库 TDSQL-C…
Aurora、PolarDB 和 TDSQL-C 这类云数据库,我们一般称之为 shared-storage 架构。它们的存储层挂的是一个大“网盘”——分布式文件系统、对象存储等。
云上还有一类分布式数据库架构,一般称之为 shared-nothing 架构。比较著名的是 Google 的 Cloud Spanner。不过,Cloud Spanner 技术上很牛叉,商业上却被 Aurora 碾压,毕竟性价比不够高。Shared-nothing 架构好几个开源的数据库,比如 TiDB、CockroachDB、YugabyteDB,它们也在朝云上进军。
前面讲的这些,都是偏 OLTP 的 Cloud-Native Database(TiDB 其实主打的 HTAP,下面再介绍)。Snowflake 是一家从云上诞生的公司,2020 年已经在纳斯达克上市,主要业务是 Cloud-Native 的数据仓库,充分利用了云上的弹性伸缩能力。有兴趣也可以看看他们的论文:
传统的架构下,AP 和 TP 一般是两套异构系统。TP 系统是产生数据的源头。AP 系统需要定时从 TP 系统批量导入数据。
除了需要付出维护两套系统的成本外,最让人头疼的是两套系统之间的数据延迟。
为了降低运维、运营成本,同时提升 TP 请求和 AP 请求的数据一致性,越来越多的系统都在向 HTAP 方向演进。
国内最初宣布支持 HTAP 的数据库,应该就是 TiDB 了,可以看看他们的论文:
Google 内部的 F1,经过多次演进,也向 HTAP 靠拢了:
TiDB 和 F1 都是从 TP 其家,然后向 AP 靠拢实现 HTAP。也有一些系统是从 AP 开始,后来逐渐加入 TP 的能力,比如:
最近,蚂蚁的 OceanBase 又出来打榜,上次打的是 TPCC,这次大的是 TPCH,以此来对外宣布自己也走上了 HTAP 之路。
以前都是 System for ML。现在开始 ML for System。
我第一次听说机器学习为数据库服务的例子是 Google 的一篇论文:The Case for Learned Index Structures。
ML for System 现在最流行的应该是数据库系统的 Self-Deriving。这一块目前做得比较有名的是 CMU 的 OtterTune。
CMU 的数据库大牛 Andy Pavlo 已经自己开公司做这一块的工作了,公司名就叫 OTTERTUNE。
想要了解最新前沿的问题,当然最好的渠道之一就是阅读分布式系统的最新论文。UIUC CS525课程提供了一份论文参考书目,目录包含了将近 70+ 篇分布式系统的论文,而且都是最近两年的。
最后借用Indranil Gupta教授的话:What a great time to work in Distributed Systems!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有