数据库大讲堂·第五期 云数据库服务:共享还是专属,这是一个问题

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB PostgreSQL 版,企业版 4核16GB
推荐场景:
HTAP混合负载
简介: “世界上只需要5台计算机”,老沃森的观点究竟是一个笑话还是对于未来大胆的预言?数据库技术是如何一步步发展到今天的?未来,我们选择数据库服务时应该选择共享还是专属?在本文中,阿里云智能数据库PD吴林为大家分享云时代需要的数据库服务形态,讨论行业案例分析,业界资源隔离方案,ECS资源分配原理、专属集群如何保证资源专属等内容。

演讲嘉宾简介:吴林(无才),阿里云智能数据库PD,18年IT领域工作经验,对数据库、云计算、金融领域有深度实践,现负责阿里云数据库专属集群MyBase产品。

以下内容根据演讲视频以及PPT整理而成。
观看回放https://developer.aliyun.com/live/245475
更多课程请进入“数据库大讲堂”了解
https://developer.aliyun.com/topic/database/lives
本次分享主要围绕以下四个方面:
一、背景介绍
二、共享和专属
三、云时代需要什么样的数据库服务
四、问答环节

一、背景介绍

世界只需要5台计算机——笑话还是预言
在1943年的时候,IBM董事长托马斯·沃森(老沃森)提出了一个预言:世界只需要5台计算机.当时,世界上的很多人相信这个预言。而当今天回头再看1943年老沃森提出的这个预言,很多人认为是一个笑话,因为现在计算机非常多。其实老沃森在做这个预言的时候肯定是有历史背景的,因为在1943年的时候,全世界的数据量也非常小,而随着计算机技术发展到今天,整个世界的数据量变大非常大,需要以万亿亿来进行计算,因此不能仅靠5台计算机进行计算。

我们所熟知的微型机
在大家的生活中可能会接触到台式机和笔记本电脑,这类电脑属于专属计算机,一般情况下不会共享。

image.png
大型机
除了上述微型机之外还有很多其他类型的计算机,比如下图所示的大机计算机,其体积非常大,可能占据整个房间,而且线非常多并且杂乱。此外,当时使用的主要是真空管和晶体管等,并且主要提供给科研人员使用,这是因为其输入非常复杂,计算机输入所使用的是大家可能没有见过的卡带,也就是在卡带纸条上进行打孔作为输入。此外,机房的环境非常恶劣,因为晶体管和真空管等散热非常严重,因此需要有水来散热。
image.png
上图中右侧是近代金融机构和大型企业所使用的大型机,有点类似在阿里云机房看到的机柜,一个机柜基本上是一个大型主机的规模。在老沃森所处的历史背景下,一台大型机处理一个企业的数据规模基本上是满足要求的。

与大型机相对的就是小型机,以前有一个话题是“去IOE”,所谓“IOE”分别代表IBM、Oracle和EMC。下图是2013年5月17日,阿里集团最后一台IBM小型机下线的场景。
image.png
云时代
为什么小型机要下线,是因为我们要进入云时代。机房中,机架上的每一排都是刀片服务器,而需要散热,有很多风扇,因此在机房中非常吵。
image.png
其实,回到老沃森提出的全世界只需要5台计算机这个预言,其实他说的是全世界需要有5大中心节点来处理大家的需求。在云时代,像亚马逊、微软、阿里云以及谷歌等云产商来全球用户提供服务,从这一点来看,老沃森说的也没有错。进入云时代以后,很显然,大家都希望能够共享,这是因为在公有云中,大家都希望能够随时随地享受到云服务。

二、共享和专属

数据库发展历程
今天分享的主题是共享和专属,在以前的大型机时代,肯定是专属于某一个大型企业和科研机构的。而在云时代,则走向了共享经济,大家可以随时随地享受到便捷的云服务。
image.png
数据库的历史发展非常久远,最早的大型机是在19世纪50年代出现的。标准意义上的大型机是从1964年推出的第一款S360机器开始,当然之前可能还有一些没有量产的机型在50年代就已经出现了。当时出现的数据库有层次数据库和网状数据库,层次性数据库和树状结构非常相似,像是具有根节点的倒立的树,其中具有代表性的层次数据库就是IBM IMS。在小型机时代,出现了关系型数据库,包括MySQL、Oracle、IBM DB2等。进入PC时代之后,数据呈现出百花齐放的状态,能够看到NoSQL数据库、开源数据库以及进入云时代,阿里云等厂商所提供的云原生数据库,能够满足更多客户和场景的诉求。

传统自建数据库的挑战
进入云时代之后,云厂商会提供云数据库服务,但是依然会有很多用户会选择自建数据库。而对于企业而言,所需要维护的数据库数量非常多,虽然现在很多企业选择使用开源数据库,不需要为商业许可证付费,但是对于自建数据库而言,运维成百上千个数据库的压力非常大。而如果企业选择使用开源数据库,技术来源于自身的积累或者开源社区,缺少商业服务,而商业数据库的服务则是收费的,比如Oracle和SQL Server,收费是非常昂贵的。
image.png

三、云时代需要什么样的数据库服务

image.png
在云计算时代,我们所需要的数据库服务需要关注资源、成本、安全、运维、内核的完整方案。

资源隔离
image.png
对于数据库的资源隔离而言,主要有几种类型,包括物理资源隔离、ECS资源隔离以及Docker资源隔离。本次分享中主要介绍物理资源隔离,大家在使用云服务的时候需要选择使用共享实例还是独享实例。

物理机资源隔离
image.png
阿里云对于物理资源隔离分成了共享实例、专享实例、独享实例以及独占主机实例。对于共享实例而言,一个物理部署里面可以创建多个数据库,让数据库1服务于A客户,数据库2服务于B客户,可以通过账号进行隔离。对于专享实例而言,就是说这一个数据库实例就是给某一个用户或者说企业使用的,不会和其他的用户在一起,一般是通过Cgroup进行资源隔离。所谓独享实例就是希望对于资源在一定范围内能够保证资源独占性。对于更加“土豪”的客户而言,就可以使用独占主机实例。

使用Cgroup进行资源隔离
image.png
在使用Cgroup进行资源隔离时,阿里云数据库使用了memory、vlkio、cpu三个子系统分别对实例的内存、IO和CPU时间片资源进行了隔离。使用cpu.share配置各个实例的权重,根据Instance_leve表的limit_memory值进行内存隔离,并根据iops进行配置隔离。针对独享实例,CPU子系统不能完全避免CPU资源的竞争,开始引入CPUSET对独享实例绑定CPU核心资源。独享实例使用CPU+CPUSET两个子系统隔离CPU资源。绑定的CPU核心为逻辑核心,不考虑被绑定的逻辑核心是否在相同的物理核中。

CPUSET
由于独享实例已经使用CPUSET绑定CPU核心,而不同实例绑定不同的CPU核心,因此不会相互争抢CPU核心资源。阿里云数据库团队在使用CPUSET时设置了独享实例CPU核心规格均为偶数,如2、4、8、16、32,并同时考虑逻辑核和物理核之间的关系,让一个物理核虚拟出两个逻辑核,避免不同独享实例之间共享相同的物理核心而产生资源争抢。
image.png
云数据库服务形态
image.png
对于资源隔离的要求而言,在专享服务里面,云服务就是共用资源池,因此用户不知道自己的机器是哪一个,那么很有可能不同用户的数据库实例出现在同一台物理机上,如果某一个客户使用的资源比较多,那么就有可能会产生资源争抢。而对于一些对于性能、安全要求比较高的客户而言,则希望在公共云里面对于某些资源进行独占。

云数据库专属集群
image.png
基于用户的上述考量,阿里云就推出了云数据库专属集群MyBase,这个产品就是为了解决用户的此类问题。阿里云云数据库专属集群产品已经上线一段时间了,现在已经能够支持MySQL、PostgreSQL、SQL Server、Redis和MongoDB等五款数据库引擎,在赋予用户PaaS层数据库服务同样能力的同时,还具备资源超配、混合部署、资源调度、弹性策略、更开放的权限、自主运维能力等,能够满足大中型企业客户对云上数据库自主管理的核心需求。

Redis专属集群助力CC视频轻松应对业务洪峰
2020年,在线教育、视频以及游戏行业特别火热。这些行业在业务洪峰的时候就会出现上述资源争抢的情况,进而影响到自身业务。对于下图中例子的CC视频而言,就会影响其直播效果。
image.png
在疫情期间,直播业务场景内聊天、课件、进出日志等信息实时数据量剧增,几百万在线并发使得传统Redis实例在CPU和带宽、流量方面无法承载。而CC视频采用自建MQ等工具不仅使得管理和运维成本增加,也使得整个数据链路变成。与此同时,随着在线教育的发展壮大,核心业务数据库压力越来越大,需要性能优化和支撑。后来,CC视频在阿里云上采用了多台专属集群主机承载直播视频场景下消息分发业务。当业务高峰来临之前,将核心Redis实例进行独占主机部署,独享整机的CPU和带宽,这是因为对于资源具有独立控制权;而在业务低峰时,通过智能调度整合,通过合理资源缩减和调整分配,降低整体成本。

四、问答环节

最后是本次分享中三个互动问题:
问题1:层次型数据库和关系型数据库,哪个处理更快?
回答1:虽然层次型数据库出现比关系型数据库更早,但是从处理速度上来看,层次型数据库更快。以前的大型机里面有一种语言叫做COBAL,访问数据库的时候不像关系型数据库这样用户友好,需要程序员自己定义访问路径,包括根节点、父节点、子节点等,所以从处理角度来讲,层次型数据库比关系型数据库更快,因为指定了访问路径。
image.png
问题2:专属集群支持哪些数据库引擎?
回答2:当前阿里云专属集群支持MySQL、PostgreSQL、SQL Server、Redis和MongoDB等五款数据库引擎。

image.png
问题3:Cgroup中采用哪三个子系统进行资源隔离?
回答3:Cgroup中memory、vlkio、cpu三个子系统分别对实例的内存、IO和CPU时间片资源进行了隔离。
image.png

目录
相关文章
|
5天前
|
编译器 API 数据库
技术好文共享:(xxxx)十一:SQLite3的db数据库解密(三)数据库在线备份
技术好文共享:(xxxx)十一:SQLite3的db数据库解密(三)数据库在线备份
|
5天前
|
移动开发 应用服务中间件 数据库
详尽分享预发环境与生产环境共享数据库时定时任务重复执行问题解决
详尽分享预发环境与生产环境共享数据库时定时任务重复执行问题解决
|
8天前
|
关系型数据库 MySQL 数据库
Mysql数据库服务的启动与停止及数据库选择
Mysql数据库服务的启动与停止及数据库选择
11 0
|
21天前
|
关系型数据库 数据管理 数据库
数据管理DMS产品使用合集之如何极速恢复RDS(关系型数据库服务)中的数据表
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
24天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之DataWorks是否支持通过SQL方式在MaxCompute中查询数据,并通过数据集成服务将查询结果同步至MySQL数据库
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2月前
|
NoSQL 安全 MongoDB
MongoDB为提供MongoDB数据库服务的云服务合作伙伴推出认证计划
Certified by MongoDB DBaaS计划还将为云计算合作伙伴提供构建深度技术集成所需的专业支持,同时还将携手MongoDB合作伙伴生态系统(MongoDB Partner Ecosystem)共同推出一系列联合的进入市场举措,使云服务合作伙伴能够助力其客户快速走向成功。
3114 0
|
2月前
|
NoSQL Java MongoDB
实时计算 Flink版产品使用合集之在一个任务中创建了多个MySQLCDC源表,这些源表是否共享同一个数据库连接池
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
SQL 资源调度 关系型数据库
实时计算 Flink版产品使用合集之源表的数据被删除后,目标数据库在重启服务后没有进行相应的删除操作,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
JavaScript 小程序 Java
党务政务服务热线|基于SSM的党务政务服务热线平台(源码+数据库+文档)
党务政务服务热线|基于SSM的党务政务服务热线平台(源码+数据库+文档)
42 0