共计 3057 个字符,预计需要花费 8 分钟才能阅读完成。
本文内容依据 PingCAP 高级副总裁范若晗在 BDTC 2021 的主题演讲:“开源走向世界”整顿而成,从合作形式和技术演进两个角度,分享了“开源”和“全球化”之间互相关联,密不可分的关系,分为高低两篇,[上篇介绍了开源如何构建全球化的舞台](),本篇主题为:从数据库技术演进看开源力量
咱们认为,数据技术演进的驱动力总结起来,次要包含三个方面:实践根底推动软件翻新、基础设施保障软件能力的实现、业务需要真正打磨了技术的一直工程化、产品化,是产品真正的“用武之地”。
数据库演进历史——基础理论驱动
依照工夫和性能维度,咱们将数据生态做了划分,大抵包含 SQL 生态,大数据生态,NoSQL 生态,NewSQL 生态,以及 SQL 的云化生态。每个生态的演进,离不开基础理论的倒退。
1970 年 IBM 的关系型数据库实践 Relational Model 包含 System R 原型产品的问世,为 Oracle、DB2、MicroSoft SQL Server 这些商业数据库的诞生奠定了根底。而后 MySQL、PostgreSQL 以开源这一状态取得疾速倒退和寰球最宽泛的利用。
2003 年 – 2006 年,谷歌三驾马车 GFS,MapReduce,BigTable 论文的发表,奠定了业界大规模分布式存储系统的实践根底。现如今十分风行的 Hadoop、Spark、MongoDB、Hbase 等也都是建设在这些实践根底上的。大家能够发现,这些数据产品都是用开源模式发展壮大的。因为闭源的模式迭代速度慢,单位成本高,曾经无奈应答海量用户需要了。
2012 年 – 2014 年,还是 Google 发表的 Spanner 和 F1,以及斯坦福大学的 Raft 论文,推动了 NewSQL 数据库的倒退。PingCAP 的 TiDB,也是对这些实践根底的产品化实现,并在此基础上不断创新。
数据库演进历史——业务翻新驱动
再来看看怎么了解刚刚说的“用武之地”,总体而言,业务需要体现在以下三个方面:一是 “事务个性”,也就是通常说的 ACID 原子性、一致性、隔离性、持久性。艰深来说,流程数字化、业务线上化都属于庄重业务,比方金融、电信等业务,以及企业级的 ERP、CRM,都要求牢靠的事务个性。
二是 “数据规模 ”,次要体现在互联网带来的海量数据暴发增长,不论是用户行为全面互联网化、或挪动设施带来的数据采集极大丰富,还是内容自身的发明造成的数据海量暴涨,从文本到图片、动画、短视频、长视频、游戏再到最近很热的元宇宙,都是数据规模增长因素,在疫情的极致推动下,各个行业的数字化转型又催生了新一轮的数据增长。
三是 “解决提早”,在挪动互联网及数字化的明天,对用户体验的谋求水涨船高,ToC 业务心愿更快地服务响应,从而抢夺用户的碎片工夫,抢夺商业机会,ToB 业务对数据处理也须要更迅速的业务响应,更实时的数据分析和更麻利的经营决策。
这三个因素在不同期间有不同的倒退,还有不同的组合,一直催生并落地了数据技术的倒退。不同的数据库生态,正是在业务驱动力的不同组合推动的后果。信息化时代数字根底弱,次要解决要害业务的准确性和效率问题,更多是小数据量的庄重业务,对数据有高度的事务个性要求,且数据结构稳固、规定清晰,数据量无限,这类需要关系型 SQL 单机数据库生态就能满足,要求的是效率和稳固。
2000 年左右进入大数据时代,通过信息化的长期倒退,数据有了大量积攒,新的数据也以前所未有的体量和速度减少,单机关系型数据库逐步有了吃力和老态的迹象。为了对海量数据进行存储和剖析,尤其是离线积攒的数据,各类高效、可伸缩、可部署在低廉硬件上的大数据处理平台纷纷锋芒毕露。
而后的互联网时代初期,内容和用户线上行为都极大丰富,但过后次要是海量非结构化的数据存储(视频 / 音频 / 图文 / 社交关系等)、但数据规模宏大,要求并发性流量、同时抢夺流量,疾速响应用户拜访、提供低提早用户体验的需要驱动了 NoSQL 生态的倒退。因为晚期互联网业务不以盈利为目标,要解决的数据更多是用户在互联网上的浏览记录,社交关系等,所以对于事务个性上就没有那么高的要求。
进入挪动互联网时代,随着数据量的迅猛增长,业务在保障良好用户体验的同时还要实现交易和变现,业务麻利除了要求零碎能疾速响应业务变动和数据增长,还要求高牢靠地反对海量交易、领取等庄重事务。能够看到,这期间业务驱动力的三要素都进入了视线。局部企业仍在通过 SQL 生态云化的过渡形式来满足,但咱们也在实践中看到,当用户的数据量尤其数据更新超过肯定领域,原生分布式的 NewSQL 才是先进架构的抉择。再加上数据技术都进入到全面云服务化的阶段,架构的差别就更加显露出来。
同时,实时洞察要求数据决策从 T+1 向 T+0 降级,甚至是秒级毫秒级的剖析响应,实时汇聚多源数据、动静更新并灵便计算都是一直呈现的需要,慢慢的事务性计算和剖析性计算之间的分界越来越含糊,数据库和大数据的技术创新会一直交融。
数据库演进历史——基础设施驱动
最初,硬件是软件发挥作用的基石,数据技术的倒退离不开基础设施的倒退。
从大型机到 X86 服务器再到云计算,基础设施部署实现了从“年”到“月”到“日”到“秒”的颠覆性改革,资源从专有、关闭到按需启动、弹性扩大。云原生时代再次把资源规模扩充,资源颗粒度放大,API 化、微服务化进一步把业务上线、更新的速度推到秒级。
将来,资源拆散的设计将在云上开释更大的威力。下面数据库倒退的时间轴只画到了 NewSQL,实际上数据技术还在一直进化。置信在这个过程中,开源可能施展的价值将越来越大。当初所有云的产品背地外围都来自于开源,翻新源能源也是来自于开源。以下是在 2021 PingCAP DevCon 大会上,东旭提出的一个大胆假如:云原生的时代,所有能拆散的都会拆散,规模效应掌控所有。这个拆散包含存储与计算的拆散、更极致的是不同目标的存储与存储的拆散,业务计算与分布式计算及事务性计算能够进一步拆散。一直把规模效应和资源效率优化推向极致,而对于用户而言,只须要关注业务自身就好,其余的都交给云端的数据库来实现。
TiDB 产品迭代的启发
在这三个驱动力作用之下,咱们能够总结下 TiDB 过来 6 年中产品的迭代来做个印证。
TiDB 产品最大的劣势是技术开放性,架构凋谢就意味着可能产生更多的连贯,更多连贯意味着更快的迭代速度、更多的可能性。TiDB 的初心是心愿提供一个原生分布式且良好反对 OLTP 事务的数据库,让咱们的 DBA 不再因为海量数据的分库分表加班熬夜。TiDB 1.0 和 2.0 解决的就是这个问题。起初随着数字化带来的实时化诉求,一栈式 HTAP 成为咱们的致力方向,随同往年 TiFlash MPP 的公布,咱们已实现全面的 HTAP 能力。
作为云原生的分布式数据库,咱们在往年推出了 TiDB Cloud,以及收费凋谢给开发者试用的 Developer Tier,用户能够在 Amazon Web Services 上收费运行 TiDB 集群一年。TiDB Cloud 负责基础设施治理、集群部署、备份治理等所有后盾数据库治理,让开发者能够专一于打造优良的利用,实现秒级切换。所有这些都基于开源带给咱们的迭代速度和翻新源能源。
最初用 RedHat CEO Paul Cormier 最近在电视采访中说过的一句话作为总结:Open source software is the heart of the technology behind cloud computing。
是不是开源,是不是要去做开源,是不是要把开源作为公司继续翻新的外在推动,我认为是每一家根底软件公司都能够去深度思考的一个问题。