23ai DGPDB,Oracle资源池战略的最后一块拼图

news2025/2/23 18:45:04

Oracle对资源池是有执念的!

在我看来,这种执念一方面是应用架构的微服务化,数据库被拆分的越来越小,而服务器的硬件能力是不断提升的,CPU核心数、内存和存储的容量都按照摩尔定律在不断增加,这就使得数据库服务器资源使用率长期维持在一个非常低的水位;另一方面来源于当今科技发展对资源精细化管理的需求,尤其是虚拟化、容器化技术的发展,让精细化资源管理变得触手可及。但数据库是个强一致性的节点,如何更好的实现这一点,是数据库厂商不断探索和追求的目标。

今天我们梳理了Oracle的资源池路线,看看Oracle数据库是如何从传统的多进程架构演变成适应云时代数据库精细化管理需求的。

11g 资源池

11g时代,Oracle Cloud Control产品中提供了一个资源管理门户 – Oracle Cloud Self Service Portal,利用这个门户可以将多个数据库或集群构建成资源池。为了满足不同业务系统的需求,可以采用不同的设备构建多种级别的资源池,比如Exadata资源池,用于高性能分析系统;普通X86资源池,用于支持中等压力的业务系统。当业务系统需要数据库资源,即可从不同的资源池中分配需要的资源。

由于架构上的限制,11g资源池只能支持数据库级和Schema两个级别,Schema资源隔离能力较弱,大多数用户并不愿意将多个业务系统的数据放在同一个数据库中;而如果采用数据库级的资源池,本质上就是新建了一个数据库,和手工创建一个独立的数据库,并没有什么差别。因此使用11g资源池的用户非常有限,即使是在一套集群上创建了多个数据库,用户也没把它称为是资源池。

随着微服务架构的流行,一套应用系统可能被拆分为多个数据库来支持。一方面,单个数据库消耗的资源显著下降,很多用户的服务器资源利用率不到10%;另一方面,Oracle新建一个数据库需要多出一组实例(一大堆的后台进程),这也使得管理成本明显增加。

因此Oracle的多实例单数据库的架构,在这个追求快速弹性扩缩容的时代,多少显得有些格格不入。

12c 多租户

12c中引入了多租户架构,一个容器数据库(Container Database, CDB)中可以容纳多个可插拔数据库(Pluggable Database, PDB)。虽然说从架构上CDB相当于是原来的独立数据库,但Oracle期望CDB作为数据库的容器,PDB作为最小的数据库单位,可以在不同的CDB之间便利的迁出和迁入。当应用需要新的数据库资源时,只需要一条命令在CDB中创建出新的PDB即可交付使用。
在这里插入图片描述

这种使用方式,大家是否有些似曾相识,事实上MySQL和SQL Server等数据库一直就是这种架构,Oracle兜兜转转走了一大圈的“弯路”,似乎又回到了“原点”。不过Oracle毕竟是商业数据库的头牌,相比于MySQL,PDB更像是一个独立的数据库,在不同CDB之间的迁移更加方便;相比于SQL Server,PDB的内存、CPU和I/O资源隔离更加彻底,彼此之间可以最大程度上不受干扰。

当使用多租户将多个独立数据库作为迁入PDB之后,企业用户却发现一个尴尬的问题 – 容灾切换只能以CDB级别来进行,这就意味着如果一个PDB业务需要做容灾切换,整个CDB上的数据库都得配合,这是完全不可接受的。虽然可以用冗余CDB来进行中转,但是和传统切换方式相比更加繁琐,切换耗时也更长,很多用户并不愿意接受这种方案。

因此容灾切换的不便,成为12c资源池推广路上最大的绊脚石。

23ai DGPDB

2022 年 7 月,Oracle在 21.7版本引入了PDB级Data Guard特性(简称:DGPDB),这个多租户新的Data Guard特性将用来替代传统的CDB架构层的Data Guard,用户即可以部署CDB层的Data Guard,也支持更灵活的PDB层Data Guard(在每个PDB上配置、维护和独立的Switchover、Failover操作)。

PDB层的Data Guard保护的是单个PDB,而不是整个CDB。在这个架构中,主备两端的CDB都是Primary角色,运行在CDB上的PDB即可以是Primary也可以是Standby,PDB级的Primary和Standby构成一组Data Guard。

在这里插入图片描述

这个架构最大的好处就是容灾切换不再需要CDB级的整库切换,可以从PDB级别来进行。将更多的选择权还给用户,是一个产品成熟不断成熟的标志,从这个意义上来说,有了DGPDB,Oracle的资源池技术已经成熟!

虽然在21.7中已经支持这项技术,但21c是创新版本,国内企业用户很少使用这个版本,所以这篇文章的标题我用的是“23ai DGPDB”,相信在当前节能增效的大背景下,这个新功能会是用户选择23ai作为数据库资源池的重要推手。

总结

先天架构上的限制使得早先的Oracle数据库并不适合做资源池,但是用户对资源池化、资源弹性需求不断增强。从11g之前的实例隔离和Schema隔离,到12c的多租户,Oracle并没有放弃对资源池技术革新的努力。直到23ai DGPDB,Oracle的资源池技术已经成熟,值得企业用户推广使用。

条条大路通罗马,有的人家就住在罗马!有些数据库生来就是云原生,Oracle则是不断演变跟上信息技术快速变化的浪潮,保持自己在数据库领域的领先地位。谁更值得学习和尊敬呢?!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2146426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QTAndroid编译环境配置

开始 QT 官网的安装教程安装,经过测试有部分小错误。以下是结合教程和网上搜集的一些材料最后安装成功的步骤。 SDK和JDKhttp://链接: https://pan.baidu.com/s/13CImHLAoUFAdecF2BVsBlQ?pwd627g 提取码: 627ghttp://链接: https://pan.baidu.com/s/13CImHLAoUFAd…

Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)

两种情况(场景) 情况一 代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销 解决方案: git reset [--hard|soft|mixed|merge|keep] [commit|HEAD] 情况二 …

Axure设计之表格列冻结(动态面板+中继器)

在Web端产品设计中,复杂的表格展示是常见需求,尤其当表格包含大量列时,如何在有限的屏幕空间内优雅地展示所有信息成为了一个挑战。用户通常需要滚动查看隐藏列,但关键信息列(如ID、操作按钮等)在滚动时保持…

十三 系统架构设计(考点篇)

1 软件架构的概念 一个程序和计算系统软件体系结构是指系统的一个或者多个结构。结构中包括软件的构件,构件 的外部可见属性以及它们之间的相互关系。 体系结构并非可运行软件。确切地说,它是一种表达,使软件工程师能够: (1)分…

VMware vSphere 8.0 Update 3b 发布下载,新增功能概览

VMware vSphere 8.0 Update 3b 发布下载,新增功能概览 vSphere 8.0U3 | ESXi 8.0U3 & vCenter Server 8.0U3 请访问原文链接:https://sysin.org/blog/vmware-vsphere-8-u3/,查看最新版。原创作品,转载请保留出处。 作者主页…

汽车软件开发之敏捷开发

一、前言 目前汽车电子产品,特别是汽车几大域控(如:智能座舱、智能驾驶、智能网联、车身控制)市场竞争激烈,消费者对汽车的需求逐渐多元化和个性化,用户对座舱和智驾产品的要求也越来越高。他们不仅要求产…

人工智能时代,我们依旧有无限的选择权!

人工智能时代,即有人两眼放光,又有人忧心忡忡。前者看到大量的机遇、蓝海,后者看到了失业和糟糕的未来,亦或是有人有喜有忧。但是只要你知晓一个真谛:凡事皆有利有弊,那便不用内耗了。或是选择当前的生活节…

SAP B1 - 新账套设置密码不过期

背景 建立新账套后,每隔一段时间就会自动弹出以下要求更改密码的提示窗口,最讨厌的是系统会记住你的所有历史密码,新设置密码不能与所有曾用密码相同。找到终止该自动更换密码的设置,遂总结为经验帖。 操作 点击位于顶栏的小人图…

示例:WPF中Grid显示网格线的几种方式

一、目的:介绍一下WPF中Grid显示网格线的几种方式 二、几种方式 1、重写OnRender绘制网格线(推荐) 效果如下: 实现方式如下: public class LineGrid : Grid{private readonly Pen _pen;public LineGrid(){_pen new P…

C#实战|大乐透选号器[11]:确认选号功能的实现

哈喽,你好啊,我是雷工! 接着练习大乐透选号器的功能,这里练习实现确认选号功能; 以下为实现笔记; 01 效果演示 实现点击确认选号,将机选或手动选出的号码,添加到列表中显示; 02 设置DataGridView 首先设置控件GataGridView的属性; 2.1、编辑列 选中控件,点击右上角的…

最新Kali Linux超详细安装教程(附镜像包)

一、镜像下载: 链接:https://pan.baidu.com/s/1BfiyAMW6E1u9fhfyv8oH5Q 提取码:tft5 二、配置虚拟机 这里我们以最新的vm17.5为例。进行配置 1.创建新的虚拟机:选择自定义 2.下一步 3.选择稍后安装操作系统 4.选择Debian版本 因…

AI绘画实操 Stable Diffusion 到底怎么玩儿,新手必看的AI绘画入门安装使用教程

大家好,我是灵魂画师向阳 2024年,是AI绘画技术飞速发展的一年,各种AI绘画工具层出不穷,为了让大家在了解和学习AI绘画的过程中少走弯路,今天我将详细介绍目前世界上使用用户最多,社区最大,生态…

Springboot与minio

一、介绍 Minio是一个简单易用的云存储服务,它让你可以轻松地把文件上传到互联网上,这样无论你在哪里,只要有网络,就能访问或分享这些文件。如果你想要从这个仓库里取出一张图片或一段视频,让网站的访客能看到或者下载…

遭华尔街大幅看好,收入高速增长但面临困境,Zillow股票还能买入吗?

来源:猛兽财经 作者:猛兽财经 猛兽财经的核心观点: (1)Wedbush已经将Zillow的评级上调为“跑赢大盘”,目标价为80美元。 (2)第二季度业绩强劲,收入继续保持着两位数增长…

esp32-C2 对接火山引擎实现语音转文本(二)

目录 一、 语音转文本初始化 二、 WedStream 事件处理函数 一、 语音转文本初始化 Volcengine_vtt_handle_t Volcengine_Vtt_Init(Volcengine_vtt_config_t *config) {// 管道配置audio_pipeline_cfg_t pipeline_cfg = DEFAULT_AUDIO_PIPELINE_CONFIG();Volcengine_vtt_t *vt…

架构师:在 Spring Cloud 中实现全局异常处理的技术指南

1、简述 在分布式系统中,微服务架构是最流行的设计模式之一。Spring Cloud 提供了各种工具和库来简化微服务的开发和管理。然而,随着服务的增多,处理每个服务中的异常变得尤为复杂。因此,实现统一的全局异常处理成为了关键。本篇博客将介绍如何在 Spring Cloud 微服务架构…

DevExpress中文教程:如何将WinForms数据网格连接到ASP. NET Core WebAPI服务?

日前DevExpress官方发布了DevExpress WinForms的后续版本——将.NET桌面客户端连接到安全后端Web API服务(EF Core with OData),在本文中我们将进一步演示如何使用一个更简单的服务来设置DevExpress WinForms数据网格。 P.S:DevExpress WinForms拥有180…

关于github GPG的配置

GitHub 使用 OpenPGP 库来确认本地签名的提交和标记,是否根据你在 GitHub.com 上添加到帐户的公钥进行加密验证。 这里是github关于GPG密钥的文档:https://docs.github.com/zh/authentication/managing-commit-signature-verification/about-commit-sig…

开放式耳机和骨传导耳机哪个好用?全面解析哪个品牌的开放式蓝牙耳机质量好

当谈到开放式耳机与骨传导耳机之间的选择时,两种类型的耳机各有千秋,适合不同的使用场景和个人偏好。 开放式耳机的设计让耳朵可以自由呼吸,同时让部分环境音进入,这样用户可以在享受音乐的同时保持对外界的感知,非常…

求Huffman树及其matlab程序详解

#################本文为学习《图论算法及其MATLAB实现》的学习笔记################# 算法用途 求Haffman树 算法思想 根据定理4.17,给出求Huffman树的算法步骤如下: ①对给出的所要求的叶子顶点的权进行从小到大排序,写出的权重向量 ; ②根据定理4.17,写出兄弟的权重分别为…