Updating Systems by Parts

One of the biggest problems about systems update is the offline system time for the end user. Mostly when the actions and changes are in the Database. As big is the amount of data and size of the database, as long it will take your system offline. Was that necessity in decrease this time that a company for which I do database consulting, brought me. I had the need to imagine an update strategy in their systems in a way that the end user would stay less time as possible with offline system, or at least, with a minimum of impact in the customer operation. The major trouble about it is to fit the software version with its correspondent database structure. Of course, when this update leads to a database structure change, as table creation, columns, etc. In a hot update, with users using the system, you can even get the database modifications, depending on the database, but there will be a moment, in some parts of the system, that might occur errors due the difference of database struc...