首页 > 编程知识 正文

企业级数据架构(企业级大型数据库)

时间:2023-05-06 09:45:56 阅读:102033 作者:3977

数据库领域充满机遇和挑战,越来越多的企业开始思考下一代数据库技术。

在上周结束的2019数据技术嘉年华上,阿里巴巴集团副总裁、阿里巴巴云智能数据库事业部负责人李菲菲与大家分享了下一代企业数据库系统。

数据库:云应用的关键环节

如今,企业上云是大势所趋。在走向云的过程中,数据库被认为是云的重要组成部分。云最初提供了IaaS,随着各种智能应用的兴起,数据库成为连接IaaS和智能应用的关键。

阿里巴巴云数据库中国云数据库领导者

目前,阿里巴巴云是中国乃至整个亚太地区排名第一的云数据库服务提供商,全球排名第三。阿里巴巴云的核心产品涵盖OLTP数据库(包括POLARDB等)。),OLAP下一代实时分析数据库——AnalyticDB,NoSQL数据库及专用数据库,数据库生态工具等。

同时,阿里巴巴还有达摩院数据库实验室,主要负责一些数据库领域的前沿探索,比如全链路加密数据库和智能数据库的探索。阿里巴巴云提供了丰富的云数据库产品,从公有云到专有云,再到今年刚刚推出的数据库一体机,可以为各种形式的数据库产品和系统提供强有力的支持。

那么,面向未来的企业数据库的技术和产品应该是什么样的呢?让我们来看看。

系统进化

系统的发展经历了从最早的关系数据库OLTP到半结构化,再到分析型数据库OLAP等非结构化数据库,再到今天的多模态数据库。

多模型多模式数据库系统

如今,数据库技术面临着许多挑战,其中之一就是多模型多模式数据库系统,该系统在业界已经有许多类似的产品。对于多模来说,可以分为南、北两个方向,南多模代表了多种存储,用统一的查询语言查询不同数据源的数据是数据湖的概念。

另一种是北行多模式。数据存储一般只有一种模式,比如KV,但希望提供多种查询接口,比如地图、文档。上面提到的北方多模和南多模是多模的两种不同形式。

智能自动数据库控制平台

随着今天数据库技术的发展,我们可以把它想象成一辆汽车。它的参数很多,在行驶的过程中会在不同的道路上行驶,周围还有很多其他不同的车。

如何相互协调,如何展现发动机的优势,其实和自动驾驶汽车非常相似,所以被称为“自动驾驶数据库平台”。在此基础上,阿里希望实现自我认知、自我决策、自我恢复、自我优化,这也是下一代智能数据库的基本定义。

新硬件:软硬件一体化设计

未来,下一代企业级数据库必须结合软硬件一体化的设计理念,不能将软硬件割裂开来。只有软硬件结合,才能充分发挥数据库系统的优势。

比如NVM会极大地冲击和改变传统数据库的保护机制,也会极大地改变内存的使用和管理。RDMA又是一个例子,它使得数据库访问远程节点的数据非常快,成为存储和计算分离技术的基础。

云原生架构:灵活性x高可用性x企业实践x开放生态

如今,行业内有各种各样的数据库,大致可以分为三类。第一类是单节点数据库。对于单节点数据库,计算节点和存储节点紧密耦合在一起。

传统的单节点MySQL、PG以及Oracle、SQL Server等商业数据库都是基于这种架构。单节点架构的优点是开发简单,部署容易,缺点是扩展性差,可用性高。

分布式体系结构将数据分割并存储在不同的节点上,并将许多单节点体系结构挂在它下面。其特点是横向扩展性强。当数据量增加,并发量增加时,只需要添加节点。缺点是,如果上层业务逻辑没有改变,它必须能够处理分布式事务和分布式查询。

云原生架构的逻辑:云上的资源是“想当然的”

尽,用之不竭”的,只要愿意付费,只要客户有需求,理论上可以无限扩容。而云上最大的需求就是要有非常好的弹性,当需要资源的时候,可以取之不尽,用之不竭;当不需要的时候,则可以把它全部释放掉。

弹性就如同家里的自来水一样,需要用的时候把水龙头打开,不需要的时候就关掉。而传统线下的数据库使用方式更像是一个蓄水池,里面分配的服务器等资源是固定的,当将水位估计好之后,就只需要蓄足够多水就好了。

云数据库能够为用户提供弹性使用方式,通过存储和计算分离,把分布式存储节点通过网络连起来,使得访问远程节点就跟访问本地节点一样快,使得用户无感知。

下一代的企业级数据库:云原生+分布式

下一代的企业级数据库架构应该是将云原生架构和分布式架构结合起来的。底下的每个Shard都是云原生数据库,存储与计算分离,因此每个Shard的弹性都非常好,能力处理的并发量也都非常大。

因此,对于同样的需求而言,所需要的Shard数量就会大大减少。阿里云的POLARDB分布式版数据库就将云原生能力和分布式能力完美地结合起来。

完整的生态体系

阿里云数据库不仅在云上提供服务,还会支撑整个阿里巴巴集团内部经济体的所有活动。2018年双11,在零点刚过的第一秒,阿里的数据库系统峰值增长了大概122倍,瞬间爆发,这就需要数据库具有较高的可扩展性、弹性以及高可用。

开放生态,拥抱开源

阿里巴巴在开源社区也做了大量工作,比如在MySQL社区中所做的工作也得到了社区高度认可,也拿到了社区的各种奖项。此外,在PostgreSQL上替代传统的统计查询方式进行优化,能够支持OLTP和OLAP一起完成混合负载任务。

云原生数据库:POLARDB

接下来重点分享阿里巴巴自研数据库核心技术的理念和突破,也就是如何把前面提到的云原生和分布式架构有机、完美地结合起来。

阿里自研POLARDB数据库,其架构的上层有多个计算节点,计算节点下面有一个分布式共享存储,通过RDMA网络连接。目前,公有云上线的POLARDB版本能够做到16个计算节点,在POLARDB 1.0版本中做到了一写多读,目前不仅是国内,包括东南亚等国家都有很多案例,而且客户通过大量的测试和尝试发现,阿里云POLARDB的性能和稳定性都非常优秀,这就能够看出来阿里云数据库是非常靠谱的。

对于数据库,尤其是OLTP系统而言,客户往往将自己的身家性命压在这里了。所以,POLARDB的架构非常具有竞争力。目前,1个POLARDB实例可以做到100TB的存储容量,单节点可以做到100万QPS。

POLARDB架构细节

具体而言,在共享存储里面实现高可用,把数据分块形成Data Chunk,每个数据分块会备份三份,通过Parallel Raft协议在分布式共享存储里实现高可用,使得用户无需担心数据丢失的问题。

此外,在POLARDB 2.0版本将会实现多写多读以及跨区的高可用。POLARDB前面有一个Smart Proxy,这个Smart Proxy负责负载均衡以及读写分发等工作。

POLARDB并行查询:27倍性能提升

除了在架构方面的优化,POLARDB在数据库内核中也做了大量优化。其中一个是并行查询。众所周知,传统数据库如Oracle、MySQL等都是单线程查询。而今天几乎所有的CPU都是多核的,想要充分发挥这些硬件的能力,就需要数据库的引擎具有很好的并行查询能力。

因此,阿里云数据库团队围绕并行查询做了大量工作,对于数据库的SQL解析器、优化器以及执行引擎全部进行了重写,可以支持多线程并行执行。对于数据库中较为典型的Group By等查询的速度提升非常有利,平均能够达到27倍的性能提升。

把云数据库带回家:POLARDBBox,高性能一体机

今年9月底,POLARDB Box高性能一体机正式发布。在10月已经有10个落地的实际案例,其中两个已经正式签约。POLARDB Box高性能一体机具有以下特点:高度兼容Oracle,完成超过1000多个Oracle兼容项的优化。

一个盒子里面能够支持1000多个Vitual CPU,9TB内存以及120TB闪存。POLARDB Box高性能一体机也具备并行查询优化的能力,同时,也具备非常强大的时空数据查询引擎。

此外,通过阿里云数据库迁移工具ADAM和DTS以及AnalyticDB形成的一整套生态,能够让客户非常简单地把云数据库带回家。

POLARDB Box高性能一体机和传统一体机有什么不同?最核心的部分是POLARDB Box高性能一体机里面的管控平台就是阿里云公共云的管控平台,也就是说POLARDB Box高性能一体机的管控是和公共云打通的。

如果用户还未想好是否上云,那么可在IDC里面先使用一体机方式享受云数据库的性能,后续上云就变成无缝的过程,甚至可以采用混合云方式,一部分数据上云,一部分数据不上云,因为云上和云下的管控是打通的,对于用户而言是无缝管理的体验。

POLARDB-X:分布式版本支持水平扩展

POLARDB-X分布式版能够完美地结合分布式与云原生的能力。比如在阿里巴巴集团的双11场景下一定要做分库分表,此时仅有计算分离、弹性这些还是不够的,一定要做分库分表,否则是无法支撑瞬间122倍流量峰值的。阿里云POLARDB-X在分库分表的基础之上加上了云原生的能力,这样就可以减少跨库查询概率。

智能化OLAP:AnalyticDB实时交互式数据库

除了POLARDB,阿里云在智能化OLAP方面还拥有实时交互智能数据库——AnalyticDB,能够支撑海量数据处理分析、向量分析等。

在数据分析领域存在大量的非结构化数据,而如今每天产生的80%数据都是非结构数据,比如照片、视频等。

那么,如何把非结构化数据在一套系统里面无缝地进行交互式分析呢?阿里云数据库团队就做了向量处理引擎,首先将非结构化数据实现向量化,在高维向量空间中进行处理。AnalyticDB中就实现了向量处理引擎,这样就可以在向量空间中把结构化数据和非结构化数据实现融合处理。

AI for DB-DAS:智能化数据库管控与内核

除了架构上、技术上的突破,除了云原生和分布式之外,下一代企业级数据库的另外两个核心关键词应该是智能化和安全。所谓智能化就是智能化管控云内核,这一部分在阿里巴巴内部已经落地了,阿里巴巴全网的几十万个数据库实例上面都会有Agent,去采取实时的运行状态,进行实时监控和预警。

其中一部分工作是自动调整数据库Buffer的大小,这对于数据库的性能和成本具有非常大的影响。阿里云数据库能够实现在保证全网性能不发生较大变化的情况下,通过自动调整数据库Buffer的大小,平均每天可以节省内存使用成本达15%以上。

云上数据安全

云上数据安全也非常重要。传统数据库安全方法只是保证数据在传输过程中的安全以及加密,但数据真正进入数据库内核进行处理的时候还是要进行解密的,这时就会有数据泄露的风险。

针对这样的问题,阿里云数据库团队就实现了全链路加密数据库。全链路加密数据库使得数据进入数据库内核之后,依然不需要解密,而且数据库加密的密钥是客户提供的,不需要提供给云厂商。全程来讲,云厂商即使作为Root管理员也没有办法看到用户的数据。

数据传输云服务DTS

数据上云的第一步一定是寻找到一条上云高速公路。阿里云数据传输服务DTS,能够将不同源端数据库迁移到目标数据库,这里涉及的核心技术挑战就是如何在复杂的网络以及部署环境下实现不同源端和目标端的用户数据迁移。

拥抱开放生态,携手客户与开发者共成长

下图展示的是整个阿里云数据库的布局情况。阿里云希望拥抱开放生态,携手客户与开发者一同成长。阿里云希望能基于自身的两个核心的自研数据库产品——POLARDB和AnalyticDB以及上述提到的数据传输工具DTS等26款产品和服务,共同打造具有中国特色的数据库生态。

数据库系统不一定要开源,但一定要拥抱一个开放的标准生态,以此来避免从一个封闭系统走向另外一个封闭系统。

数据技术嘉年华PPT来啦!

获取方式:关注“阿里数据库技术”公众号,后台回复以下关键字回复【嘉年华】获取《POLARDB产品架构与实现》PPT回复【智能】获取《阿里巴巴智能化运维探索》PPT回复【PG】获取《PG为什么这么火?》PPT回复【最佳实践】获取《Oracle数据库异构上云最佳实践》PPT

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。