第二篇 拓扑结构与用例
文章出处来自Expert Oracle GoldenGate。本人英语水平有限,按照自己对OGG的理解和书面表达的含义写下了这篇博客,为自己的学习之路做个纪念。
GoldenGate支持多种复制拓扑结构,如单项复制、双向复制、点对点复制,广播复制,集成复制。每种拓扑结构都可以提供很多用例。今天的这篇博客让我们来看看有哪些常用的拓扑结构与用例。
One-Way Replication
单项复制
单项复制是最简单的拓扑结构,经常用来做报表输出或者卸载密集的查询,同时还能达到一个双机热备的作用。数据从一个源端复制到一个目标端,并且复制方向只有一个。源端数据库产生变化,目标端是只读状态(read-only)。源端和目标端可以是相同类型的数据库,也可以是不同类型的数据库。比如源端是Oracle OLTP数据库,目标端采用SQL Server数据库通过过滤转换来提供报表和数据分析的目的。我们主要讨论两端都是Oracle数据库的应用。
GoldenGate的单向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
可以切换的单向复制
GoldenGate可切换的单向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
4. 从源端到目标端的数据复制持续运行着。当源端数据库需要升级时,无法避出现停机的操作。可切换的单项复制可以实现数据库的零停机升级。
通过手工切换(switchover)来改变源端与目标端的方向,同时改变数据复制的方向。 之前的源库变成目标库、目标库变成源库。
5. Local Extract运行在源端,抽取数据并写入Source Trail文件。
6. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
7. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
关键点:Switchover将source和target关系互换,复制方向互换。
Bidirectional Replication
双向复制
下图是一个典型的双向复制拓扑图。经常用于高容量高性能的环境。和单项复制不同,双向复制的的两端Replicat都是活动状态,硬件可以得到更多的利用。但是双向复制比较复杂,容易出现键值冲突,为此必须设计相关的策略。
GoldenGate双向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在每一个源端上。
2. data pump运行在每一个源端上。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在每一个目标端上,负责更新目标数据库。配置多个并行Replicats可以提高性能。
Broadcast Replication
广播复制
广播复制是从一个源端向多个目标端复制数据。目标端是只读状态。
广播复制常用在将一个生产数据复制到多个异地服务器上。这样做的好处是可以减轻众多用户对生产库同时访问所造成的压力。
GoldenGate广播复制配置图
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. 两个data pump运行在源端,以并行的方式将数据发送到每一个目标数据库。
3. Replicat运行在每一个目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
Integration replication
集成复制
集成复制用来从多个源端数据库将数据整合到一个目标数据库中。目标数据库为只读状态。
集成复制常用在数据仓库环境。每个源端数据库经过转换、过滤成为数据仓库中的一个子集。
GoldenGate集成复制配置图
1. Local Extract运行在每一个源端。
2. data pump运行在每一个源端,将数据发送到目标数据库。
3. 两个Replicat并行运行在目标端。分别执行相对应的源端发送过来的trail文件,更新目标数据库。
第二篇 完
文章出处来自Expert Oracle GoldenGate。本人英语水平有限,按照自己对OGG的理解和书面表达的含义写下了这篇博客,为自己的学习之路做个纪念。
GoldenGate支持多种复制拓扑结构,如单项复制、双向复制、点对点复制,广播复制,集成复制。每种拓扑结构都可以提供很多用例。今天的这篇博客让我们来看看有哪些常用的拓扑结构与用例。
One-Way Replication
单项复制
单项复制是最简单的拓扑结构,经常用来做报表输出或者卸载密集的查询,同时还能达到一个双机热备的作用。数据从一个源端复制到一个目标端,并且复制方向只有一个。源端数据库产生变化,目标端是只读状态(read-only)。源端和目标端可以是相同类型的数据库,也可以是不同类型的数据库。比如源端是Oracle OLTP数据库,目标端采用SQL Server数据库通过过滤转换来提供报表和数据分析的目的。我们主要讨论两端都是Oracle数据库的应用。
GoldenGate的单向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
可以切换的单向复制
GoldenGate可切换的单向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
4. 从源端到目标端的数据复制持续运行着。当源端数据库需要升级时,无法避出现停机的操作。可切换的单项复制可以实现数据库的零停机升级。
通过手工切换(switchover)来改变源端与目标端的方向,同时改变数据复制的方向。 之前的源库变成目标库、目标库变成源库。
5. Local Extract运行在源端,抽取数据并写入Source Trail文件。
6. data pump运行在源端,从source trail中读取数据并通过网络发送到remote trail。data pump不是必须配置的,但还是建议使用。
7. Replicat运行在目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
关键点:Switchover将source和target关系互换,复制方向互换。
Bidirectional Replication
双向复制
下图是一个典型的双向复制拓扑图。经常用于高容量高性能的环境。和单项复制不同,双向复制的的两端Replicat都是活动状态,硬件可以得到更多的利用。但是双向复制比较复杂,容易出现键值冲突,为此必须设计相关的策略。
GoldenGate双向复制配置图
下面是该图中执行过程的文字描述
1. Local Extract运行在每一个源端上。
2. data pump运行在每一个源端上。data pump不是必须配置的,但还是建议使用。
3. Replicat运行在每一个目标端上,负责更新目标数据库。配置多个并行Replicats可以提高性能。
Broadcast Replication
广播复制
广播复制是从一个源端向多个目标端复制数据。目标端是只读状态。
广播复制常用在将一个生产数据复制到多个异地服务器上。这样做的好处是可以减轻众多用户对生产库同时访问所造成的压力。
GoldenGate广播复制配置图
1. Local Extract运行在源端,抽取数据并写入Source Trail文件
2. 两个data pump运行在源端,以并行的方式将数据发送到每一个目标数据库。
3. Replicat运行在每一个目标端,负责更新目标数据库。配置多个并行Replicats可以提高性能。
Integration replication
集成复制
集成复制用来从多个源端数据库将数据整合到一个目标数据库中。目标数据库为只读状态。
集成复制常用在数据仓库环境。每个源端数据库经过转换、过滤成为数据仓库中的一个子集。
GoldenGate集成复制配置图
1. Local Extract运行在每一个源端。
2. data pump运行在每一个源端,将数据发送到目标数据库。
3. 两个Replicat并行运行在目标端。分别执行相对应的源端发送过来的trail文件,更新目标数据库。
第二篇 完