当前位置: 首页 > news >正文

数据库管理-第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_01.png

又穿插了好几期其他的,今天继续挖这个坑。

1 架构图

Oracle全球分布式数据库的架构如下:
image.png

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 的渐进表示法 去掉了那些对结果影响不大的项 &#xff0c;简洁明了的表示出了执行次数。 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中&#xff0c;判断一个文件是否存在是一个常见的操作&#xff0c;可以通过QFile类和QDir类来实现。不过&#xff0c;对于简单的文件存在性检查&#xff0c;QFile类提供的接口更为直接。下面是一个使用QFile类来判断文件是否存在的例子&#xff1a; #include <QFile>…...

Vim笔记

【指尖飞舞&#xff1a;vscode vim 高效开发&#xff08;系列视频&#xff09;】https://www.bilibili.com/video/BV1z541177Jyp16&vd_source23e4761174881d73295e362ffd706749 Vscode vim插件配置-CSDN博客 g_跳到行尾最后一个非空字符 gd :go to definition ctrl (o): …...

宝塔部署Vue项目解决跨域问题

一、前言 使用宝塔面板部署前端后端项目相比用命令行进行部署要简单许多&#xff0c;宝塔的可视化操作对那些对Linux不熟悉的人很友好。使用宝塔部署SpringBoot后端项目和Vue前端项目的方法如下&#xff1a; 1、视频教程 2、文字教程1 3、文字教程2 以上的教程完全可以按照步骤…...

C++智能指针简述

auto_ptr 设计目的&#xff1a;超出作用域&#xff0c;自动释放内存。所有权传递&#xff1a;拷贝auto_ptr时&#xff0c;原指针失效&#xff0c;释放所有权&#xff1b;新指针获得所有权。总而言之&#xff0c;允许通过拷贝转移所有权&#xff0c;独占所有权。缺陷&#xff1…...

龙芯+FreeRTOS+LVGL实战笔记(新)——05部署主按钮

本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了改进和优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以…...

Android Camera系列(二):TextureView+Camera

两岸猿声啼不住&#xff0c;轻舟已过万重山—李白 Android Camera系列&#xff08;一&#xff09;&#xff1a;SurfaceViewCamera Android Camera系列&#xff08;二&#xff09;&#xff1a;TextureViewCamera Android Camera系列&#xff08;三&#xff09;&#xff1a;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 【很关键】是验证发送域。即身份里的域类型的身份。&#xff08;可以理解为配置你的域名邮箱服务器&#xff08;SMPT&#xff09;为亚马…...

Vite + Vue3 +Vant4出现Toast is not a function

今天写前端的时候出现了这个问题搞了我一会 搜集原因: 1:是vant版本的问题&#xff0c;Toast()的方法是vant3版本的写法&#xff0c;而我用的是vant4&#xff0c;vant4中的写法改成了showToast()方法&#xff0c;改正过来 import {showToast} from "vant"; 发现还是…...

【MATLAB】模拟退火算法

模拟退火算法的MATLAB实现 模拟退火算法简介模拟退火算法应用实例关于计算结果 模拟退火算法简介 1982年&#xff0c;Kirkpatrick 将退火思想引入组合优化领域&#xff0c;提出了一种能够有效解决大规模组合优化问题的算法&#xff0c;尤其对 NP 完全问题表现出显著优势。模拟…...

什么是Kubernetes RBAC?

什么是Kubernetes RBAC? 1、什么是RBAC?2、核心组件3、优势💖The Begin💖点点关注,收藏不迷路💖 在Kubernetes集群中,RBAC(基于角色的访问控制)是保障系统安全的关键。它通过角色和绑定管理不同实体对资源的访问权限,具有显著优势: 1、什么是RBAC? RBAC是Kube…...

在Spring Boot中通过自定义注解、反射以及AOP(面向切面编程)

在Spring Boot中&#xff0c;通过自定义注解、反射以及AOP&#xff08;面向切面编程&#xff09;来动态修改请求参数是一种高级且强大的技术组合&#xff0c;它允许开发者在不修改原始方法实现的情况下&#xff0c;对方法的执行过程进行干预和定制。这种技术通常用于日志记录、…...

保姆级教程:PX4 EKF调参实战,手把手教你搞定Q、R矩阵(附避坑指南)

PX4 EKF调参实战&#xff1a;从传感器噪声到Q/R矩阵优化的完整指南 当无人机在强风环境下突然出现位置漂移&#xff0c;或是穿越机在高速机动时姿态估计突然发散——这些场景背后往往隐藏着扩展卡尔曼滤波器(EKF)参数配置不当的问题。作为PX4飞控的核心状态估计算法&#xff0c…...

别再死记硬背了!用这个动画+仿真,5分钟搞懂CMOS反相器到底怎么‘反’的

别再死记硬背了&#xff01;用动画仿真5分钟搞懂CMOS反相器的翻转奥秘 第一次翻开数字电路教材时&#xff0c;那个由PMOS和NMOS组成的对称结构总让我困惑——为什么PMOS必须在上方&#xff1f;为什么输入高电平反而输出低电平&#xff1f;直到我在实验室里用仿真软件亲眼看到电…...

dfs经典例题——迷宫问题(利用二维数组优化方向判断)

思路&#xff1a;首先关于方向问题&#xff0c;我们可以设定一个默认方向&#xff0c;比如先默认向右&#xff0c;触底向下&#xff0c;然后再是向左向上。只需要平行在dfs函数中即可&#xff0c;每次递归会自动依次按照if条件进行合适方向的查找初始量&#xff1a;地图数组&am…...

21.【RTL_Synthesis】Analyzing Synthesis Results(综合结果分析)

&#x1f50d; 分析综合结果&#xff1a;从数字到洞察 我们已经学会了用 Yosys 把 RTL 综合成门级网表&#xff0c;也知道了如何用脚本批量处理不同工艺角。但综合工具跑完之后&#xff0c;我们得到了一堆数字&#xff1a;多少门、多少触发器、面积多大……这些数字到底意味着什…...

LeetCode 3418:机器人获取最大金币数(动态规划+状态压缩)

LeetCode 3418&#xff1a;机器人获取最大金币数&#xff08;动态规划状态压缩&#xff09; LeetCode 3418. 机器人可以获得的最大金币数【动态规划状态压缩】 问题描述 给定一个 m x n 的网格&#xff0c;机器人从左上角 (0, 0) 出发前往右下角 (m-1, n-1)&#xff0c;仅能向右…...

智能信道建模实战指南:从技术选型到落地实施的决策框架

智能信道建模实战指南&#xff1a;从技术选型到落地实施的决策框架 【免费下载链接】DeepMIMO-matlab DeepMIMO dataset and codes for mmWave and massive MIMO applications 项目地址: https://gitcode.com/gh_mirrors/de/DeepMIMO-matlab 在5G向6G演进的过程中&#…...

文墨共鸣使用避坑指南:避免这3个误区让分析更准确

文墨共鸣使用避坑指南&#xff1a;避免这3个误区让分析更准确 1. 引言&#xff1a;从“会用”到“用好”的关键一步 你已经成功部署了文墨共鸣&#xff0c;体验了它那充满诗意的水墨界面&#xff0c;也尝试过输入几段文字来感受AI对语义的“雅鉴”。但你是否遇到过这样的困惑…...

抛开Transformer,我们还能如何理解Attention机制?

对于许多软件测试从业者而言&#xff0c;“Attention机制”这个词常常与Transformer、BERT、GPT这些大模型名词紧密捆绑&#xff0c;仿佛是深度学习“黑盒”中一个难以触及的复杂组件。然而&#xff0c;当我们暂时抛开Transformer这棵参天大树&#xff0c;回归到Attention机制本…...

Ostrakon-VL处理网络协议:从数据包捕获文件可视化网络流量

Ostrakon-VL处理网络协议&#xff1a;从数据包捕获文件可视化网络流量 1. 网络流量分析的痛点与机遇 网络工程师每天都要面对海量的网络数据包&#xff0c;传统的分析工具虽然功能强大&#xff0c;但存在几个明显痛点&#xff1a; 数据量大&#xff1a;一个中等规模企业的日…...

扩散模型技术演进三部曲:从理论奠基到产业落地的核心突破

1. 扩散模型&#xff1a;一场关于"破坏与重建"的技术革命 想象你正在教一个孩子画画&#xff0c;但用的是一种特别的方式&#xff1a;先给他看一张完整的画作&#xff0c;然后你不断地在上面涂抹修改&#xff0c;直到画作变成一团杂乱无章的线条。接着&#xff0c;你…...