Code review comment for lp:~jcannava/nova/lp741274

Revision history for this message
Jason Cannavale (jcannava) wrote :

> Can you help me understand why this belongs in nova? It seems like it should
> be a deployer's decision what type of engine to run.

So the easy thing to consider here is that every software project has set of configurations that are known to perform well or the code that specifically makes use of features in a database system. A good example here is if I was to download magento or some of the other CMS/E-Commerce platforms. When I go to install them the database tables are already configured to what the developers/QA/Test folks have determined performs well and no further changes are necessary. From there I or the deployer can make any modifications and tweak it however I see fit (i.e. changing the engine from InnoDB on specific tables), but at least at the distribution point I have a baseline known good configuration.

Specifically to nova, it seems this intent has been there for a while but sqlalchemy was not setting up the tables (basically ignoring the settings currently in nova core) hence the migration script. Thinking about it further, consider a situation like nova where the tables and entries are going to be accessed at large volumes it makes sense that we would set the nova tables to InnoDB to have the ability to recover from crashes (log replay), better caching, etc.. as a baseline deployment.

Just my .02, if there isn't a consensus here that works also.

« Back to merge proposal