电动汽车与分布式数据库,看似两个风马不相及的事物,其发展路径却极为雷同:两者都在较早期被发明,但都没有成为主流。
21 世纪初,受环境保护、温室效应和能源短缺等因素影响,电动汽车再次进入人们的视野,其核心价值却是自动驾驶,技术门槛非常高,需要具备十分复杂的实时系统。同样是 21 世纪初,由于互联网业务的高并发和海量数据等处理需求,分布式数据库再次被提及,并掀起应用热潮,但分布式数据库的核心价值是单个系统同时进行联机事务处理与联机分析处理的能力(HTAP),同样是高技术门槛,需要具备十分复杂的实时系统。
有需求便会有供给,市面上出现两种新的产品:混合动力汽车与分库分表数据库。混合动力汽车看似兼备燃油汽车和电动汽车的优点,却由于燃油发动机不能无级平滑调速而无法实现自动驾驶;分库分表数据库看似兼备集中式数据库和分布式数据库的优点,但因为分库分表中间件把数据分拆到多个数据库,所以无法实现 HTAP。
本文将对电动汽车与分布式数据库的发展进行分析对照。
01、夹缝求生
1886 年 1 月 29 日,德国人卡尔·本茨(Karl Benz)申请了三轮汽车的专利(见图1)[1],这一天被称为现代汽车诞生日。同年,德国人哥德利普·戴姆勒(Gottlieb Daimler)制成世界上第一辆四轮汽车。
文章图片
图1:世界上第一个汽车专利证书,卡尔·本茨,1886年
1963 年,美国通用电气公司的查尔斯·巴赫曼(Charles Bachman)等人开发出网状数据库 IDS(Integrated Data Store,见图2)[2],被认为是第一个数据库。
文章图片
图2:数据的随机存取,通用电气公司,1962年
从 20 世纪初至今,一百多年的时间里,燃油汽车都是汽车的绝对主流。事实上,电动汽车还先于燃油汽车诞生。法国发明家古斯塔夫·特鲁维 (Gustave Trouvé) 于 1881 年发明了电动三轮汽车,并在巴黎市中心的瓦卢瓦街头试车成功(见图3)[3]。尽管如此,由于燃油以及发动机在功率体积比和功率重量比等方面的显著优势,燃油汽车成为汽车领域的首选。
文章图片
图3:世界第一辆电动汽车(1881年)
类似地,从数据库系统诞生的近六十年的时间里,集中式数据库是联机事务处理(OLTP)的唯一选择,尽管 1987 年出现 Ingres Star 分布式数据库(见图4)[4],但分布式事务的性能以及分布式系统的复杂性,使得分布式数据库仅在近十年数据量非常大的联机分析处理(OLAP)场景得到了一些应用。
文章图片
图4:分布式数据库 Ingres Star 系统架构
02、时来运转
正所谓“谁无暴风劲雨时,守得云开见月明”,形容电动汽车与分布式数据库的生存转机再合适不过。
21 世纪以来,人类面临环境污染、大气温室效应和能源短缺等的严峻挑战,全球数以亿计的燃油汽车,其污染物排放、二氧化碳排放和能源消耗不计其数,促使人们寻求无污染、零排放、低能耗的汽车。
得益于大容量蓄电池和快速充电技术的发展,电动汽车再次进入人类视野。然而,电池大约 260 千瓦时/立方米的能量密度依然远低于汽油和柴油的8600和9600千瓦时/立方米的能量密度,通俗地讲,汽车行驶需要能量,假设某个体积的电池包含的能量可以让汽车行驶 260 公里,那么同样体积的汽油和柴油所包含的能量可以分别让汽车行驶 8600 公里和 9600 公里,区别由此可见。而且,随着环境温度的降低,电池储电量会显著下降,这些因素导致电动汽车的续航里程不足,需要充电数小时的电池与几分钟就能加满的油箱更是无法比拟。
因此,传统汽车厂商更多地选择制造混合动力汽车,即在燃油汽车上增加电池动力作为辅助,堵车或低速行驶时采用电池作为动力以节约能源并降低污染物排放,正常行驶或高速行驶时则采用燃油作为动力。此外,一些新兴汽车厂商如特斯拉等,则彻底摒弃燃油方案,开发了纯粹以电池作为动力的电动汽车,也称为纯电动汽车。
与此同时,科技的进步与互联网的普及,迫使越来越多的企业进行数字化转型,在人与人更便捷的互联互通、社会更加智能化的背后,是对业务系统越来越频繁的并发访问、越来越庞大的数据处理量。集中式数据库昂贵的成本及其存储和计算极为有限的扩展能力都显得捉襟见肘,企业不得不寻求性价比更好、存储和计算扩展能力更强的数据库。
分布式技术的发展和云计算的普及使分布式数据库“浮出水面”。然而,受限于分布式数据库更加复杂、故障定位更加困难、分布式事务性能有所降低、系统成熟度有所不足等因素,传统数据库厂商选择“业务分库分表+中间件”的解决方案,即基于集中式数据库,对业务进行较大幅度的改造和拆解、拆分,使每个拆解、拆分后的部分适合于单个集中式数据库,这就是分库分表数据库。
当然,也有一些新兴数据库厂商如 OceanBase 摒弃了基于集中式数据库的解决方案,开发真正的分布式数据库,也称为原生分布式数据库。值得一提的是,原生分布式数据库实现了一体化 OLTP+OLAP,旨在一个系统中进行联机事务处理与分析处理,但真正实现“一体化”的方案极其困难。
在很多人看来,电动汽车就是汽车把发动机和燃油换成了电动机和电池:
● 燃油汽车 = 发动机+燃油 + 底盘 + 车身 + 电气设备
● 电动汽车 = 电动机+电池 + 底盘 + 车身 + 电气设备
倘若如此,传统汽车厂商凭借自身在大规模汽车生产、销售和服务等方面的丰富经验,在电动汽车领域获得成功似乎不是什么问题。
事实并非如此。首先,2020 年,电动汽车的王者玩家——特斯拉的市值超越了丰田,成为全球市值最高的汽车公司,紧接着在 2021 年,又超过了包括丰田汽车、大众汽车、戴姆勒、通用汽车、法拉利和宝马等在内的全球主要汽车公司市值的总和。再来看这一组数据:2021 年,特斯拉新车交付量突破 93 万辆,营收 538.23 亿美元,GAAP 净利润为 55.19 亿美元;同期,丰田交付约 1,050 万辆新车,净利润 211.7 亿美元。
为什么资本市场如此青睐特斯拉?为什么投资者认为特斯拉有很大的成长空间?
显然,特斯拉迈过了年产 20 万辆车的生死线,并同时保持很高的毛利率和很快的增长速度,这是资本市场青睐特斯拉的前提条件。特斯拉的核心竞争力包括其电池管理等重要技术。当然,最根本的原因是特斯拉的自动驾驶系统:
● 悠闲舒适是个人亘古不变的追求,自动驾驶能够极大地降低汽车驾驶的劳动强度。
● 降本增效是企业永无止境的追求,自动驾驶不仅节省了人力,还能够显著地提升汽车利用率(比如后半夜、高原地区等高风险驾驶环境以及其他不适合人工驾驶的场景),从而极大地降低汽车总体拥有成本。
● 电动机可以无级平滑调速,这是自动驾驶的必要条件,发动机无法做到这一点,因此燃油汽车和包含发动机的混合动力汽车也就无法实现自动驾驶。
● 自动驾驶系统是十分复杂的实时系统,需要长时间的、大量的实际场景打磨,门槛极高。这个极高的门槛,以及传统车载软件与自动驾驶系统的巨大差异,使传统汽车厂商转型到纯电动汽车以及进行自动驾驶技术的积累,都面临极大挑战。
类似地,在很多人看来,分布式数据库就是把数据库的集中式的存储和计算硬件换成了分布式的存储和计算硬件:
● 集中式数据库系统 = 集中式存储+计算硬件 + SQL 子系统 + 事务子系统 + 存储子系统
● 分布式数据库系统 = 分布式存储+计算硬件 + SQL 子系统 + 事务子系统 + 存储子系统
倘若如此,传统数据库厂商凭借自身在数据库的研发、推广和服务等方面的丰富经验,在分布式数据库领域获得成功似乎不是什么问题。
实际情况也并非如此:
● 悠闲舒适是个人亘古不变的追求,原生分布式数据库能够用一个系统同时满足用户 OLTP 和 OLAP 的需求,即 HTAP,避免了数据在 OLTP 和 OLAP 两个系统之间的复制、转换和加载(ETL),极大地简化了用户的操作,还避免了 ETL 导致的数据一致性问题。
● 降本增效是企业永无止境的追求,原生分布式数据库一个系统、一份存储,成本显著低于 OLTP 和 OLAP 两个系统的两份存储,不仅显著降低用户总体拥有成本,还避免了 ETL 导致的数据时效问题。
● 分库分表把业务及数据分拆到多个数据库,因此分库分表数据库无法实现 HTAP。
● 集中式数据库联机事务处理已经是开发困难且十分复杂的实时系统,分布式联机事务处理的开发则更加复杂和困难,需要长时间的、大量的实际场景打磨,门槛极高。这个极高的门槛,以及传统集中式数据库与原生分布式数据库在 SQL 优化器、事务处理和存储架构等方面的显著差异,使传统数据库厂商转型到原生分布式数据库并实现 HTAP 面临很大的挑战。
话虽如此,但不得不承认的是,特斯拉的自动驾驶系统还有待进一步成熟,一些人对自动驾驶的安全性和可靠性依然心存疑虑;原生分布式数据库的 HTAP 功能还有待进一步成熟,一些人对 HTAP 是否能够真正适用于生产系统依然心存疑虑。因此,使用体验就成了最好的广告。特斯拉因其长途续航、提速快以及自动驾驶的全新体验等特性,收获了众多“特迷”。它也是全球唯一一家取得 NHTSA 五星碰撞安全等级的电动汽车品牌;原生分布式数据库因其高可用、低成本、智能运维、机器利用率高等特性,获得银行、证券、能源、电力、社保等众多行业的信任,并被应用到了企业核心业务场景中。
03、开源开放
如果说上述内容是从社会发展与科技进步的宏观环境对比电动汽车与分布式数据库的成长轨迹,它们是如此的相似,那么在微观层面如某项产品的发展,电动汽车与分布式数据库的发展轨道形状也非常雷同,两者都遵循着“从大到小”的发展策略与开源开放的心态。
从大到小
电动汽车以特斯拉为例,从跑车到高端型 SUV,再到紧凑型 SUV 与小轿车,从面向小众到面向大众;原生分布式数据库的代表 OceanBase 从集群版逐渐演变出单机版,从面向庞大业务到兼顾小型业务。
这背后的发展逻辑是什么?
在一款汽车刚诞生时,没有订购量,更不会快速获得利润,因此,要做量产少、利润大的产品,后期当成本得以控制时,再量产利润空间小的产品。同样对于数据库来讲,比如 OceanBase 首先在支付宝这样海量数据的场景中落地,由于大业务不那么在意成本、机器配置,使用大容量的硬盘就比较容易,利用高配置环境支撑业务,再逐步优化,达到即便使用小配置,也能支撑大业务的目标。
开源开放
2014年,特斯拉宣布开放所有专利,在所有人怀疑其背后动机的时候,特斯拉已经认识到了自动驾驶是对汽车行业的颠覆性创新,即使其他企业拥有同样的电动汽车制造能力,特斯拉也自信其能够保证在电动汽车市场的领导地位。彼时人们对电动汽车的认可度还很低,特斯拉需要的是电动汽车产业崛起。
2021年,OceanBase 宣布源代码开源,与外界共享全球最领先的原生分布式数据库的核心。同样面对外界的质疑。OceanBase 坚定开源,一方面希望聚焦用户价值,解决用户的具体问题,另一方面期望与外界共建国产分布式数据库的生态,从另一条赛道超越“IOE”。
二者对开源技术的态度,正如《硅谷钢铁侠》一书中所描述的那样:“当马斯克在2014年宣布特斯拉将公开其所有专利时,分析师们试图确定他是不是在作秀或者其中是否隐藏了不明动机或者圈套。但马斯克的决定就是这么坦率,他希望人们制造并购买电动车。马斯克认为,人类的未来取决于此。如果公开特斯拉的专利意味着其他公司能够更容易地制造出电动车,那么这对人类来说是有利的,这些理念应该是免费的。愤世嫉俗的人一定会嘲笑他的观点,但马斯克已经计划好这么做,他在解释自己的想法时是真诚的,而且极为真诚。”
04、面向未来
今天,在汽车领域,纯电动汽车得到了越来越高的认可:
● 特斯拉 Model 3 标准车型,厂家标称续航里程达到了 675km,超级充电桩 15 分钟最大增加 279km 续航里程,续航里程和充电速度都在靠近燃油车。
● 2021 年底,大众汽车宣布,2026 年纯电动汽车占比 25%,2030 年纯电动汽车占比 50%,2040 年纯电动汽车接近 100%。
● 2019 年,宝马的研发总监还在怒怼纯电动汽车:“欧洲不需要纯电动汽车,而燃油汽车至少还能存在 30 年以上的时间”,然而,2021 年底,宝马宣布 2030 年纯电动汽车至少占比 50%。
● 2021 年底,丰田汽车宣布将在 2030 年前推出 30 款纯电动汽车。
今天,在数据库领域,原生分布式数据库取得了很大的进步,越来越多 benchmark[5] 的榜首被原生分布式数据库所占据:
● 国际事务处理性能委员会 TPC 的联机事务处理 TPC-C 性能榜,其榜首位置被 OceanBase 原生分布式数据库在 2020 年 5 月占据,性能约 7.07 亿 tpmC。
● 国际事务处理性能委员会 TPC 的决策支持处理 TPC-DS 性能榜,10,000GB 榜首位置被 Alibaba Cloud AnalyticDB 原生分布式数据库在 2020 年 6 月占据,性能约 19M QphDS;100,000GB 榜首位置被 Databricks Photon Engine 原生分布式数据库在2021年11月占据,性能约 33M QphDS。
● 国际事务处理性能委员会 TPC 的决策支持处理 TPC-H 性能榜,10,000GB、30,000GB 和 100,000GB 榜首位置均被 EXASOL 原生分布式数据库在 2021 年 6 月占据,性能大约都是 23M QphH。
此外,原生分布式数据库在行业内也得到了越来越高的认可和越来越广泛的应用。2020 年 11 月,中国人民银行正式发布分布式数据库金融行业标准,包括《分布式数据库技术金融应用规范 技术架构》、《分布式数据库技术金融应用规范 安全技术要求》和《分布式数据库技术金融应用规范 灾难恢复要求》这三部分,以指导金融行业的分布式数据库实践。近几年,不仅互联网行业大量采用原生分布式数据库,越来越多的银行、保险、证券、通信、能源和社保等行业的企业和机构也采用了原生分布式数据库。
【阳振坤(从电动汽车看分布式数据库的发展和崛起)】自动驾驶是纯电动车对汽车行业的颠覆式创新,纯电动汽车是汽车发展的必然选择;HTAP 是原生分布式数据库对数据库行业的颠覆式创新,原生分布式数据库是数据库发展的必然选择。