Browse Prior Art Database

System And Method To Automate Setup Of A Replication System For Rolling Upgrade Scenarios With Schema Changes

IP.com Disclosure Number: IPCOM000225080D
Publication Date: 2013-Jan-23
Document File: 4 page(s) / 74K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed are a system and method to automate setup of rolling upgrade in the presence of schema changes. When performing a rolling upgrade, a live system is maintained while a parallel system is upgraded and prepared. The data that accumulates in the live system (source) during this process is then transformed and replicated onto the upgraded system (target). This invention includes a system and method to automatically generate the mappings that can be used to configure a database replication system.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 47% of the total text.

Page 01 of 4

System And Method To Automate Setup Of A Replication System For Rolling Upgrade Scenarios With Schema Changes

In an IT environment, Continuous Availability is a necessity to deliver non- disrupted service to the end user, seven days a week, and 24 hours a day (there are no planned or unplanned outages). Continuous Availability is composed of:


• High Availability: provide service during defined periods, at acceptable or agreed upon levels, and masks unplanned outages from end-users


• Continuous Operations: continuously operate and mask planned outages from end-users

While many products support some level of High Availability through many existent technology and middleware, Continuous Operations is a more complex area, which

requires a deep understanding of the software that is being updated/upgraded and its

specific changes (e.g., database changes including metadata changes).

This invention is focused on the Continuous Availability domain; that is, how to allow for product updates/upgrades (planned outages) without disrupting end-users. Users have a great interest in being able to upgrade their products with zero downtime to their production environments.

The solution is a "rolling upgrade". This is a method to maintain a live system while a parallel system is upgraded and prepared. The data that accumulates in the live system (source) during this process is then transformed and replicated onto the upgraded system (target).

The overall process is as follows:

1. Make a copy or snapshot of the production or Live System (Env A) to a parallel environment (Env B)

2. Env A continues to be available to end users and other clients for their normal usage. Normal operational transactions and changes continue to be processed on Env A.

3. Upgrade Env B to Env B using the normal upgrade process. Perform any post-upgrade configurations, and customizations and validations.


4. Replicate changes from Env A to Env B. As part of the replication of the

changes, perform any required data transformations to account for the data model changes due to the upgrade and customizations. Replication could performed "all at once" deal or iteratively or on a continuous basis as the changes happen.

5. Once Env B is synced with the changes on Env A, switch the users and clients to use Env B' with little or minimal down time

Figure 1: Rolling Upgrade/Zero Downtime - High Level Concept

1


Page 02 of 4

Various database replication tools can be used for synchronizing the changes from the

live source system to the upgraded target system. A common problem with replication

tooling is that it requires detailed specification of mappings of tables and columns from the source system to the target system. For some product deployments, the number of tables could run into several hundreds. In addition, each table needs to be analyzed for the actual change that happens in it when the product is upgraded. The most common scenarios are:


• There are no changes to the table, so...