阿里工程师讲座(三)|学习笔记

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
函数计算FC,每月15万CU 3个月
简介: 快速学习阿里工程师讲座(三)

开发者学堂课程【高校精品课-西安交通大学-数据库理论与技术:阿里工程师讲座】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/12/detail/15865


阿里工程师讲座(三)


内容介绍:

一. 传统数据库架构和云的本质

二. 云原生数据库

三. 下一代云原生数据库


三.下一代云原生数据库

所以刚才介绍的云原生数据库架构其实主要是在共享存储这个架构,因为现在共享存储就是云原生数据库的主流架构,在共享存储上原来做的一些工作以及单独做了一些优化的工作那下一代远程数据库应该是怎么样的也有一些思考,以及已经做了一些前置的部署。

这里可以看到数据库的核心还是要做更好的 US status所以 US status 为什么很有价值,就是传统数据库架构,就是一个 resource 需求,要根据你的峰值需求来确定资源量,就像之前提到的买一个机器哪怕峰值一下1000台机器,平时只要一台机器也得买1000台,并且不能减少。

那在原生数据库这个阶段就是会有 scale 做的比较好的时候就跟现有这个阶段就可以做分时段的弹性就是某个时间段需求比较大时可以去把资源 scaleup 起来。如果某个阶段需求比较小,那要付的钱其实只要付蓝色的积分部分所以这个成本就会下降的比较多。

那中泰的原生数据库应该怎么样应该是不需要用户 care 这些,要买什么规格要买多少的机器,要买多少内存的数据库这种都不用关心就是用多少就给多少最后按用的量来计费,那这才是理论上最完美的数据库了,所以现在的原生数据库就是以这个目标来做一个演进了。

image.png

技术上怎么做呢?其学术界已经有很多的探索,应该去怎么做这个事情,这里有一些比较新的这几年的论文,一个就是架构网络演进,整个架构应该演进包括 SIGMOD 提出了关键数据库应该可以用远程内存 RDMA 来做加速第三篇就开始提了第三篇是普通大学一篇论文,它的内容是说可以用高效的内存的分离来实现数据库的这部分弹性。第四篇是比较有名的是 OSDI18best paper它就是用内存存储整体的分离做了一个操作系统。最后一篇是在这个操作系统上运行数据库来检验这个架构的可行性。整个学术界基本上也是在存储分离的基础上做内存分离这个架构来做下一代云原生数据库的探索。

image.png

就是说传统的没有任何共享数据库,它弹性可能是小时级那么在存储计算分离以后它的弹性是分钟级,那到内存分离以后因为整个大部分的非意识状态,意识状态之下都是共享的。弹性时只要分配一个更大的 cpu 就行,那cpu本身是无状态的所以可以把整个弹性做到秒级,那这样就可以实现了按用户的需求来做弹性就可以了。

image.png

那么在一八年就开始立项做下一代云原生数据库,因为那时候 PolarDB 就是共享存储的原生数据库,基本上已经成熟了,分了一部分力量来做这个事情就是在做这个共享内存的数据库共享数据库最大的特点就这个共享内存架构共享内存架构最大的优势就是它的 cpu 跟内存就可以不再对等,因为经常出现的情况是一个数据库节点cpu平时其实运行量是非常低的,但是因为内存缓存了大量的数据内存使用量又特别高,那这部分不闲置下来的cpu其实是不能被使用起来的,因为内存跟存储一定要在一台机器上。

现在构建了一个分布式的内存池以后这些问题就不存在了因为闲下来的这些 cpu 完全可以共享给别人来用。那这样自己的成本就会有大量的下降那另外一个就是多个cpu可以共享一份内存。那么成本就会分担比较厉害,比如本来扩展15个读节点,那每个读节点都要有一份独立的内存,那这个内存里面缓存的数据其实都是差不多的。现在它们可以共享一份数据一份内存,这份内存里面缓存的数据就可以缓存的更多了

第二个就是内存弹性内存可以不再有什么限制因为它是个节点的分布式的内存池那这对于一些分析型块的性能其实是非常重要的。第三个就是通过共享内存就可以实现这个秒级弹性。因为 cpu 节点上的数据都可以刷到内存上来,那么弹性就只要去重新分配这个 cpu 就可以。这份结果在工业界或者学术界都是比较新的工作,所以把这份结果放到了6月份开的 SIGMOD 21,SIG MOD 21是一个鼎会是现在相对来说是数据库业界最好的一个会议。

image.png

以下这是一个指标,刚介绍了共享存储架构挑战那共享内存架构的挑战就更大了。比如原来的 cpu 跟内存的通信都是通过 QPI 总线,基本都是百纳秒这个级别那现在即使通过 RDMA 来做,那也是几个 u 秒这个级别,这个通信成本需要通过大量的架构的优化以及实现的优化来减少这部分额外通信对性能带来的影响现在看到的就是在local有一个非常小的缓存的情况下,肯定需要的就跟L2缓存一样但是缓存量非常小可能只要原来的百分之十百分之五,这个力度性能还可以达到原来的90%左右的水平。

sysbench 就是工业上用的比较多的一个测试机,包括 TPCC 也测了。整个进程损失大概只有10%几,这样基本上是处于的可用的形态前面一些学术界的论文也提到,基本上要损失一个数量级。只能到百分之五十或者百分之三四十这个成本内那个挑战,所以这块还是重要的。包括这就是不单是说做了这个架构实践优化,也更深度的去结合这些软硬件相关的工作来实现性能的提升所以第三部分的下一代数据库架构基本就分享到这

image.png

最后也是呼应一下前面提到的就是以前学术界跟工业界还是有比较大的 GAP就是学术界在研究自己方向,工业界也在研究自己方向,互相交流比较少。但是现在这几年这个情况有很大的改善,包括工业界也会跟学校合作做一些研究,来做一些宣讲来讲一些现在在做的事情,老师会把自己的一些研究成果,看看能不能放到一个现实的系统中,这样互相的交流会特别多,这个是比较重要的一个事情。

今天就分享到这里,欢迎以后毕业了加入

问:serverless 怎么理解

答:因为 serverles s 这个词用的比较多,它其实也是类比于传统的架构,就是传统架构去买一个 server那云传统时说的 server,就是买一台物理机后来云时代出现以后,Server 基本上是买一个虚机那么现在 serverless越多就是说虚机的概念也不需要虚机,也算是 infrastructureserverless 以后,比如 functio 方这种功能都认为是一个比较 serverless 的一个形态,不需要去 care 这个程序到底是运行在哪台机器上,因为有机器就有这个框框,有这个框框再去设计就很难去做就更高层面的弹性或者相关工作,那就是只是给一个执行的容器,不需要去care真的执行台机器上需要时,把这个函数孵化出来来调用逻辑调用完就释放掉。

那对于数据库来说 serverless 也是这个含义,这里提了就是在共享存储上也在做 serverless,这个 serverless意思就是这个机器也不局限于给多少个,比如8个和32个G 的内存,而是根据需求,流量高了给一个更高的规格更大的资源流量少了再给回来其实认为是个 ondemand 过程,那就是不再需要 server 的概念,跨越这个server就是一个分布式。所以数据库的 serverless 就是按需的去给一个资源现在基本上业界在提 serverless 的时候都是可以做自适应的弹性

后面提的 PolarDB serverless 目的也还是一样,还是按需的给一个资源的供给,但是它的实现就不一样,它不再是去自动的做升降,而是它水平方向直接把资源全部给裁剪开来了完全是在一个大的资源池里面做弹性而不是规格的一个柔性的升降配。但的目标是一样的。

问:云数据库跟阿里数据中台是什么关系?

答:数据中台,以个人的理解它这个大层的服务,它是个 service,它会提供更上层的一些功能。云数据库其实是个Pass,那它只是提供一个数据库的能力。在数据库上面再做一些数据的集成数据的筛减,数据化的一些服务架在这个云数据库上那才是提供一个数据中台的能力。所以基本认为这中间还有一层。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
机器学习/深度学习 存储 人工智能
完美!京东资深架构师爆肝纯手打700页架构进阶宝典我粉了
在这个大家热议的人工智能时代,也使我们有了更多的反思,其实在这些热点议题的背后,一些基础架构与底层系统技术的发展与实现或许更加务实和接地气一些,同时产业界也需要有更坚实的基础架构与底层系统技术来支撑日益增长的庞大的业务量。 对于支持庞大业务量,其中最具有代表性的莫过于现在的618双十一购物秒杀活动了。而作为参与其中的主力之一的京东,他们的基础架构与底层系统是如何搭建的呢?作为程序猿的我们,该如何脱离CRUD的苦海让自己也加入到这亿级系统的搭建中来呢?不要慌!互联网雷锋(小编我)为大家整理出两份真京东大牛编写的架构实战文档,可以说是国内架构文档的经典之作。
|
4月前
|
敏捷开发 安全 API
C/C++ 工程师面试:如何精彩展示你的项目经验并获得高分
C/C++ 工程师面试:如何精彩展示你的项目经验并获得高分
162 0
|
BI C++
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
【校园微项目竞赛】没勇气参赛?大一拿不到奖?这篇文章将讲述我带领我们组拿下校第一的生猪系统!
62 0
|
存储 人工智能 NoSQL
案例酷 | 华东师范大学:计算机实训课拍了拍你,说“云上见”
编者按: 教育是国之大计、党之大计。教育信息化是实现教育现代化的必由之路,数字化转型为教育信息化指明了方向。针对如何在疫情期间也能提供给师生线下般的实训体验,华东师范大学和阿里云在战略合作框架下聚合形成了水杉无影桌面实训环境,完成了在教育数字化改革中的一次重要尝试。 全文约2714字,建议阅读时间9分钟。
291 0
|
IDE 前端开发 数据可视化
QCon 2022·上海站 | 学习笔记7: 动态布局技术、原理及实践
QCon 2022·上海站 | 学习笔记7: 动态布局技术、原理及实践
280 0
QCon 2022·上海站 | 学习笔记7: 动态布局技术、原理及实践
|
存储 SQL Cloud Native
阿里工程师讲座(二)|学习笔记
快速学习阿里工程师讲座(二)
109 0
阿里工程师讲座(二)|学习笔记
|
存储 Cloud Native 固态存储
阿里工程师讲座(一)|学习笔记
快速学习阿里工程师讲座(一)
224 0
阿里工程师讲座(一)|学习笔记
|
搜索推荐 大数据 开发者
大数据技术引论(二)|学习笔记
快速学习大数据技术引论(二)
134 0
大数据技术引论(二)|学习笔记
|
机器学习/深度学习 存储 分布式计算
大数据技术引论(三)|学习笔记
快速学习大数据技术引论(三)
105 0
大数据技术引论(三)|学习笔记
|
数据采集 人工智能 搜索推荐
大数据技术引论(一)|学习笔记
快速学习大数据技术引论(一)
147 0
大数据技术引论(一)|学习笔记