架构师(2020年5月)

架构师(2020年5月)

发布于:2020-05-08 08:00
本期推荐内容:唯一维护者锒铛入狱,周下载量超 2600 万的 JS 库该何去何从?中台翻车纪实:一年叫停,员工转岗被裁,资源全浪费
下载此书

卷首语:五年之后,数据库会变成什么样子?

作者:黄东旭


我还清楚记得,五年前的这个时候,当时还在豌豆荚,午后与刘奇和崔秋的闲聊关于未来数据库的想象,就像一粒种子一样,到了今天看起来也竟枝繁叶茂郁郁葱葱,有点感慨。按照惯例,五年是一个重要的节点,没有十年那么冗长,也没有一两年的短暂,是一个很好的回顾与展望节点。


五年前创业的出发点其实很朴素:做一个更好的分布式数据库。从学术的角度上看起来,并不是提出了什么惊天地泣鬼神的神奇算法,我们选择的 Shared-nothing 的架构其实在当时的业界也不是什么新鲜的事情了,但真正令我激动的是:我们要造的是一个真正能作为整个系统的 Single Source of Truth 的基础软件。


创业五年,TiDB 按照我们当初的设想一步步变成了现实 ,在这个旅途中,我们一步步看到了更大的世界。那么接下来的五年会发什么?随着对于行业和技术的理解的加深,至少有一点我深信不疑的是:弹性调度会是未来的数据库的核心能力。


谁都不会否认,最近十年在 IT 技术上,最大的变革是由云带来的,这场革命还在进行时。云的核心能力是什么?我认为是弹性。计算资源分配的粒度变得越来越细,就像从只能买房变成可以租房,甚至可以像住酒店一样灵活。这意味着什么?本质在于我们可以不用为「想象中」的业务峰值提前支付成本。


过去我们的采购服务器也好,租赁机柜也好,都是需要设定一个提前量的,当业务峰值没有到来之前,其实这些成本是已经提前支付的了。云的出现将弹性变成了基础设施的一个基础能力,我预计数据库也会发生同样的事情。


可能有很多朋友会有疑问,现在难道不是几乎所有数据库都号称能够支持透明水平扩展嘛?其实这里希望大家不要将「弹性调度」狭隘的理解为扩展性,而且这个词的重点在「调度」上,我举几个例子以方便大家理解:


1. 数据库能不能够自动识别 workload,根据 workload 进行自动伸缩?例如:预感到峰值即将来临,自动的采购机器,对热数据创建更多副本并重分布数据,提前扩容。在业务高峰过去后,自动回收机器进行缩容。


2. 数据库能不能感知业务特点,根据访问特点决定分布?例如:如果数据带有明显的地理特征(比如,中国的用户大概率在中国访问,美国用户在美国),系统将自动的将数据的地理特征在不同的数据中心放置。


3. 数据库能不能感知查询的类型和访问频度,从而自动决定不同类型数据的存储介质?例如:冷数据自动转移到 S3 之类比较便宜的存储,热数据放在高配的闪存上,而且冷热数据的交换完全是对业务方透明的。


这里提到的一切背后都依赖的是「弹性调度」能力。未来我相信物理资源的成本会持续的降低,计算资源的单价持续下降带来的结果是:当存储成本和计算资源变得不是问题的时候,问题就变成「如何高效的分配资源」。如果将高效分配作为目标的话,「能调度」就是显而易见的基础。


当然就像一切事物发展的客观规律一样,学会跑步之前,先要学会走路,我相信在接下来的一段时间内,我们会看到第一批初步拥有这样能力的新型数据库,让我们拭目以待。


对于更远的未来是怎么样子的?我不知道,但是就像 The Machine 一样,只有足够数据才能诞生出智能,我相信就像我们不了解宇宙和海洋一样,我们现在对于数据的认识一定是肤浅的,甚至大量的数据我们都还没记录下来,一定有更大奥秘隐藏在这海量的数据中,从数据中能获取什么样的洞察,能够怎么样更好的改变我们的生活,我并不知道,但是做这件事情的主角我猜不会是人类。虽然在这个小节我们讨论的东西可能就有点像科幻小说了,不过我愿意相信这样的未来,从数据的海洋中诞生出新的智能体。


我有一个梦想,未来的软件工程师不用再为维护数据库加班熬夜,各种数据相关的问题都将被数据库自动且妥善的处理;


我有一个梦想,未来我们对数据的处理将不再碎片化,任何业务系统都能够方便的存储和获取数据;


我有一个梦想,未来的我们在面临数据的洪流时候,能从容地以不变应万变。


最近我听到一句话,我个人很喜欢:雄心的一半是耐心。构建一个完美的数据库并不是一朝一夕的工作,但是我相信我们正走在正确的道路上。


凡所过往,皆为序章。

目录

热点 | Hot


尤雨溪 B 站直播,Vue 3.0 Beta 是一个值得体验的全新版本


唯一维护者锒铛入狱,周下载量超 2600 万的 JS 库该何去何从?


观点 | Opinion


中台翻车纪实:一年叫停,员工转岗被裁,资源全浪费


放弃微服务,改用宏服务,Uber 这波什么操作?


Uber 的 Kafka 实践:踩坑 5 年,随时像替换汽车引擎一样替换 Kafka


推荐文章 | Article


做独立开发者两年了,我是这样赚钱的


落地三年,两次架构升级,网易 Service Mesh 实践之路


评论 (1 条评论)

发布
用户头像
谢谢分享!
2020-05-14 12:52 ·
回复
没有更多评论了