ChatGPT的爆火,瞬间点燃了整个AIGC赛道。最关键的原因在于,它让大家看到了弱人工智能向强人工智能的跨越式发展。英伟达CEO黄仁勋对此评价:ChatGPT相当于AI界的iPhone时刻。
现在业界统一的共识是,AIGC会改变IT行业的方方面面。那AIGC对数据库会带来哪些变化,AIGC和数据库又会碰撞出哪些火花,这是一个值得我们去思考和回答的问题。
在回答AIGC对数据库的变革和影响之前,让我们先回顾下数据库发展历史。它可以分为六个阶段。
第一阶段是上世纪五十年代。这个时候数据库还在雏形阶段,以层状数据库和网状数据库为主,基础设施以大型机为主,主要用于国防和科学研究。
第二阶段是上世纪七十年代。关系型数据库出现,硬件也变成了小型机,这也奠定了数据库发展的方向。主要应用在金融,交通等关键行业。这时的代表数据库是Oracle和DB2等。
第三阶段是上世纪九十年代。PC机已经得到了普及,数据库除了关系型数据库,也有了PC单机数据库。为解决企业BI应用诉求,数仓开始出现。数据库的应用也更多样化起来,进一步应用到企业BI、个人办公、娱乐等场景。
第四阶段是本世纪的前十年。随着互联网开始繁荣,数据处理的需求逐渐增加,开始出现企业数据中心。业务也变成了媒体、搜索、电子商务、社交等互联网业务。由于传统数据库如Oracle因为价格较贵,互联网厂商大量使用开源数据库如MySQL、Redis、MongoDB等。整个开源数据库生态开始逐渐繁荣。数据库的种类,厂家也逐渐变多。
第五阶段就是我们今天所处的云计算时代。典型应用包括新媒体、各种移动APP、物联网、娱乐、短视频等。典型的数据库有RDS、Aurora等云数据库,以及Oceanbase、CockroachDB等分布式数据库。百度也有对应的产品,云原生数据库GaiaDB以及我们自研的缓存类数据库PegaDB等。
第六个阶段是自2023年开始的AI时代。底层基础设施变成了GPU和AI能力。应用也变成了AI原生应用,如海外比较火的Jasper、Midjourney,微软的Copilot等。在数据库行业我们看到至少两个方向,一个是AI4DB,其中包括阿里的DAS、百度的DSC等,主要是通过AI的能力去改进原有数据库的自动化能力。另外一个方向就是DB4AI,目前主要是向量数据库。向量数据库在解决大模型幻觉等方面,有非常不错的效果,是一个有潜力的细分赛道,头部公司估值已经达到10亿美元。
上面我们简单回顾了数据库发展的六个阶段。在这个过程中,我们还可以以2000年做分界线。在2000年前,国内数据库基本上被Oracle等海外数据库主导。而从2000年之后,随着互联网业务的发展,国内多个互联网厂商如阿里、腾讯、百度便开始尝试使用开源数据库,实现了从最早的运维、到提交patch、再到最后完全自研数据库的跨越式发展。
这背后从量变到质变的过程是一个典型基础软件发展过程。
一个基础软件真正得到长足发展,需要一大批高素质的技术人员,也需要深度场景的使用才能不断完善产品。另外丰富的场景和不断发展的业务,也能长期养活这批技术人员,进而形成正循环。所以说数据库的发展依赖于技术和业务的双轮驱动。
从2000年开始,我们看到三波浪潮——互联网,云计算和AI原生。我们接下来会分别来讲一下每一波浪潮为数据库行业带来的创新和变化,以及百度智能云数据库在这个过程中的关键技术和代表产品。
互联网业务特点是赢家通吃,所以互联网业务用户数规模通常比较大。因此天然要求数据库支持大规模、高可用、高可靠性、低成本以及高性能,这对数据库提出了非常大的挑战。
在第一波互联网业务的发展中,业务的挑战催熟了一系列开源数据库如MySQL、Redis、MongoDB,又从中孵化出了分布式数据库。
接下来我们来看下百度在互联网时代的数据库发展历程,这里有几个关键节点:
第一个是自2005年开始使用MySQL数据库,这也是国内最早使用MySQL的企业之一。
第二个是2014年百度推出公有云服务,百度数据库的能力通过百度智能云开始赋能给外部企业。
第三个是2020年发布了云原生数据库GaiaDB。百度也成为了国内少数几个具备自研云原生数据库云厂商之一。
截至目前,百度积累了18年的数据库研发经验,承载着内部PB级数据。10万+的节点至今零故障零损失。
通过百度智能云输出的一站式产品,覆盖RDS、NoSQL、OLAP、工具等领域,同时具备公共云、私有云、边缘云等软件版本多形态。
前面我们提到了互联网的一大特点,就是规模大。单点肯定处理不了,所以需要引入分布式技术,也催生了分布式数据库的诞生。
百度在该领域也有非常成熟的技术,讲两个实际的案例:
第一个是百度网盘。百度网盘有8亿用户,整个数据库中单表最大超过10万亿条记录。整体集群超过3000台服务器,是国内最大的数据库集群之一。
第二个是金融行业。大家都知道金融行业对一致性、数据准确性有非常高的要求。度小满金融有3亿用户,年度结算金额超过万亿,其底层使用的就是百度智能云分布式数据库GaiaDB-X。
尤其值得一提的是在2019年春晚红包业务中,整体交易的峰值是12万笔/秒。数据库的分布式能力、性能、一致性、准确性都得到了充分验证。
除了度小满,百度智能云的数据库还在多家国有大行、股份制银行和城商行中稳定运行。
互联网业务除了规模外,对性能、并发等也提出了很高的要求,因此诞生了一系列NoSQL数据库。不同的NoSQL数据库从不同层面解决互联网垂直场景的问题,今天我们讲其中的代表Redis。
为了解决性能和成本的平衡问题,百度智能云自研了PegaDB。PegaDB是在开源基础上自研的容量型Redis产品,相比内存型产品最多节省超过90%的存储成本。在成本下降的同时,PegaDB也兼容了Redis丰富的数据类型和命令,让用户做到无缝迁移,兼顾了用户体验和性能优势。
除此之外,PegaDB还有两个杀手锏功能:
一是支持在线弹性伸缩,单个集群最大规模可达PB级别。对用户来说不用估计使用量,只要傻瓜式即开即用即可。
第二个是支持CRDT同步的组件,支持异地多活和多节点同时访问、自动进行冲突合并等功能。这就让客户专注于实现业务逻辑,其他的都交给底层的数据库,完全不用操心可用性问题。
随着云业务的诞生,让数据库的价值进一步放大。为了赋能千行百业,全托管等形态的RDS顺利成章的诞生了。它解决了客户最直接的安装、运维、管理等问题,因此全托管的RDS就逐渐推广开来。
但单体RDS通常有比较明显上限,在一些对性能、成本、弹性有一定要求的复杂业务中,就需要一个更强大的数据库来解决这些问题。因此,存算分离的云原生数据库就自然而然诞生了。百度智能云的云原生数据库GaiaDB是其中的代表之一。
RDS全托管的产品形态代表了云计算从软件到服务的理念转变。云原生数据库极大地提高了MySQL数据库的上限能力,是云数据库划代的产品。
云原生数据库最早的产品是AWS的Aurora。AWSAurora提出来的Thelogisthedatabase的理念,通过把大量的日志操作放到后台异步处理,实现了存储独立扩展和存储计算分离,从而解决了MySQL数据库单库的数据量不能太大的最大痛点。
而云原生数据库在存储层面实现了扩展的同时,又保留了计算层面的不变和兼容。这种兼容+扩展的能力,受到了客户的极大欢迎,一下子就让云原生数据库成为各个厂商的发展重点。云数据库技术也标志着云厂商的产品能力开始和传统数据库厂商、开源产品开始拉开差距。
第一个是共识协议。一般使用Raft/Paxos分布式协议的数据库,单次I/O需要至少两次网络往返,而且无法并行。这也就导致了分布式数据库时延很高,长尾问题更突出。
针对这个问题GaiaDB创新采用了Raft和Quroum结合的协议。其中Raft负责控制流,Quorum负责数据流,进而减少网络往返。同时核心链路上的同步I/O变成异步I/O,在保证分布式一致性的前提下,吞吐提升了40%,时延降低了30%。
第二个是高性能智能网络。存算分离在带来分布式和弹性的同时,也引入了网络I/O的消耗,因此网络I/O的性能和效率直接影响整个系统的表现。GaiaDB采用高性能智能网络,这个网络有几个关键技术能力:
第三个是提供了三副本对等存储能力。由于采用了Quorum分布式共识协议,相比传统的Raft模型,每个节点都可以独立提供读写服务,没有单点故障。
第四个是多地多活。GaiaDB是目前业界唯一可以做到多地多活的云原生数据库。在多地部署的时候,GaiaDB模块的自适应就近访问策略可以感知元数据的变化,并根据这些变化及时切换访问路线。这种策略可以有效地应对各种故障和异常情况,确保数据的可靠性和可用性。
第五个是使用通用硬件,对硬件要求低。GaiaDB生于云,但同时GaiaDB的架构对硬件的依赖度非常低。我们和很多厂商使用高性能硬件的思路不同,我们认为云的价值是普惠,所以一定要让通用服务器能发挥专业数据库的能力。因此,不同于很多云原生数据库需要依赖底层高性能的硬件,GaiaDB从设计初就坚持使用通用服务器。因此在私有云场景下,三个节点就可以进行部署,让我们的客户可以低价享受到云上云下一套架构。
接下来我们来看一个GaiaDB的实际案例——百度地图。
百度地图是国民级别应用,日活用户5.6亿,PB级数据。这对数据库也提出了如下的挑战:
大规模数据量、异地多活、弹性扩缩容要求,这些要求对数据库是极大的考验。
在实际使用过程中,GaiaDB提供4个9的可用性,RTO切换小于3s,RPO=0,整体QPS超过百万级别,给业务实现超过60%的资源成本节省。
总的来说,GaiaDB成功帮助百度地图实现了极致的弹性和成本。
云上数据库和线下数据库相比,一个较大差异就是生态能力强。相比传统线下软件只有1~2款产品,线上有多种数据库与多种使用环境,因此数据库矩阵更丰富,这带来了对数据库工具的诉求。
百度智能云有丰富的数据库工具,包括数据传输DTS、数据库智能驾驶舱DSC等产品。我们先讲其中的代表DTS。
百度智能云的DTS采取了中间抽象的数据格式,通过中间格式的翻译和转换,可以轻松做到异构迁移能力。同时DTS在吞吐上可以做到每秒15万行,延迟做到毫秒级别,基本等于网络的延迟的性能,让客户可以放心使用DTS来做数据库的迁移和同步。
在AI原生时代,数据库和AI的结合主要有DB4AI和AI4DB。
首先是AI4DB,就是利用AI技术赋能数据库。常见场景有智能运维、智能客服、参数优化等等,刚刚提到的百度智能驾驶舱就是该领域的代表。
另外一个方向是DB4AI,通过数据库赋能AI产品。当前最火的就是向量数据库。向量数据库二次的翻红主要原因是向量数据库在解决大模型幻觉、知识更新不及时有很大作用,让向量数据库的想象空间一下子变大了。
AI4DB在工业界一直有研究。相比传统机器学习算法,大模型让AI4DB真正走进实用时代。利用大模型的能力,百度智能云数据库发布新服务:数据库智能驾驶舱。
数据库智能驾驶舱利用最新的大模型能力,实现数据库智能化的洞察、评估和优化。根据我们的实际测试效果,优化效果非常显著:
下面我们来看下数据库智能驾驶舱内置的一个能力——智能问答。
这个功能可以帮助用户诊断产品问题并回答各种疑问,降低人工投入。这里面用到了大模型通用知识的能力,同时也利用RAG技术,把云产品文档、数据库的官方文档、内部积累的知识库进行向量化并存在向量数据库中。
在查询的时候,结合大模型和向量数据库的能力,可以给出相当准确有效的答案。
目前数据库智能驾驶舱经过验证,对历史客户工单中真实问题进行回答然后由人工进行打分,整体回复平均超过4分,基本可以媲美普通售后工程师的水平。
接下来我们实际来看下智能问答的一个demo。
左边的例子是询问知识库里面已有的例子,比如怎么购买,怎么实现一个读写分离的配置等。智能驾驶舱都总结得比较好,回答也非常准确。
右边的例子是询问知识库中没有的例子。我们可以发现,智能驾驶舱利用大模型的能力,可以举一反三,把解决问题的步骤给出来。我们人工去检查也会发现,这个步骤还是相对比较合理的。
所以现在智能驾驶舱的智能问答可以做到:有资料的问题准确回答,无资料的问题也可以给出相对清晰的解法。百度智能云内部已上线了该功能,大大节省了人力。
DB4AI的典型代表就是向量数据库。向量检索并不是一个新技术,2017年Meta就开源了相似度检索库FAISS,算是向量化检索的开山鼻祖。
传统数据库解决的是结构化数据的存储和检索,非结构化数据需要先用AI算法Embedding成向量数据。需要查找的时候,把需要查找的数据的向量带过来,然后在库里面进行相似度检索。
而向量数据库核心能力就是支持向量数据存储,以及支持不同的查找算法和索引实现相识度查找。当前业界有两种不同的实现方式,一种是在传统数据库中增加插件或者功能支持向量的查找,比如PG,Redis都支持向量索引。这种实现相对来说容易一些,但同时性价比会差一些,通常会占用更多内存。另外一种是专业的向量数据库,专门为向量重新设计的存储和索引结构,能实现更高的性价比和弹性。
传统应用也有不少向量场景。典型场景有平安城市视频检索、电商领域以图搜图等。由于传统场景比较垂直,因此一直没有一个大的向量数据库,更多的是耦合在业务系统中。而在大模型时代,万物皆可向量化。而且当前大模型主要问题有知识更新不及时、精确性问题、数据权限管理等问题,都需要向量数据库来补充。向量数据库也因此成为大模型的标配,也在大模型时代二次翻红。
百度智能云自研的专业向量数据库目前在内测阶段,根据我们内部实际测算,在成本、规模、高性能算法、内置Embedding模型、向量+标量的联合查询方面,相比业界有很大的提升。
前面我们介绍了关键的产品,最后简单回顾一下百度智能云产品矩阵。
百度智能云数据库完整支持RDS、NoSQL、云原生数据库,OLAP等产品。相比业界其他云厂商,百度智能云数据库有两个显著特点:
前面我们盘点了数据库在互联网、云计算,AI原生3个阶段的发展。除了技术之外,我们认为云数据库未来还要坚持两个重要的理念。
第一个是体验优先。一个好的数据库不能只是性能、成本这些方面。体验好的产品,可以让用户做到自服务。体验优先这一点在海外SaaS产品中体现得更为明显。在国内,这一理念也逐渐取得从业者的认可。因此,在过去的半年里面,我们从文档、控制台、产品功能各个层面进行了深度优化:
我们对体验的理解就是从用户视角入手、坚持细节、系统性的进行优化,只有通过这种深度,全方位的持续改进,才能把体验做到实处。
第二个是开放生态。丰富的生态是吸引客户、解决客户多样诉求的关键。也只有开放的生态,才能让更多的厂商一起服务好客户。
生态方面,百度秉承更开放的心态和第三方厂商合作。上半年我们和工具领域知名创业公司NineData正式合作,接下来会马上官宣另外一个合作厂商。
相比其他厂商,我们合作的过程也不只是简单的云市场合作。我们会和合作伙伴一起进行产品共建、优先推荐合适客户给合作伙伴、首页曝光和联合的品牌活动,增加合作方的知名度。
通过一系列的手段和措施,我们希望给到合作伙伴的是切实效果。百度智能云合作的理念就是更开放,让利合作伙伴。欢迎更多的合作伙伴和百度联系,一起服务好我们的客户。
总的来说,一个体验优先,生态开放的云,一定是客户最需要的云,也是真诚服务客户的云。
站在当前看未来,数据库当前有四个关键发展趋势
技术和产业发展都很快,百度智能云数据库持续跟进最新的技术趋势,用优质的产品和真诚的服务回报我们的客户。