Table of Contents Previous Next


2 Overview : 2.4 Designing a Replication System

Step 1: Determine if xDB Replication Server is the right solution for your requirements and you have chosen the best solution for your particular needs. xDB Replication Server can be used to implement single-master or multi-master replication systems. For single-master replication systems, the distinguishing characteristic of xDB Replication Server is its ability to replicate from an Oracle database to a PostgreSQL or Advanced Server database, from a SQL Server database to a PostgreSQL or Advanced Server database, from an Advanced Server database to an Oracle database, or from a PostgreSQL or Advanced Server database to a SQL Server database.
Step 2: Plan the general strategy of how you will use xDB Replication Server. Will the single-master or multi-master model best suit your needs? (See Section 2.1 for use case examples of single-master and multi-master replication systems.) Will you be replicating from Oracle to Postgres, from SQL Server to Postgres, from Advanced Server to Oracle, or from Postgres to SQL Server? Will you be replicating between PostgreSQL and/or Advanced Server databases? How often will you need to replicate the data? Will replication be done on an ad hoc basis or does it need to occur regularly according to a schedule?
Step 3: Plan the logistics of your replication system. How many tables do you expect to replicate and what are their sizes in total number of bytes and number of rows? What percentage of rows do you expect to have been changed on each table between each replication? Are your database servers required to run on dedicated machines?
Step 4: Design your replication system. Determine whether your replication system will be distributed or will run on a single host. Determine the publications and subscriptions you will need and their tables and views. Make sure your publication tables meet the requirements for an xDB Replication Server publication. See sections 2.4.2 and 2.4.3 for details.
Step 5: Implement and test your replication system in a test environment. Try out your replication system on a subset of your publication data to ensure the replication process works as expected. Make sure the resulting replicated tables can be used as expected in your application. Establish preliminary metrics on how long the replication process will be expected to take in your full production environment.
Step 6: Implement and test your replication system in your production environment.
Make sure table definitions are well established before creating publications. Unless the DDL change replication feature is used as described in Section 7.8, if a table definition is changed, any publication containing the table along with its associated subscription must be deleted and recreated, otherwise replication may fail. The same applies for the table definitions in a master definition node and its associated master nodes. Replication failures can be seen in the replication history.
Note: Foreign key constraints are not replicated by the publication or subscription server in a single-master replication system. However, in a multi-master replication system, foreign key constraints are replicated from the master definition node to other master nodes.
Note: Sequences (database objects created by the CREATE SEQUENCE statement) are not replicated from the publication database to the subscription databases in a single-master replication system. Sequences are also not replicated from the master definition node to other master nodes in a multi-master replication system.
Note: See Section 10.4.6 for a method to replicate tables containing the SQL_VARIANT data type under certain conditions.
Postgres tables that include any geometric data types such as POINT, POLYGON, etc., cannot be replicated to an Oracle subscription database.
Any ARRAY data type (that is, defined as data_type[])
Postgres data types called range types were first supported in PostgreSQL version 9.2 and Advanced Server version 9.2. Built-in range types refer to the following built-in data types: int4range, int8range, numrange, tsrange, tstzrange, and daterange.
Custom range types constructed with the CREATE TYPE AS RANGE command are not supported in xDB Replication Server.
Note: In a multi-master replication system, on demand snapshots can only be made from the master definition node to another master node.
See Section 5.4 for directions on performing an on demand replication for a single-master replication system. See Section 6.5 for a multi-master replication system.
2.4.5.1 Single Host

2 Overview : 2.4 Designing a Replication System

Table of Contents Previous Next