OceanBase的VLDB论文,读得我百感交集。。。

2022-10-10 11:41:42 浏览数 (1)

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

2022年的VLDB,OceanBase终于在Industry Track发了一篇论文。我也终于有空去拜读一下这个OceanBase的论文 。这一读,真的是百感交集。。。

首先,有个好消息,如果你的英文比较烂,想读中文版的,这一次不是问题。

OceanBase团队在机器之心的公众号上发了一篇文章:破世界纪录的国产数据库OceanBase,如今入选了国际顶会VLDB 2022。

我对比过这篇文章和VLDB论文,可以这样说,VLDB论文多了一些有的没的东西,比如related work。机器之心多了一些表扬和自我表扬的东西。除此之外,两者涵盖的技术内容基本上是一样的。

所以如果不想读英文版的,读机器之心这篇文章的相关技术部分也是一样的。大概中国人中文是母语,我读机器之心的文章比读VLDB的英文文章,感觉要更通顺一些。

其次,OceanBase这篇论文,算是我2014年肉身在杭州参加VLDB阿里之夜,听阳老师现场吹OceanBase的牛逼之后,第一次全面的阅读有关OceanBase的论文吧。这是盼星星盼月亮的,盼了很多年,终于出来了。

我一直努力找OceanBase的相关论文,之前也在某大学学报上找到过一篇。不得不说,还是这一篇讲得更清楚更现代化一些。

当然,OceanBase这篇论文,投去Industry track,顶着TPC-C世界冠军的结果,大概率是能够发出来的。有关OceanBase的架构也没有那么令我吃惊的地方。

这篇文章,也许对不同的人来说理解不一样,对我来说,很多内容都在意料之中,比如说整体架构,比如说存储引擎等等。后续关于如何准备TPC-C测试东西也非常的有趣。

但是文章里面对我个人最有吸引力的还是Paxos 2PC的分布式事务处理。我大体上能够理解论文在讲的是什么,只是我总觉得这里面的篇幅短了一点,我总希望可以讲的深入一点。

另外一个方面,限于论文篇幅的问题,也可能是我个人的落脚点问题,我觉得有一些比较重要的东西,在论文里面也没有篇幅去讲讲。

比如说,我就对分布式数据库的查询优化特别的有兴趣。尤其是HTAP数据库下,我甚少见到有人去讨论分布式数据库引擎的查询优化问题。

但是实际上这个和集中式数据库的查询优化有本质区别。做好了不容易。

举个简单的例子,bloom filter是常用的查询执行过程中的一种办法,在集中式数据库通常我们认为bloom filter的生成和传输的代价可以忽略不计。但我很怀疑,在OceanBase的这种环境下,这个代价还是可以忽略不计。

所以在cardinality estimation上,分布式HTAP数据库如果没什么实质性的创新的话,那就很可能产生一些很有意思的问题。特别是节点数目很多的时候。

又比如说,通常对数据库的replication,包括从一个数据库里面replicate去另外一个地方,都使用log,比如MySQL的BinLog。

但是OceanBase这个架构下,如何把数据给replicate到其他系统里面去,由于分布式数据库的多节点写的问题,这个log就没那么好弄了。具体怎么搞,估计会是OceanBase里面比较复杂的一块。

每个想求知的人当然可以去看源代码理解每个模块,但是这也太过于低效率了。OceanBase应该有很多创新的地方,按理来说也应该可以发很多论文。

所以我读到这篇VLDB论文的时候,感觉真的是百感交集,很多东西都没有写出来,只能等OceanBase团队以后继续发论文了。

0 人点赞