数据库管理-第228期 Oracle全球分布式数据库-初探(20240812)

news2024/11/16 1:28:22

数据库管理228期 2024-08-12

  • 数据库管理-第228期 Oracle全球分布式数据库-初探(20240812)
    • 1 概念
    • 2 关于全球分布式数据库
    • 3 分布式分区
    • 4 Oracle全球分布式数据库的优势
    • 总结

数据库管理-第228期 Oracle全球分布式数据库-初探(20240812)

作者:胖头鱼的鱼缸(尹海文)
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。
除授权转载并标明出处外,均为“非法”抄袭

感觉这个月是我近一年来写文章最懒的一个月,所以最近准备开始新的系列,对Oracle 23ai的全球分布式数据库(Globally Distributed Database)进行探索。本期将对全球分布式数据库进行简单讲解。

1 概念

全球分布式数据库是一种对数据进行分区以分配计算和存储工作负载的方法,有助于实现超大规模计算。超大规模计算,hyperscale computing,是一种为了满足系统需求可以快速扩展或缩小的计算架构,这种架构创新最初是由运行分布式站点的互联网巨头推动的,并已被大型云提供商采用。
为了实现超大规模计算,一般采用一种叫分片(Sharding)的技术,即将数据段的集合,也就是分片分布存放在运行在大量服务器的多个数据库中。
Sharding使用分片间不共享硬件或软件的share-nothing架构,所有分片组合在一起构成了一个被称为分片数据库(Shared database)的单一的逻辑数据库。
从应用程序的角度来看,分片数据库看起来像一个单一的数据库:分片的数量以及这些分片之间的数据分布对数据库应用程序完全透明。从数据库管理员的角度来看,分片数据库由多个可以共同管理的数据库组成。
image.png
其实全球分布式数据库和12.2引入的Sharding有很多相似的地方(这里关于19c Sharding相关文档我做了部分翻译,可以去墨天轮下载:https://www.modb.pro/doc/124393),简单来说就相当于将原来运行在集中式数据库中的分区表,将每个分区分散在不同的数据库中,所有数据库中的数据加起来就是对应表的数据总和。

2 关于全球分布式数据库

Oracle全球分布式数据库是Oracle数据库的一个功能,可以在一个不共享硬件和软件的数据库池中自动分布、复制数据库。Oracle全球分布式数据库提供了成熟RDBMS和NoSQL数据库的最佳特性和功能:

  • 使用SQL语言在Oracle数据库中创建对象、确保数据一致、复杂JOIN、ACID事务特性、分布式事务、关系型数据存储、安全、加密、性能优化、备份与恢复和补丁应用
  • Oracle的创新与企业级功能:高级安全、自动存储管理(ASM)、高级压缩、分区、高性能存储引擎、SMP可扩展性、Oracle RAC、Exadata、in-memory列(列式存储)、在线重定义、JSON文档存储等
  • 可用于分片数据库应用开发和管理的工具:SQL Developer、EMCC、RMAN和数据泵
  • 可通过DG和ADG实现极致的可用性。其余复制选项可以使用内建于Oracle全局分布式数据库的Raft复制
  • 支持多模:关系型、text和JSON
  • 可充分利用内部和全球Oracle数据库管理员技能,可以保留现有的生命周期管理和操作流程
  • 企业级支持
  • NoSQL数据库的极致扩展性与可用性

3 分布式分区

分片是一种基于跨多个独立物理数据库对数据进行水平分区的数据库扩展技术。这种配置中的每个物理数据库都称为分片。分片表在分片数据库的所有分片之间进行分区。每个分片上的表分区的使用与非分片Oracle数据库的分区没有区别。
image.png

4 Oracle全球分布式数据库的优势

全球分布式数据库的重点优势:

  • 线性扩展
    基于shared-nothing架构的Oracle全球分布式数据库可以消除性能瓶颈并提供近乎无限的扩展性。目前支持可扩展至1000个分片
  • 极致可用性与故障隔离
    因为没有软件和硬件共享,因此不会出现单点故障。一个分片的故障或低性能不会影响其他分片的性能与可用性
    分片可以使用Oracle MAA(可查看第216期)最佳实践解决方案,比如DG和RAC
    一个分片的非计划停机和计划内维护仅仅影响这个分片的数据可用性,因此只有一小部分使用这部分数据的用户会受到影响
  • 数据的地理分布
    可以按照多个地域划分来分布一个单一逻辑数据库,这样可以满足数据隐私监管要求(数据主权),并允许在使用者就近存储、访问特定数据(数据邻近性)。

总结

本期对Oracle全球分布式数据库的基本概念进行了简单介绍。
下一期将针对典型场景进行讲解,后面将根据Oracle 23ai实际发布情况尝试进行简单搭建展示。
老规矩,知道写了些啥

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

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

相关文章

如何在Shopify开发中高度还原Figma设计稿

### 一、理解设计意图:设计与开发的有效沟通#### 1. 早期沟通的重要性在开发工作开始之前,开发人员应与设计师进行详细的沟通,确保对设计意图有深刻理解。关键点包括:- **色彩和字体**:了解设计师对品牌色彩和字体的选…

从0开始搭建vue + flask 旅游景点数据分析系统(十一):登录、注册页面、未登录拦截、注销逻辑

这一期已经到了系列教程的尾声了,下面来搭建登录、注册页面,处理登录拦截和注销的逻辑 1 建表 先把数据库表用户相关的数据库表建立一下: CREATE TABLE tb_user (id int NOT NULL AUTO_INCREMENT COMMENT id,realname varchar(255) CHARAC…

燃气综合管理解决方案:构建安全可靠的燃气供应网络

无论是繁华的都市中心还是宁静的郊区,地下深处都隐藏着错综复杂的燃气管道网络,这些管网为千家万户输送着生活必需的能源。尽管这些管道由高强度和耐腐蚀材料制成,但长期暴露于自然环境中仍会逐渐老化和磨损。一旦发生破损或因人为错误导致管…

eNSP 华为单臂路由实现VLAN间通信

华为单臂路由实现VLAN间通信 SW&#xff1a; <Huawei>sys <Huawei>system-view [Huawei]sysname SW [SW]VLAN batch 10 20 //批量划分VLAN [SW]int g0/0/1 [SW-GigabitEthernet0/0/1]port link-type trunk [SW-GigabitEthernet0/0/1]port trunk allow-pa…

LabVIEW光纤水听器闭环系统

开发了一种利用LabVIEW软件开发的干涉型光纤水听器闭环工作点控制系统。该系统通过调节光源频率和非平衡干涉仪的光程差&#xff0c;实现了工作点的精确控制&#xff0c;从而提高系统的稳定性和检测精度&#xff0c;避免了使用压电陶瓷&#xff0c;使操作更加简便。 项目背景 …

安卓平板电脑定制方案_MTK联发科智能终端方案开发

基于联发科MT8788八核2.0GHz处理器的平板电脑方案&#xff0c;这款平板电脑不仅支持4G和Wi-Fi 5高速网络&#xff0c;还搭载了Android12.0系统&#xff0c;可带来流畅的多任务处理和广泛兼容性。其6GB运行内存和128GB内置存储&#xff0c;再加上支持TF卡扩展&#xff0c;确保了…

【微信小程序】WXS脚本

概述 1. 什么是 wxs WXS&#xff08;WeiXin Script&#xff09;是小程序独有的一套脚本语言&#xff0c;结合 WXML&#xff0c;可以构建出页面的结构。 2. wxs 的应用场景 3. wxs 和 JavaScript 的关系* 基础语法 1. 内嵌 wxs 脚本 2. 定义外联的 wxs 脚本 3. 使用外联的 w…

【Qt菜鸟笔记】QLCDNumber控件

1.QLCDNumber控件简介&#xff08;Qt6.5.3版&#xff09; QLCDNumber控件显示带有类似 LCD 数字的数字。它可以显示十进制、十六进制、八进制或二进制数。 头文件引入#include<QLCDNumber>CMake配置:find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_librar…

ffmpeg的基础命令

文章目录 ffmpeg/ffplay/ffprobe区别ffmpeg 的作用ffplay的作用ffprobe的作用 ffmpeg使用概述功能概述转码过程简单使用FFMPEG -i常用的 -i例子 ff***工具之间共享的选项ffmpeg主要选项ffmpeg提取音视频数据ffmpeg命令修改原有的视频格式ffmpeg命令裁剪和合并视频拼接视频的方式…

【二叉树OJ】常见面试题

文章目录 1.[单值二叉树](https://leetcode.cn/problems/univalued-binary-tree/description/)1.2 题目要求1.3 深度优先搜索 2.[相同的树](https://leetcode.cn/problems/same-tree/)2.1 题目要求2.2 深度优先遍历 3.[对称二叉树](https://leetcode.cn/problems/symmetric-tre…

热敏打印机ESC指令封装-SAAS本地化及未来之窗行业应用跨平台架构

一热敏打印机ESC指令 它包含了一系列的控制指令&#xff0c;通过这些指令可以实现对打印内容的格式设置&#xff0c;如字体大小、加粗、下划线、对齐方式等。还能够控制打印的位置、纸张进纸、切纸等操作。 例如&#xff0c;在商业零售场景中&#xff0c;收银小票打印机就是基…

刷到好听的音频怎么办

在短视频平台上&#xff0c;我们常常会刷到那些好听得让人陶醉的视频&#xff0c;可却无法直接下载保存其中的音频&#xff0c;是不是感觉很遗憾&#xff1f; 比如刷到林俊杰这首前奏超好听的《江南》&#xff0c;却禁止下载无法直接下载保存。 别担心&#xff0c;下面就为您揭…

html页面缩放自适应

html页面缩放自适应 一、为什么页面要进行缩放自适应 在我们一般web端进行页面拼接完成后&#xff0c;在web端的显示正常&#xff08;毕竟我们是按照web端进行页面拼接完成的&#xff09;&#xff0c;那么要是用其他设备打开呢&#xff0c;比如手机或者平板&#xff0c;这时候…

聚鼎科技:新手做装饰画生意卖什么比较好

在艺术的广阔天地里&#xff0c;装饰画以其独特的魅力逐渐成为室内装饰不可或缺的元素。对于刚入行的新手而言&#xff0c;选择合适的装饰画产品至关重要&#xff0c;它关系到业务的成功与否。以下是一些关于新手做装饰画生意卖什么比较好的建议。 考虑到市场需求的多样性&…

宝兰德荣获openEuler项目群青铜捐赠人称号,共筑开源生态繁荣新篇章

近日&#xff0c;开放原子开源基金会正式公布了新增捐赠人名单&#xff0c;宝兰德凭借在开源领域的卓越贡献与深厚实力&#xff0c;被授予openEuler项目群青铜捐赠人称号。 开放原子开源基金会是致力于推动全球开源事业发展的非营利机构&#xff0c;于2020年6月在北京成立。开放…

Vue3+Vite项目从零搭建+安装依赖+配置按需导入

环境准备 Vscode/HBuilder等任何一种前端开发工具node.js&npm本地开发环境 源代码管理&#xff1a;Git 技术栈 项目构建 创建项目 npm create vite依次运行最后三行出现&#xff0c;成功启动项目在浏览器输入 http://localhost:5173/ 可以显示页面 src别名的配置 在…

xcode14.2学习笔记 swift5开发macos网络程序笔记

1. .frame(width: 200.0, height: 200.0) 控制默认窗体大小 2.去除Metal API Validation提示 Product->Scheme > Edit Scheme... > Run > Diagnostics > Metal API Validation. 3.本地安装git依赖资源&#xff08;可能有的时候并不好用&#xff0c;显示不出自…

星露谷模组开发教程#6 烹饪和制造配方

首发于Enaium的个人博客 在上篇文章中我们添加了一个新的食物&#xff0c;但是这个食物并没有配方&#xff0c;所以我们今天来添加一个配方。 烹饪配方 我们在Data/CookingRecipes.json中可以看到所有的食物配方&#xff0c;所以我们需要修改这个配置文件来添加我们的食物配方…

基于Vue2使用x2js将JSON转换成XML、将XML转换成JSON

x2js源码地址GitHub - abdolence/x2js: x2js - XML to JSON and back for JavaScriptx2js - XML to JSON and back for JavaScript. Contribute to abdolence/x2js development by creating an account on GitHub.https://github.com/abdolence/x2js import x2js from x2js;//…

go语言后端开发学习(四) —— 在go项目中使用Zap日志库

一.前言 在之前的文章中我们已经介绍过如何使用logrus包来作为我们在gin框架中使用的日志中间件&#xff0c;而今天我们要介绍的就是我们如何在go项目中如何集成Zap来作为日志中间件 二.Zap的安装与快速使用 和安装其他第三方包没什么区别&#xff0c;我们下载Zap包只需要执…