[openstack-dev] no-downtime DB migrations
Dolph Mathews
dolph.mathews at gmail.com
Tue Apr 30 13:16:33 UTC 2013
On Mon, Apr 29, 2013 at 3:48 PM, Robert Collins
<robertc at robertcollins.net>wrote:
> There were I think 5? 6? sessions on this general topic at the summit.
>
> https://etherpad.openstack.org/HavanaNoDowntimeDBMigrations is the
> session I coordinated; where Johannes & Mark Wash volunteered to put
> together the basic infrastructure for OpenStack going forward.
>
> We captured several key constraints:
> * one deploy of new code : distributors cannot depend on lots of little
> steps
> * <=5 seconds downtime with the database on each migration applied
> * Stay HA during the entire period
> * work with mysql 5.1 in the sense of can install/deploy etc.
> no-downtime configurations can require very recent versions of the DB
> (e.g. MySQL 5.5 and above)
>
> And a basic design:
>
> Basic design:
> * Running foo db-sync will apply migrations in no-downtime fashion
> * Migrations may be expand-contract, or in-place depending on
> anticipated data-size
> * Abstraction layer for dealing with different HA configurations
> * Code talking to the DB will know how to deal with all intermediary
> versions of the DB
>
If we need to support "all" intermediary versions forever, then schema
migrations aren't exactly useful. So, how long do we need to maintain
support for intermediary migrations?
A -> B -> C
In other words, if patch A introduces intermediary schema support, patch B
is a schema migration, and patch C removes legacy schema support, when can
patch C land? Next milestone? Next release?
(A and B could be the same commit, but I separated them for illustration)
In my opinion, this makes the timing-based releases much more difficult, as
it chokes the iteration process and makes swift's cycle much more appealing.
> * Rollup migrations and cleanup legacy code on regular basis - e.g.
> once per release.
>
> IIRC glance was going to be the guinea pig, with code migrating from
> there to oslo once it starts to mature.
>
> Cheers,
> Rob
>
>
> --
> Robert Collins <rbtcollins at hp.com>
> Distinguished Technologist
> HP Cloud Services
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130430/29c2e0b1/attachment.html>
More information about the OpenStack-dev
mailing list