<div dir="ltr">I'm not sure the problem is that we use a general SQL database. The problems as I see it are:<div><br></div><div>-Multi-master in MySQL sucks. Complicated, problematic and not performant. Also, no great way to do multi-master over higher latency networks.</div>
<div>-MySQL and Postgres require tuning to scale.</div><div>-We tend to write queries badly when using SQLA. Ie. lots of code-level joins and filtering.</div><div>-SQLA mapping is pretty slow. See Boris and Alexei's patch to compute_node_get_all for an example of how this can be worked around[1]. Also comstud's work on the mysql backend[2].</div>
<div>-Thread serialization problem in eventlet, also somewhat addressed by the mysql backend</div><div><br></div><div>Some of these problems are addressed very well by some NOSQL DBs, specifically the multi-master problems just go away for the most part. However our general SQL databases provide some nice things like transactions that would require some more work on our end to do properly.</div>
<div><br></div><div>All that being said, I am very interested in what NOSQL DBs can do for us.</div><div><br></div><div>-Mike Wilson</div><div><br></div><div>[1] <a href="https://review.openstack.org/#/c/43151/">https://review.openstack.org/#/c/43151/</a></div>
<div>[2] <a href="https://blueprints.launchpad.net/nova/+spec/db-mysqldb-impl">https://blueprints.launchpad.net/nova/+spec/db-mysqldb-impl</a></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 18, 2013 at 12:35 PM, Mike Spreitzer <span dir="ltr"><<a href="mailto:mspreitz@us.ibm.com" target="_blank">mspreitz@us.ibm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font face="sans-serif">There were some concerns expressed at the
summit about scheduler scalability in Nova, and a little recollection of
Boris' proposal to keep the needed state in memory.  I also heard
one guy say that he thinks Nova does not really need a general SQL database,
that a NOSQL database with a bit of denormalization and/or client-maintained
secondary indices could suffice.  Has that sort of thing been considered
before?  What is the community's level of interest in exploring that?</font>
<br>
<br><font face="sans-serif">Thanks,</font>
<br><font face="sans-serif">Mike</font><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>