软硬联合创新:打造极致压缩比的高性能瑶池数据库
内容介绍:
一、AMD EPC赋能阿里云数据库
二、AMD YC全面赋能阿里云数据库
三、小盈科技的Polar DB最佳实践
四、基于阿里云新硬件完成储存规模的拓展和性能演进
五、阿里云资源存储部件针对云数据库的应用历史和演进
在《数据库专题:数据的高效存储与管理》会议中将介绍Polar DB自研Smart SSD进行on-SSD数据压缩和加密,结合自研Ali SCM持久内存实现延迟降低30%、存储成本降低40%的技术。
一、AMD EPC赋能阿里云数据库
在本章节分享非常多的阿里云资源的一些新硬件和采用市面上最新的硬件。阿里云的Polar DBde 自研分布式储存完成了做重要的一次产品升级,升级为deepC。已拥有通用的ECS通用的存储,为何要去开发deep C,实际很简单,就像oracle有自己的action data,其实有自己的deep C的目标是通过最新的硬件来进行快速的软硬件协同的演进,大幅降低数据库成本的一个性能,然后通过云计算的方式将新硬件新技术快速分享给客户,所以这是DBC的一个使命。
二、AMD EPYC全面赋能阿里云数据库
本次分享AMD在用ICPU对于阿里云基础设施和云数据库的支持,并附能阿里云的一些数据库更加和AI的支持。
实际是弹性计算和存储,包括在阿里云基础设施的一些创新和发展,同时飞总也分享了在数据加AI实现一个原生的数据库。AI目前时比较热门,而且在落地额一些产品,所以在大背景和环境下,AMD顺从了AI 的热潮,同时为整个AI和计算力世界上提供很高的算力。我们提供了一个包含CPU、GPU、SA以及DPU在内的一系列产品对各行各业算力都提供了很大的支持。
第一个是通用阶段,一是ABC高性能计算,另外是云计算,在云计算中实际上更强调的是AI ,即机器学习和AI。
这上面是目前比较流行或正在落地的一些应用,各种大模型及应用或数据库、通讯计算等都是和AI紧密结合,并且在落地。同时,AMD也提供了一些与网络侧相关的,包括收购的一个DPU。即从AMD角度提供了全方位的一个产品,所有的CPU GPU IBGA加上DP,我们都提供一个高性能计算的基石,那么阿里云的一些基础设施暴扣哦各种计算、云计算还有在数据库这边都提供了一个比较坚实的基础。
CPU是AMD作为世界上唯二的叉86的CPU计算的一个供应商,或者是领导。那么其中有很多技术创新比较符合长期计算的创新和发展的思路。包括在叉86架构上的更新和创新外,此处有两个比较重要的技术创新点。
一是一个小芯片和架构。使得现在的密度,即单颗CPU上的密度和计算效能大大的提升的可能。这突破了摩尔定律的技术创新。
二是3D封装,目前所有包括小芯片在内,对于CPU上各种有不同的需求,那么对于一个cash,即一个缓存的需求量是不同。对于各种各样的需求上,我们都可以提供满足各行各业或应用场景的需求,其中包括一个大概的需求,所以采用3D封装技术。从epic,所谓翻译叫EPYC,就是骁龙的epc系列。从2017年始,发布了纳普罗斯,2019年发布二代罗马,2021年发布了米兰,到第四代2022年11月,发布了解诺,那么目前和阿里云所合作的左右基础设施,包括给数据所提供的第八代的产品,我们现在的第四代解诺到第七代,即每一代的技术核心阿里云都和MD紧密的合作去获得所谓的技术演进和创新的红利来达到不断日益增长的计算需求,这是满足的计算的需求。
最后是即将发布的第九代的云实例,即基于AMD的第五代的ip的CPU,骁龙系列的CPU也很快发布。之前所提到的任何一代,X86的架构永远会有技术创新包括前端、后端、计算单元,我们都会有一个创新。这里是一个数据库用测试软件,为何,CPU上的架构也在其中提,那么CPU不但要包括架构上的更改,而且在软件上的优化一定是要和CPU架构紧密结合,所以说也就是一个比较成熟或比较优化的软件,一定要依赖于和底层的cpu或基础设施的供应商来进行比较深度的合作来调优。这就是所提的阿里云第八代的实例。 对于AMD,第四代E系列的一个产品,其中有最高的9核心,当然另外一个产品系列到128核,它利用了五纳米的工艺,同时,PCIE与其IO以及memory通道会大大提升,也就是12个外面通道,也是可做到一个核算比。
在这核密的一颗CPU里面96个核心的情况下还可满足更高的内存容量,同时可提供更多更高的带宽,我们所提供的设施是世界上或目前最好的一个CPU和密度最高的一个CPU,前段时间友商发布的只有60核最高,在下一代时,我们可能突破更高的和密度的一个,截至到ip系列、截止到杰诺瓦这一代时,所能提供世界上很多突破世界纪录,其中包含很多的数据库、很多的商业软件和性能上,这是大家可在网上搜索到的。
接下来将从几个维度快速给大家浏览IP数据库芯片的算力有多强,同时和友商之间对比。比较典型的64核、96核和友商之间比,就是48核、60核比,包括CPU级别上,单核CPU的核多,那在96核的情况下,可以达到80%的提升,也就是1.8倍。
那会产生疑问,CPU是多,60核、96核心差1.6倍,那么在同样的情况下,同一个CPU在核数提升很大的情况下,平均的单核或CPU均核上,还可提升12%,这是96核,那对于64核可以提升24%,就提供更多的。所以利用不同的的或称为这类的架构,还有叉86的创新,同时也更好更高的工艺来达到更好的性能的收益。
众所周知,在CPU或数据中心或云算力的行业,算力只代表一方面的同步,还有一个算能是自然效能的问题,即目前所说的降本,那么同时提升算力的绿色环保,即节能减排,这个理念一直贯彻在里面。对算能效能,在同样的功能损耗的情况下,提供更高的算力。那么在A里面,一定会达到更好的效能,和友商相比,可大大提供很高的性能效能。这是前面所提的CPU级别的性能比较。
在数据库上,我们可采用第三方数字。前面所有CPU数字,我们都可从spec URG公开数据里拿到。在阿里云实例,这是从第三方测试数据上来说,对比相当于用阿里云三个比较流行的实例,大家可以看到,所有的数据库,包含java在内,其性能都是远超友商的实例。在阿里云上面,也实现了比如队员阿里云所有的数据库产品,我们都可以提供更高的应用。
最后,所提的数据加AI来打造数据库或阿里云的产品的主题上,AMD的一个ip相同系列,不论是从软件还是底层硬件的创新还有更高的投入到后续的方面,我们一直和软件上要深度的合作。同时,从长远来看,不单路标上要有一代一代的演进和创新,同时路标的长远也保证所有的数据产品或软件产品会让客户最终无缝切换,用户体验用不掉价。
三、小盈科技的Polar DB最佳实践
主要分享三部分,一是业务介绍和选择PDB时面临的挑战;二是选择PDB和切换PDB的心得;三是关于后续一些业务价值和展望。
小盈科技自2014年成立,到今年时第十年。公司、企业文化及团队是非常好的。
今天分享的数据库有几个关键词,一是中枢神经,二是确保系统的整个高效、稳健的基石。希望读到此的大部分运营背景为基础的同学知其然、知其所以然。
其次介绍业务发展过程中面临的痛点与挑战。第一,由于业务在逐渐发展以及系统的快速增长,传统的云数据库的业务发展存在瓶颈。主要是四点。一是性能出现瓶颈,就数据库一块,可能更多的出现join的种子、查询、复杂查询,甚至有些业务存在历史原因,可能要在几十秒才会返回结果。二是数据增长过快。既使做定期清理、归档、数据处理以及碎片处理,但仍然存在一些实例,由于历史研究一个实例有几十个T单表时,也有可能两个T的量,甚至单表的行数超过了几十亿的增长过快的情况。三是资源浪费。传统数据库光用存储数据量的增长可能还不够。传统数据库在数据增长的同时可能还需要去做配置上的增长。此时,会发现配置随着容量增长,成本也极大增长。四是做业务支撑时,有些业务会有一些或明显波峰的情况。传统数据库可能在弹性扩张方面不能满足我们的需求。真正在性能出现瓶颈、数据增长过快以及老板疑惑成本一直居高不下的情况下,内外部期区在那一刻对齐了颗粒度。
业务发展对数据库的需求其实回归到那几点。一是极致性能,不仅是简单的解决读写,而且是对复杂查询的支持;二是需要灵活的弹性,会计算节点和存储节点要分别做灵活的弹性;三是对要降本增效、满足弹性的业务诉求下,同时带来成本下降,这是业务发展对数据库的一个整体的需求。
首先介绍在选择新数据库方案时,当时面临查询,包括DDL的一些要求时,选择Polar DB方案时整个Polar DB云原生的架构。从整体角度,比较看重的是云原生的存算分离,大家可以看到计算节点和存储节点的完全分离;第二是,切换数据库时,开发总会存在一些阻碍,即切换数据库时是否存在一些成本以及语法的代码的改造。第三是关于一些扩展性的点,即一旦出现业务波峰时可能会需要增加节点,此时能否快速扩展结点。第四是高可用性,要支持多AZ的一些部署以及一些业务的要求。随着数据逐渐增大,Polar DB由于存算分离,它的容量可以达到500T。
接下来是简要描述行业对企业的特性。一是性能的要求,它一定是比社区的Mysql的数据库性能高很多,这里写了两倍还是比较保守的。二是高弹性,关于扩展范围,秒级的缩容业务真正做到无感知。三是秒级切换。四是一定要做一个条件。最后是关于安全性的一些能力要求,后面会逐步介绍重点能力、验证、测试的一些内容。
第一个就是关于内存索引的方面,就是看数据库跨DB数据库的架构,此时会发现,在HTAP负载和OLAP的负载时,在前端有一个Proxy,对OLPP和AP的需求时,它会根据数据库语句的特性去做一些路由,比如有些数据库可能需要大量的查询,它可能就自动登录写道一个列层的节点,有的需要写,他就会路由到主节点。左边的图是当时在做数据库对比时有一些复杂的查询,标红处代表join的查询量,标蓝处代表大概一个月的数据查询量,整个实际测量下来,列存在此种复杂查询情况下,会发现真正提升能够到30-100倍+。
第二个时关于全局一致性SCC的一个能力。传统的储备数据库在AI节点默认的一种查询能力,在延迟性,尤其是金融行业这种组成一致性比较敏感的业务中,对阶段的延迟可能会造成一些业务逻辑不一致的问题,因此我们对全局一致性、读写分离、全局组成数据同步的要求会有一些很高的点,然后在使用Polar DB、SCC后,会发现性能的明显提升。左图是摘取之前一个测试样例的证据,能看出时性能的明显提升。
第三个是按需自动弹升的实现计算降本,为提升整体,弹性分为三大块。首先,从本地的节点可做纵向的弹升。若纵向弹升不能使得性能得到满足,那么可做跨机的纵向弹升。若跨机纵向弹升还不能满足,则可做跨机的横向扩展。整个扩展,它能从零拓展到一千核,整体的弹性也被测试过,相对比较快,有五秒的探测,其实在一秒之内就可做弹升的切换。
第四是关于数据库压缩的降本生效的方面,右下图是当时用传统云数据库,它对数据存储的空间要求可能是,比如在传统数据库,可能900G的数据库量,在用了压缩引擎和压缩能力后,会发现整个数据量只到了30多G,其实有一个很大的空间成本和压缩空间成本的降低。对此节点,在当时做数据库,从传统云数据库切到DB的一个过程,整个阶段应该不止两个阶段。第一个阶段,先把读的业务切换到另一边,切换Polar DB到不同的云产品上的前提是,首先网络要打通,其次是规划网络,当时业务的读数据,它到点的流量有多大,这是规划专线大小的考量。第三是需要一个很好的数据库同步工具。第一个阶段是把整个读的业务切过去,第二阶段是把写的业务给切过去,需要强调,在做DTS同步时,需开启了一个双向同步的功能。双向同步的功能主要取决什么,应用可能在传统数据库从主做切换时,数据单向先从传统云数据库,一旦数据业务全部切过去后,通过DTS的双向同步,立刻建立一个从Polar DB,又同步回原传统云数据库的链接。有一个双不双向同步的链接能力的建立。在做整体的切换,若没有一个良好的数据库方案以及切换同步数据工具,则无法完成整体切换的效果和能力,这是得到整个业务团队的认可。
第三部分分享云原生的业务价值和展望。在应用云原生数据库扩大后,可极大减少慢查询,平稳的应对业务的一种波峰和波谷。第二,能够做一些统一管理,关于一些AP和TB的需求,可统一用PDB去做性能的支撑。第三,高压缩存算分离进行降本,整个数据库比传统云数据库的成本降低很多,大约是30%-40%。第四,是促进整体业务架构的创新。最后安利PDB,阿里云以及Polar DB,因理性而放心选择阿里云及其服务。
四、基于阿里云新硬件完成储存规模的拓展和性能演进
之前提到,完成一个品牌升级,升级为deep C。在存储规模扩展性和性能方面完成了非常大的飞跃。那在规模扩展方面或支持DB,从当时的百PB级升级为PB级,提供一个存储规模,在存储规模上提供了一个分布式数据库的扩展能力。那结合PDB一些多组结构,实现读写能力的横向扩展。在读写能力和存储规模的扩展能力上,PDB提供了一个完全媲美分布式数据库的一个解决方案,并基于share storage的PDB的一套架构,在资源弹性、数据迁移、均衡能力方面会比传统基于share的分布式数据库会更加优秀,那在性能方面使用过mysql和PG的同学们肯定都有经验,不论PG还是mysql,其出现均已经二三十年,其针对原本地盘去设计,因此它对IO登录的延迟非常敏感。原先的解决方案是基于高性能的物理RDMA网络加一个非常极简的软件,这样我们提供了远低于通用云盘的一个延迟,但它与本地盘相比,还有一定的延迟差距。这部分差距主要是网络账和商户本的一个延迟同步带来的。基于新硬件阿里SM构建了一个心得解决方案,在性能上会有一个非常大的飞跃。接下来展开阐述如何基于阿里云资源的新硬件来完成存储规模的扩展和性能的演进。
在存储规模扩展上有一个比较重要的点就是存储压缩的方案,采用双层,基于软硬件协同的double的硬件,一个软硬件和一个压缩方案。在硬件层次使用了smart SDSD 1.0,用了FGA的一个内嵌,2.0用了一个内嵌的非常高性能的一个AC卡。那做压缩和解压缩的速度会比所有的CPU要高效。所以在数据库性能零损耗的情况下,提供了一个非常好的压缩比。
基于压缩盘之上,构建一层非常轻量级的一层软件压缩的解决方案。由于SSD内部有一个非常灵活的一层FTL的紧凑的数据布局能力,所以在软件层无需考虑类似于A或非常紧凑的一种数据的软件层的消耗,没有额外的GC,也无额外的写放大的问题,因此不会引入过大的性能的开销。另外通过一个数据链路的IO的达标,为避免对数据库的一个写链路的日志产生额外的延迟影响,所以提供了一个非常好的压缩比和性能。
在综合测试上,基于deep C、两层压缩的Mysql或PG,虽然基于B加速,但是整体性能和压缩率比同款的基于LL中关于数据库的效果好很多。重点一提,新的硬件,3.0。去年发布的smart SD2.0,今年发布的新一代smart SD 3.0,在性能和压缩比方面都有非常大的提升。在对性数据库性能零损耗的前提下,smart SD3.0提供了四倍的硬件压缩比,并提供了一个租户级别的硬件加减密的一个能力。
基于3.0和软件演进,Polar DB将当时存储规模从百TB级升级至PB级,在性能方面,重点一提,若大家对持有新内存,即persistent memory熟悉,则肯定会了解到RDSM提供了接近于传统的延迟,并提供了持久性,然后它的存储密度比dream的密度要高很多,基于IDSM构建了一个混合分层的内存池的方案,并基于这层分内、持久性的内存池提供了ECA,即弹性缓存加速器的解决方案。
所有的数据库链路的三本命中RDSM后直接可返回,因此它的显电电路的延迟最低降低到了35秒,读链路的延迟通过在RDSM维护了一个非常大的内存时,命中雅克返回,因此16KB的读音可降低到25微秒,并通过非常轻量级的内存压缩的方案,将ECA的整个池子做的非常大,然后满足不同实力的性能的需求。
五、阿里云资源存储部件针对云数据库的应用历史和演进
主要阐述自研新硬件的进展。存储部件自2016年开始,率先使用了基于PP31接口的大容量高性能的SSD。在云数据库图片还在使用HDDS ID的背景下,帮助业务大幅提升产品的整体性能。最后到2019年,也推出了自研基于open channel协议和FTL资源的SSD RV。
首先通过针对数据库的特定业务python的优化,帮助数据库业务进一步提升整体的性能。同时,通过一套FTL适配多个厂商硬件的方式,进一步提升产品的稳定性以及供应安全。除了在open channel外,也推出针对业务的SB,通过支持projection和filter数据库的sql的一个下推能力,以帮助数据库业务提升其在软硬件结合上的更多能力的提升。由于数据库业务的显著的数据可压缩的特点,我们在2002年推出了第一代盘内压缩的SSD,在整体盘片的硬件成本不变的情况下,使得整个数据库业务可用容量大幅提升。主要帮助业务进一步降低整体成本。
此外,在SSC方面,首先推出基于最新的P31 5.0的新一代的透明压缩盘,在支持更大压缩比的同时,也根据业务需求做出了一个定制化租户达标的功能。同时,众所周知,随着当前整个奥腾内存产品的停产,那我们基于CSL的协议和PM介质推出了自研持久化的内存产品RSM,从而帮助业务去做更低延迟、更高吞吐和更高寿命的一个持续化产品。
接下来简要阐述最新的两款产品。
首先是自研的通标收盘阿里flash V5.整个产品在数据可压缩比二时,整个性能上的写LPS可做到超过800k,那是当前一个标盘性能的两倍。
同时,通过技术上进一步创新,盘内的可压缩率提升到了最大四倍的支持,这也可降低整个业务的使用成本。除此之外,在颗粒上通过支持了国产化等,从而进一步保证整个产品的供应安全。
除此之外,与数据库业务进行一个深度的软硬结合,我们支持在租户级别的IO图标和压缩率上报的功能。如此,可帮助数据库业务更灵活的管理其用户的数据拿出。同时,针对每个租户的IO进行了一个加解密的功能,这使外部客户可独立管理自己的数据密钥,从而进一步提升整个客户在数据上的安全性。可看下面的图,通过自研驱动软件以及团队的实现去支持对用户的每一个IO进行识别、达标以及压缩率的程序和加解密的功能,如此,使得在新一代透明收盘上,除了SSD本身的性能功能稳定性的提升外,我们在整体软件结合和联合业务去创造更大的价值和使用方式。
其次,在资源数字化内存产品的阿里SCM上,首先通过使用2.0的协议以及支持PM的一些介质的方式。首先在产品规格上目前是支持到了最大TB级的规格容量,把相比以往奥登的产品而言,至少是提升了四倍的最大容量,这很好的帮助解决了以前在食用过程中容量太小,导致使用时的一些困难。其次,通过在SL协议和P整体的新型介质的性能提升,也使得整体产品的性能有了一个比较大的提升。那在当前的整个C盘的情况下,读的昆图可超过66GB,这也是三倍于目前的产品。同时,在延迟上,产品也提供了百纳秒级别的能力,以确保业务在使用过程中,在端到端的延迟上,跟当前的整体的技术水平时打平,不会影响业务的使用。
与此同时,由于像SPR或EMR这些平台,目前所支持的协议还是1.0的较为早期的版本,为了帮助业务更好的使用,也通过自研的用适配器的工具套件A SDK,可帮助业务在这些较为早期的平台上可使用sex 2.0产品,如此,可使得业务无需考虑整个平台的净化器,可更早更好的使用资源的质化的内存产品。
接着,简要阐述整个资源存储部件。针对数据库业务,在未来整体规划上,还是会在SSD的阿里plus V6以及资源持久化上的阿里MVR上,我们会持续去发力。
首先是阐述整个协议从升级到最新P3的6.0以及3.0+。通过持续的技术提升,以提升整体产品的性能、规格压缩比等特性。希望在未来,可通过最新的产品去支持未来全CSL的互联场景。同时,希望能够在未来的数据库AI应用中,能够通过算子加速或内存计算的方式帮助业务在AI使用过程中,能有更多软件进行结合的一些加速的能力。这是对整个未来基本上的整体资源存储部件的规划。
当前整个数据库业务在为广大客户创造更大价值的同时,资源配置部件希望能够通过技术创新以及与业务的持续的软硬结合,能够在客户性能稳定性的提升,以及在成本降低上做出更大的贡献。