数据库管理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全球分布式数据库的架构和组件。
老规矩,知道写了些啥。