数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)
数据库管理238期 2024-09-04
- 数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)
- 1 架构图
- 2 分片数据库与分片
- 3 Shard Catalog
- 4 Shard Director
- 5 Global Service
- 6 管理界面
- 总结
数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)
作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

又穿插了好几期其他的,今天继续挖这个坑。
1 架构图
Oracle全球分布式数据库的架构如下:

2 分片数据库与分片
分片数据库是一组分片的集合。是一个Share-nothing架构的在水平分布在由Oracle数据库作为分片组成的数据库池中。每个分片是独立的存放分片数据库的部分数据,跨分片是不需要依赖共享存储的。分片可以以任意方式部署,包括单实例与集群数据库,看部署在物理机、任何云平台、Exadata一体机、虚拟机等等。
分片可以放在一个区域或多个区域,对于全球分布式数据库来说,每个区域可以是一个数据中心也可以是网络相临近的多个数据中心。
全球分布式数据库的分片可以使用基于Raft的原生复制或DG实现高可用和灾难恢复。
3 Shard Catalog
Shard Catalog,分片目录,是一个支持Oracle全球分布式数据库自动分片部署、集中化管理并支持多分片查询的Oracle数据库。
分片目录有以下用途:
- 充当整个分片数据库的管理服务器
- 存储数据库schema的黄金副本
- 使用多分片查询协调器coordinator管理多分片查询
- 存储复制表数据的黄金副本
分片目录是一个专用的Oracle数据库,是分片数据库配置数据的持久存储,在分片数据库的集中管理中起着关键作用。所有配置更改,如添加和删除分片或全局服务,都是在分片目录上执行的。分片数据库中的所有DDL都是通过连接到分片目录来处理的。
分片目录还包含分片数据库中所有复制表的主副本。分片目录使用物化视图自动将更改复制到所有分片中的复制表中。分片目录数据库还充当查询协调器,用于处理多分片查询和不指定分片键的查询。
出于高可用性的目的,可以部署多个分片目录。建议使用Oracle Data Guard实现分片目录的高可用性。
在运行时,除非应用程序使用基于键的查询,否则需要分片目录将查询定向到分片。基于分片键的事务继续由分片数据库路由和处理,不受目录中断的影响。
在完成到备用分片目录的自动故障转移所需的短暂时间内,停机时间会影响执行维护操作、更改模式、更新复制表、运行多分片查询或执行其他操作(如添加分片、移动块等)的能力,这些操作会引发拓扑变化。
4 Shard Director
Shard Director,这里译作分片控制器,是基于分片键实现高性能连接路由的网络监听。
Oracle Database 12c引入了全局服务管理器,根据数据库角色、负载、复制延迟和位置来路由连接。为了支持Oracle全球分布式数据库,全球服务管理器支持基于数据位置的连接路由。在Oracle全球分布式数据库的上下文中,全局服务管理器被称为分片控制器。
分片控制器是全球服务管理的具体实现,它充当连接到分片数据库的客户端的区域监听器。控制器维护分片数据库的当前拓扑。根据连接请求期间传递的分片键,控制器将连接路由到适当的分片。
对于典型的分片数据库,每个区域的可以使用专用于分片控制器的低端服务器安装了一组分片控制器。为了实现高可用性和可扩展性,部署多个分片控制器。在给定的区域中,最多可以部署五个分片控制器。
以下是分片控制器的关键功能:
- 维护有关分片数据库配置和分片可用性的运行时数据
- 监控自身区域和其他区域之间的网络延迟
- 充当客户连接到分片数据库的区域监听
- 管理全球服务
- 连接负载平衡
5 Global Service
Global Service,全局服务,是用于访问Oracle全球分布式数据库分片数据库中的数据的服务。
全局服务是对传统数据库服务概念的扩展。全局服务支持传统数据库服务的所有属性。对于分片数据库,为全局服务设置了其他属性,例如数据库角色、复制延迟容忍度、客户端和分片之间的区域关联性等。对于读写事务工作负载,创建了一个全局服务来访问分片数据库中任何主分片的数据。对于使用Oracle Active Data Guard的高可用分片,可以创建单独的只读全局服务。
6 管理界面
Oracle全球分布式数据库可以使用GDSCTL和EMCC来实现来配置、部署、监控和管理。
总结
本期简单介绍了Oracle 23ai全球分布式数据库的架构和组件。
老规矩,知道写了些啥。
相关文章:
数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)
数据库管理238期 2024-09-04 数据库管理-第238期 23ai:全球分布式数据库-架构与组件(20240904)1 架构图2 分片数据库与分片3 Shard Catalog4 Shard Director5 Global Service6 管理界面总结 数据库管理-第238期 23ai:全球分布式数…...
GIT | git提交注释自动添加信息头
GIT | git提交注释自动添加信息头 时间:2024年9月6日10:20:11 文章目录 GIT | git提交注释自动添加信息头1.操作2.commit-msg文件 1.操作 2.commit-msg文件 #!/bin/sh # # An example hook script to check the commit log message. # Called by "git commit&q…...
React 全屏问题解决方案
1、全屏下弹窗被遮挡的问题 参考:https://www.jianshu.com/p/b22d1ad9533e 原因: 需要全屏的节点部分被传入 screenfull 中,弹窗的层级永远低于全屏,所以被遮挡。 解决方法: 方式1:把整个 body 全屏&…...
Java JVM 垃圾回收算法详解
Java 虚拟机(JVM)是运行 Java 应用程序的核心,它的垃圾回收(Garbage Collection, GC)机制是 JVM 中非常重要的一个部分。垃圾回收的主要任务是自动管理内存,回收那些不再被使用的对象,从而释放内…...
hadoop dfs web页面访问增加鉴权
前言 装好了Hadoop,通过浏览器访问,发现竟然不需要鉴权就能访问,且暴露了很多服务器层文件路径信息,基于多年积累的安全意识,必须得配置些鉴权信息,就有了该文,仅做学习记录,下次自…...
LCP 485. 最大连续 1 的个数[lleetcode -11]
从今天起,我们的算法开始研究搜索,首先就是DFS深度优先搜索(depth-first seach,DFS)在搜索到一个新的节点时,立即对该新节点进行遍 历;因此遍历需要用先入后出的栈来实现,也可以通过…...
关于宏任务的说法已经过时
关于宏任务w3c的最新解释,(mdn已经搜不到宏任务队列) ● 每个任务都有一个任务类型,用一个类型的任务必须在一个队列,不同类型的任务可以分属不同的队列。在一次事件循环当中,浏览器可以根据实际情况从不同…...
Java箱与泛型
大O的渐进表示法 大 O 的渐进表示法 去掉了那些对结果影响不大的项 ,简洁明了的表示出了执行次数。 void func1(int N){ int count 0; for (int i 0; i < N ; i) { for (int j 0; j < N ; j) { count; } } for (int k 0; k < 2 * N ; k) { count; } in…...
QT如何判断一个文件是否存在
在Qt中,判断一个文件是否存在是一个常见的操作,可以通过QFile类和QDir类来实现。不过,对于简单的文件存在性检查,QFile类提供的接口更为直接。下面是一个使用QFile类来判断文件是否存在的例子: #include <QFile>…...
Vim笔记
【指尖飞舞:vscode vim 高效开发(系列视频)】https://www.bilibili.com/video/BV1z541177Jyp16&vd_source23e4761174881d73295e362ffd706749 Vscode vim插件配置-CSDN博客 g_跳到行尾最后一个非空字符 gd :go to definition ctrl (o): …...
宝塔部署Vue项目解决跨域问题
一、前言 使用宝塔面板部署前端后端项目相比用命令行进行部署要简单许多,宝塔的可视化操作对那些对Linux不熟悉的人很友好。使用宝塔部署SpringBoot后端项目和Vue前端项目的方法如下: 1、视频教程 2、文字教程1 3、文字教程2 以上的教程完全可以按照步骤…...
C++智能指针简述
auto_ptr 设计目的:超出作用域,自动释放内存。所有权传递:拷贝auto_ptr时,原指针失效,释放所有权;新指针获得所有权。总而言之,允许通过拷贝转移所有权,独占所有权。缺陷࿱…...
龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮
本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以…...
Android Camera系列(二):TextureView+Camera
两岸猿声啼不住,轻舟已过万重山—李白 Android Camera系列(一):SurfaceViewCamera Android Camera系列(二):TextureViewCamera Android Camera系列(三):GLS…...
DFS算法专题(一)——二叉树中的深搜【回溯与剪枝的初步注入】
目录 1、DFS算法简介 2、算法实战应用【leetcode】 2.1 计算布尔二叉树的值 2.1.1 算法原理 2.1.2 算法代码 2.2 求根节点到叶节点数字之和 2.2.1 算法原理 2.2.2 算法代码 2.3 二叉树剪枝 2.3.1 算法原理 2.3.2 算法代码 2.4 验证二叉搜索树 2.4.1 算法原理 …...
AWS SES服务 Golang接入教程(排坑版)
因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码 一 基础设置 这里需要完成两个最基础的设置任务 1 是验证至少一个收件电子邮箱 2 【很关键】是验证发送域。即身份里的域类型的身份。(可以理解为配置你的域名邮箱服务器(SMPT)为亚马…...
Vite + Vue3 +Vant4出现Toast is not a function
今天写前端的时候出现了这个问题搞了我一会 搜集原因: 1:是vant版本的问题,Toast()的方法是vant3版本的写法,而我用的是vant4,vant4中的写法改成了showToast()方法,改正过来 import {showToast} from "vant"; 发现还是…...
【MATLAB】模拟退火算法
模拟退火算法的MATLAB实现 模拟退火算法简介模拟退火算法应用实例关于计算结果 模拟退火算法简介 1982年,Kirkpatrick 将退火思想引入组合优化领域,提出了一种能够有效解决大规模组合优化问题的算法,尤其对 NP 完全问题表现出显著优势。模拟…...
什么是Kubernetes RBAC?
什么是Kubernetes RBAC? 1、什么是RBAC?2、核心组件3、优势💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes集群中,RBAC(基于角色的访问控制)是保障系统安全的关键。它通过角色和绑定管理不同实体对资源的访问权限,具有显著优势: 1、什么是RBAC? RBAC是Kube…...
在Spring Boot中通过自定义注解、反射以及AOP(面向切面编程)
在Spring Boot中,通过自定义注解、反射以及AOP(面向切面编程)来动态修改请求参数是一种高级且强大的技术组合,它允许开发者在不修改原始方法实现的情况下,对方法的执行过程进行干预和定制。这种技术通常用于日志记录、…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
