PingCAP CTO 黄东旭:我眼中的未来数据库技术趋势
|
举一个例子吧,比如极端一点,大家可能在上世纪八九十年代用过这种 5 寸盘、3 寸盘,我针对这样的磁盘设计一个数据结构,现在看上去是个笑话是吧?因为大家根本没有人用这样的设备了。在数据库这个行业里面很多的假设,在现在新的硬件的环境下其实都是不成立的。比如说,为什么 B-Tree 就一定会比 LSM-Tree 要快呢?不一定啊,我跑到 Flash 或者 NVMe SSD 、Optane 甚至未来的持久化内存这种介质上,那数据结构设计完全就发生变化了。过去可能需要投入很多精力去做的数据结构,现在暴力就好了。
图 5 近年来软件变革 同时在软件上也发生了很多很多的变革,图 5 左上角是 Wisckey 那篇论文里的一个截图,还有一些分布式系统上的新的技术,比如 2014 年 Diego 发表了 Raft 这篇论文,另外 Paxos 这几年在各种新的分布式系统里也用得越来越多。 所以我觉得这几年我们赶上了一个比较好的时代,就是不管是软件还是硬件,还是分布式系统理论上,都有了一些比较大突破,所以我们基础才能够打得比较好。
图 6 Data Type 除了有这样的新的硬件和软件之外,我觉得在业务场景上也在发生一些比较大变化。过去,可能十年前就是我刚开始参加工作的时候,线上的架构基本就是在线和离线两套系统,在线是 Oracle 和 MySQL,离线是一套 Hadoop 或者一个纯离线的数据仓库。但最近这两年越来越多的业务开始强调敏捷、微服务和中台化,于是产生了一个新的数据类型,就是 warm data,它需要像热数据这样支持 transaction、支持实时写入,但是需要海量的数据都能存在这个平台上实时查询, 并不是离线数仓这种业务。 所以对 warm data 来说,过去在 TiDB 之前,其实是并没有太好的办法去很优雅的做一层大数据中台架构的,「the missing part of modern data processing stack」,就是在 warm data 这方面,TiDB 正好去补充了这个位置,所以才能有这么快的增长。当然这个增长也是得益于 MySQL 社区的流行。
图 7 应用举例 想象一下,我们如果在过去要做这样很简单的业务(图 7),比如在美国的订单库跟在中国的订单库可能都是在不同的数据库里,用户库可能是另外一个库,然后不同的业务可能是操作不同的库。如果我想看看美国的消费者里面有哪些在中国有过消费的,就是这么一条 SQL。过去如果没有像 TiDB 这样的东西,大家想象这个东西该怎么做?
图 8 过去的解决方案 (编辑:网站开发网_安阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |





