PingCAP CTO 黄东旭
大趋势下,分布式一定是必选项。
IDC预测,全球数据量总和预计将从2018年的33ZB增至2025年的175ZB。而国内数据体量在未来7年将实现复合增速30%以上的快速增长,并在2025年成为与欧洲、中东、非洲、亚太和美国等地区相比体量大的区域,全球数据量即将迎来更大规模的爆发。在大体量数据场景下,传统数据库面临新一轮的问题与挑战,随着摩尔定律的失效,以前靠升级硬件实现Scale Up的方式已经不行了。让数据库Scale Out变成新的考虑目标。当数据量达到一定量级时,采用分布式数据库往往是必经之路。
2015年,以分布式强一致性事务、在线弹性水平扩展等为核心架构的TiDB上线,这一年恰逢我国提出“互联网+”,中国信息经济开始进入高速发展阶段,可以说TiDB是在合适的时机以款国产开源分布式关系型数据库的先发优势完成了起步。
有人用GitHub作类比,说市值75亿的GitHub都不需要分布式,你的也不需要。对此黄东旭认为,集中式数据库和分布式数据库并非替代关系,在不同场景中它们可满足不同需求,如果企业技术偏好单机式数据库并有强大的技术人员能负担起大量分库分表任务,或确认业务数据量不会特别大,传统数据库完全足够。但在业务高并发量的场景中,分布式能够帮助大多数企业降低技术门槛。不过在云上,数据库类别的边界会越来越模糊。
例如,在云服务上,看起来是MySQL的应用底层架构可能包含有高可用、副本、读写分离,虽然底层是分布式的系统但用户使用感是单机MySQL体验。对于用户而言不管是集中式还是分布式,屏蔽在云服务之下后,区分的意义便弱化了。
除分布式外,PingCAP的另一关键词是开源,也是TiDB的标志性符号。
开源,
这个时代基础软件想要成功的路径。
对于开源和商业化的选择,黄东旭认为,在当下,开源是必要选择。从生态角度,开源的研发模式能够迅速积累用户;从技术角度,开源加速了产品的迭代速度。
从2015年开源至今,TiDB 项目在 GitHub 上已总计获得超过 30000颗星,有超过2000家企业将其用于线上生产环境。
近年来,越来越多企业,包括很多传统企业,开始积极拥抱开源,甚至参与开源。例如,平安银行在应用TiDB时还加入了自己的理解进行了二次发布,且已在内部大规模应用。神州数码已经开始做TiDB的源码阅读,并在TiDB上支持了PG协议。
以开源为始,TiDB快速积累用户并驱动了更多社区开发者,产品也在不断迭代中迎来了企业数字化转型大潮,“海量、实时、在线”成为新的数据趋势,能够统一支持事务处理和工作负载分析的数据库成为众多企业的需求。
2014年Gartner的一份报告中使用混合事务分析处理(HTAP)一词描述新型的应用程序框架,以打破OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景,实现实时业务决策。之后,HTAP成为热点,被各大数据库厂商不断提及。
HTAP,需要满足四个标准。
对于处在风口的HTAP,黄东旭认为从基础架构来看,真正的HTAP需要同时满足四个标准:首先,HTAP必须支持的TP能力,要保障强一致、高并发和高可用;第二是要保证有列式存储的AP能力;第三,AP和TP间的数据必须是打通的;第四是保证两部分数据同步的同时要互不干扰。
历经四次迭代,TiDB从初的主OLTP,辅以OLAP的单引擎版本,到借助TiSpark外部引擎实现分析功能,再到拥有OLTP的主引擎+TiFlash分析引擎,直至在今年4月份发布的TiDB 5.0版本,TiDB才正式成为一款具备完整 HTAP 能力的分布式数据库,而MPP架构的加入也标志着TiDB顺利转变成一个一栈式的数据服务平台。
在不断完善基础架构的同时,PingCAP也开始向更广阔的商业服务市场探索。
未来,云原生将深刻改变数据库开发。
云服务灵活、弹性和分布式的天然优势,让数据库和基础软件行业看到了商业曙光。据Gartner发布的数据显示,到2022年,75%的全球企业将在生产中使用云原生的容器化应用。对于国内市场而言,在政策鼓励云计算发展和分布式改造背景下,在银行、电力等部门数据库国产化需求强烈等因素的影响下,国产数据库厂商在云时代将迎来黄金机遇期。
据介绍,PingCAP在两年前便开始将整体战略由DB转向了DBaaS(Database-as-a-Service,数据库即服务),TiDB在云上的平台化之路也让黄东旭感触颇多,“PingCAP在云服务方面投入的人力和资源,可能甚至已经比数据库内核还多,做一个完整的DBaaS服务,并不比从零开始做数据库简单”。
对于云原生的未来趋势,他也发表了自己的看法。“云原生数据库,它不应该是一个能被私有化部署的数据库,在云上更像是分工合作,在一个平台上将资源利用大化。对于设计者来说,过去数据库所有东西都是要跑在一些同构的基础上,但在云上可以把整个数据库不同的板块全都切分开,服务更加精细,比如日志的系统专门去调用云上日志的服务。再例如存储系统,可以根据数据的冷热,冷数据这一部分可以用云提供的S3,热数据可以用local LSD,这样能够极大地降低使用成本。未来,云原生的这些能力会深刻改变数据库开发模式。”
在数据库行业既有的云服务领域成功案例中,MongoDB和Snowflake是两大典型代表。MongoDB依靠云服务成功将数据库商业化,其旗下的DBaaS产品 MongoDB Atlas基本上每年都保持着超过的年复合增长率,而主打云原生的Snowflake更在上市之初便成为有史以来大规模软件IPO,一时风头无两。海外厂商热火朝天,国内企业也正在蓄力待发。
近两年,PingCAP创立的两大开源项目TiKV键值数据库和Chaos Mesh云原生混沌工程在先后进入到云原生基金会(CNCF)进行孵化后也取得了不错的成果。其中,TiKV已成为“毕业项目”,而Chaos Mesh也顺利进入了“沙箱项目”。基于这些项目的贡献,PingCAP在2019-2020年CNCF年度贡献度排名中位列中国企业,全球排名第六。
或许得益于三位创始人工程师出身,PingCAP自成立以来的每一次前行均与市场需求侧保持一致步调,TiDB从代到新的5.3版本,靠每年代码重写率达50%的积累与打磨,让产品在易用性、稳定性、可靠性得到了全面提升。如今,客户遍布海内外20多个国家和地区的PingCAP,像黄东旭曾说过的 “让全世界的开发者享受到我们的服务” 愿景一样,在全球数据库云服务赛道或将大有可为,值得期待。