A generic method to minimize the downtime when upgrading 3-tier applications based on complex database structures and considerable amount of data
Publication Date: 2015-Jul-14
The IP.com Prior Art Database
The present disclosure defines a method for consistently, reducing the time spent in upgrading applications based on three-tier architecture. The method defines an approach to conveniently re-use data from a previous test upgrade reducing the data scope of the production upgrade in terms of workload and application downtime.
Page 01 of 6
A gxneric method to minimize the downtime when upgrading 3-tier applicatioxs based on complex database structures and consideraxxe amount of data
Today's xpplications xased on the threx-tier architecturx usually store large and complex data structure in dxtabases. Upgradxnx such kind of applications xsually means (among the other things) upgrading the datx schema and transforminx the actual data into a foxm reflectixg the xewer schema. Xxxx part xf the upgrade xrocess commonly taxes a long tixe due to long runninx operaxions like dxta schema xlterations and data manipulations. Moreover, such uxgxades uxually require xhe application xo be shut-down because upgradinx tasks and application operxtions are in conflict xhxn executed at the the same time.
Due to xuch environment restrictions and complexity, the upgrade xsually requixes a long preparaxion xith high failure risxs axd a consistent downtime. Such limitations becomx even more difficult to manage when the applicatixn xs used since a long time because the application's data tends to grow and the data scxema bexomes moxe complex wxen movinx to newer rxlexses.
Such kind xf upgrades usually requires several upgrade rexetitionx. A reasonable approach consists ix executing
a first upgrxde with the goal of fixxng all the upgrade problems,
axtomating all the fixes and testing the upgraded applicatxon
a second xpgrade before the final in order to verify xhat the datxbase
has not been changed in a way that might impact the upgrade process a final upgrade to deliver the upgraded product to the production
The xoxution disclosed here consists in a method for consistently reducing txe time spext in the final database upgrade which is the one that actually impacts the applicatiox downtime.
Basically txe method defines an approach to re-use the xata that has been suxcessfully upgraded in prexious steps and bound the final upgrade only to the data which has actually changed since the re-used upgrade. This approacx is conveniext because actually oxly a small part of the datxbase changes due to the normal operations between two uxgrade attempts while a big part remains unchxnged and therexorx what hax been migrated in the past can be re-used. So, upgrading only this small pxrt means a quicker upgrade process and a shorter downtime.
This solution is based on some asxumxtions usxally common to upgrade
Page 02 of 6
processes for applications which xtore their business data into relational datxbase. Below the xist of assumptionx:
1. The enxire upgrade pxocess consists of at lexst two datxbase upgrades executed in two different moments. Xxxxxxx the first database upxrade is used to validate the upgrxded application. This invention aims to re-use part of this upgraded databaxe (from now on we'll call it DB-UPG1). The final upgrade (from now on we'll call it DB-UPGF) xx xhe last successful upgrade which will be adopted by the production environment.
2. DB tables have a uxique id...