【12.2新特性】Oracle Sharding分片级别的高可用实现

编辑手记:Oracle Sharding是从12c推出的通过分区技术实现的一种数据库架构,在12.2中这项技术也越来越成熟。release 2中新特性包含:分片的自动部署,智能路由和全生命周期管理等,同时,通过与DG技术的集成,将实现分片级别的高可用。

推荐阅读:

关于Oracle Sharding,你想知道的都在这里

Oracle 12.2新特性掌上手册 - 第四卷 Sharding 的增强

Oracle Sharding与Oracle数据库复制技术(Data Guard)集成,可在碎片级别实现高可用性和灾难恢复

Oracle Sharding与Oracle Data Guard紧密集成。 Data Guard复制维护一个或多个分片(主要)的同步副本(standbys),以实现高可用性和数据保护。Standbys可以在本地或远程部署,并且在使用Oracle Active Data Guard时也可以打开只读访问。

1、关于分片和复制

Oracle Sharding与Oracle Data Guard紧密集成。复制技术为读取提供高可用性,灾难恢复和增强的可扩展性。

分片数据库(SDB)中的复制拓扑使用GDSCTL命令语法声明性地指定。 Oracle Sharding自动部署指定的复制拓扑并启用数据复制。

SDB的可用性不受一个或多个分片的中断或性能影响。 复制技术用于提供单独的分片级高可用性(Oracle Active Data Guard)。 创建SDB时,会自动配置和部署复制。 或者也可以使用Oracle RAC进行碎片级高可用性(由复制补充),以在集群中断的情况下维护分片级数据可用性。 如果出现计划外中断,Oracle Sharding会自动从分片到其副本的数据库连接失败。

2、Oracle Data Guard与SDB集成的实现

Oracle Data Guard复制维护一个或多个分片(主要)的同步副本(standbys),以实现高可用性和数据保护。 Standbys可以在本地或远程部署,并且在使用Oracle Active Data Guard时也可以打开只读访问。

Oracle Data Guard可以用作SDB的复制技术,使用系统管理的或复合的分片方法。

将Oracle Data Guard与系统管理的SDB配合使用

在系统管理和复合分片中,逻辑复制单元是称为分片组的一组分片。在系统管理的分片中,分片包含存储在SDB中的所有数据。数据通过构成分片组的碎片之间的一致哈希进行分片。属于分片组的碎片通常位于同一个数据中心。整个分组可以完全复制到相同或不同数据中心中的一个或多个分组。

下图说明了Data Guard复制如何与系统管理的分片一起使用。在图中的示例中,有一个主分片组,Shardgroup 1和两个备用分片组,Shardgroup 2和Shardgroup 3. Shardgroup 1由Data Guard主数据库(分片1-3)组成。 Shardgroup 2由位于同一数据中心并配置为同步复制的本地备用数据库(分片4-6)组成。 Shardgroup 3由位于不同数据中心的远程Standbys(分片7-9)组成,并配置为异步复制。在此配置中启用Oracle Active Data Guard,因此每个待机都是只读的。

shardgroup以逻辑复制单元呈现,其实现细节对于用户是透明的。 使用Data Guard,在分片(数据库)级别进行复制。 上图中的SDB由三组复制的分片组成:{1,4,7},{2,5,8}和{3,6,9}。 每组复制的分片都作为启用快速启动故障切换(FSFO)的Data Guard Broker配置进行管理。

要部署复制,需要指定shardgroups(region,role等)的属性,并将碎片添加进去。 Oracle Sharding自动配置Data Guard并为每组复制的分片启动FSFO观察器。 它还提供只读工作负载,基于角色的全局服务和复制滞后以及基于位置的路由的负载平衡。

运行以下GDSCTL命令来部署上图所示的示例配置。

使用Oracle Data Guard与复合SDB

在复合分片中,SDB由多个分片组成。 但是,每个shardspace,而不是复制的碎片,包含复制的碎片组。

运行以下GDSCTL命令部署上图所示的示例配置。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-03-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与算法进阶

Spark教程(一)为什么要学spark

Apache Spark是一个开源集群运算框架,最初是由加州大学柏克莱分校AMPLab所开发。相对于Hadoop的MapReduce会在运行完工作后将中介数据存...

814
来自专栏Golang语言社区

服务器备份方式大概有以下几种 详细??

1、正常备份(Normal): 也叫完全备份。正常备份是最普遍的一种备份方式,是将整个系统的状态和数据完全进行备份,包括服务器的操作系统、应用软件以及所有的数据...

29210
来自专栏大魏分享(微信公众号:david-share)

基于开源日志管理系统的设计与构建--构建数据中心一体化运维平台第四篇

1. 前 言 本文在书写过程中,咨询了红帽技术专家郭跃军、李春霖、张亚光,并借鉴了他们提供的技术文档,在此表示感谢! 此外,在书写过程中,笔者也借...

3406
来自专栏架构说

分布式配置中心架构与实战

声明:信息来源 docker.io 分享主题:分布式配置中心架构与实战 分享主题:分布式配置中心架构与实战 声明 信息来源docker.io 今天的大规模...

7768
来自专栏搜云库

Spring Cloud(六)服务网关 zuul 快速入门

服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。S...

2849
来自专栏人工智能LeadAI

一步一步打造MySQL高可用平台

笔者刚开始进入公司的时候,主要是忙于分布式MySQL系统----MyShard的构建,公司使用了大量的IDC机房,基于这种网络特点,MyShard设计当初完全是...

1193
来自专栏鹅厂优文

【DataMagic】如何在万亿级别规模的数据量上使用Spark

本文主要为作者在搭建使用计算平台的过程中,对于Spark的理解,希望能给读者一些学习的思路。

1K8
来自专栏猿天地

solr or es 结合弥补mongodb的全文检索功能

最近将公司的solr集群升级到了最新的6.5版本。 之前用了N年的是3点多的版本,那个时候solr还不支持自带的集群,集群方式都是自己实现的。 公司里用的最多的...

38014
来自专栏python学习之旅

loadrunner笔记(一):下载、安装loadrunner和负载压力测试概念说明

1105
来自专栏小狼的世界

Kubernetes中StatefulSet介绍

使用Kubernetes来调度无状态的应用非常简单,那Kubernetes如何来管理调度有状态的应用呢?Kubernetes中提供了一个StatefulSet控...

1274

扫码关注云+社区