华泰证券“行知”云峰会:HTAP、云原生,彻底重构下一代数据库
作为开源分布式数据库的领导企业,PingCAP致力于前沿技术领域的创新与实践,其创立的企业级分布式关系型数据库 TiDB,已成为大数据时代备受欢迎的数据库集群和云数据库解决方案。在华泰证券“行知”新经济云峰会上,PingCAP联合创始人、CTO黄东旭带来主题演讲,分享在新基建的大背景之下,未来数据库的方向与核心能力。
数据库作为最古老的软件品类之一,从计算机刚诞生就存在了。在新基建进程不断加速的当下,只有更高水准、更符合业务需求的数据库才能应对不断加码的数据处理挑战,为新基建注入更多动力。
基础软件工程师眼里的新基建
作为一名从业多年的基础软件工程师,我认为新基建是以信息网络为基础,面向高质量发展需要的基础设施体系。网络、高质量发展、基础设施是我解读的三个核心关键词。
从底层网络来看,未来5G普及,万物互联,产生数据的源头可能是任何东西,会带来海量数据的存储和使用问题。要支撑数据暴涨,就必须用多个小时、多个服务、多个计算机组成一个大网络,分布式系统一定会成为主流。
关于高质量发展,作为基础软件的数据库,过去存在“卡脖子”现象,但随着大环境的变化,用户会更关注能否用更开放、可控的技术来控制风险并保证信息安全,所以未来国产化需求会越来越高,而且对产品质量的要求会很高,开源一定会成为主流。
基础设施方面,过去国内IT行业以发展业务为核心,重应用、轻基础设施,经过几年的演变,无论是资本市场还是国家建设层面,都将目光投向更硬的科技和基础设施,思维逐渐转变为应用、基础设施两手抓。
业务场景倒逼分布式数据库成长
在新基建的大背景下,做基础架构要认识到,数据是一切技术架构的中心,做任何系统本质上都是在存储、使用、变换和提取数据的价值。
数据最重要的落地形式就是数据库。过去大家提到数据库,总会想到上世纪70年代的一些“庞然大物”——Oracle甲骨文、IBM、DB2,而现在数据库背后的技术架构已经完全不同。有点像电动车和汽油车,看起来都是车,但引擎盖下的东西并不一样。分布式数据库,就是数据库领域的“电动车”,将逐渐取代传统的关系型数据库成为未来的主流。
这并不是几个天才程序员的灵感迸发,而是源自业务场景的倒逼。我们即使做了一个能存储一万亿条数据的数据库,但找遍全世界没有一个场景能够验证它的实际能力,那么也没有意义。而在当今中国,这样的应用场景却很容易找到。抖音、今日头条、快手、知乎……这些体量巨大的互联网公司拥有丰富的大数据量、高并发应用场景,倒逼着数据库革新,催生了分布式数据库的诞生与成长。
下一代数据库必须是HTAP
下一代数据库首先必须是HTAP(Hybrid Transaction/Analytical Process,混合事务分析处理)数据库。过去交易型数据库和分析型数据库是分开的,交易型数据库支持高并发、数据强一致,而分析型数据库能支持复杂数据分析,但无法支持在线业务,且消耗大量存储和计算资源。HTAP数据库则会将这两部分融合,适用于交易型和分析型数据库场景,能更快地对最新数据进行分析,实现实时业务决策。我认为HTAP数据需要具备四点标准:
无限水平扩展能力。当数据量超过一台机器的限制时,可以直接加机器自动拓展,这是当下乃至未来这些系统的基础。
支持分布式事务。在数据库中事务能否正确存储且不会丢失,这个很基础的要求在分布式系统里是很难的问题。
多数据中心故障自恢复的高可用能力。当集群变大,机器数量增多,即使机器坏了,也要让业务无感知,系统还能自我修复和愈合。
高性能实时分析。在这种混合负载下,能够一边在线交易,一边实时分析,互不影响。
我们的分布式通用数据库产品TiDB就应用了HTAP数据库模式。我们曾拿航空公司航班起降数据做过对比,航班起降每时每刻都在发生,TiDB在数据存储层同时支持行存和列存副本,做到计算和系统分离,在实时交易并同时分析的情况下,比老牌数据库的方案性能好很多。
云原生让数据库灵活、有弹性
分布式系统不会跑在笔记本上,而应搭载云原生,跑在数据中心里,下一代数据库的底座也必然是云。云使计算资源和服务变得灵活、有弹性,将计算资源和水、电、煤一样可以按需取用。过去我们在数据中心里是买方,做业务时需要按照规划购买服务器,如果估算错了就会带来资源浪费;但在云的环境下,可以直接从买方变成租方,用多了少租一点,用超了多申请一点。
那么,数据库应该如何适应云原生的环境?
首先需要的基础能力是调度能力。在底层资源具有弹性或具备多种不同的能力时,对于数据库来说,最重要的事情就是去选择这些能力的组合。以电商做秒杀活动为例,可能绝大部分数据是冷的,只有被抢购的商品那一小块数据是热的,系统要能识别出并直接针对这些小块数据快速申请服务器、创建新的副本、对外提供服务。数据库和软件要利用云提供的弹性能力对自身进行重塑、对能力进行组合。
而最重要的能力是平台化。未来公有云不会一家独大,作为数据库开发商,需要一套统一的“标准”来屏蔽每个云厂商的底层环境差异。
在数字化转型加速趋势下,云从根本上改变了每个人思考软件的方式,未来数据库系统的所有基础设施都将在基于云的基础上被重写一遍,将“复杂”隐藏在背后,把“简单”留给用户,这一定是属于数据库的明天。