<HTML>
<HEAD><!-- Template generated by Exclaimer Mail Disclaimers on 11:47:05 Monday, 8 July 2013 -->
<STYLE type=text/css>P.ae431132-9d17-4a38-b6b5-634369783623 {
MARGIN: 0cm 0cm 0pt
}
LI.ae431132-9d17-4a38-b6b5-634369783623 {
MARGIN: 0cm 0cm 0pt
}
DIV.ae431132-9d17-4a38-b6b5-634369783623 {
MARGIN: 0cm 0cm 0pt
}
TABLE.ae431132-9d17-4a38-b6b5-634369783623Table {
MARGIN: 0cm 0cm 0pt
}
DIV.Section1 {
page: Section1
}
</STYLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>
<BODY style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif; ">
<P class=ae431132-9d17-4a38-b6b5-634369783623>
<div>
<div>
<div>Hi Matt,</div>
<div><br />
</div>
<div>Welcome to the list.</div>
<div>I shall try and do a brain dump, but it may end up throw more questions at you.</div>
<div><br />
</div>
<div>DB Migrations.</div>
<div>----------------------</div>
<div>Openstack is a very fast evolving project, which is great. However that means there are quite a lot of db migrations which add and remove columns to existing tables and perform similar operations with indexes etc.</div>
<div><br />
</div>
<div>If you have a production environment that is heavily used like ours, you are looking at having millions of rows in each of these tables.</div>
<div><br />
</div>
<div>As a developer writing code and testing, these migrations work perfectly well.</div>
<div>Typical tests are performed with test databases containing only test data which never comes up to millions or records.</div>
<div>Further more there is no production load on the test database actively trying to write stuff when you are altering the tables.</div>
<div><br />
</div>
<div>Database abstraction with SQLAlchemy is great, but it generally mean your schema alterations end up having the standard ALTER TABLE syntax.</div>
<div><br />
</div>
<div>I have personally used Percona's pt-online-schema-change.html to get me out of some of these sticky situations.</div>
<div><a href="http://www.percona.com/doc/percona-toolkit/2.2/pt-online-schema-change.html">http://www.percona.com/doc/percona-toolkit/2.2/pt-online-schema-change.html</a></div>
<div>BTW, Thank you very much for the above tool.</div>
<div><br />
</div>
<div>There is a risk in using such approaches as you want to make sure that you are not deviating even in the slightest of manner from what would have been achieved using the standard alter table. There is some work being done to introduce archiving of data
etc, which will help keep data growth in checks. Also using an online schema change becomes tricky when you have foreign key constraints on tables or if you have setup triggers for your table. (thankfully no triggers yet).</div>
<div><br />
</div>
<div>---------------------------------------------</div>
<div><br />
</div>
<div>High Availability is also something that that I think could so with some attention.</div>
<div><a href="http://docs.openstack.org/trunk/openstack-ha/content/ch-intro.html">http://docs.openstack.org/trunk/openstack-ha/content/ch-intro.html</a></div>
<div>The above page does detail the current recommended approach for setting up highly available mysql database servers.</div>
<div>The current approach is great if you are using dedicated hardware and have separate physical switches etc.</div>
<div>It does work reasonably well in a virtualised environment too, but one needs to take into account several other factors.</div>
<div><br />
</div>
<div>With mysql 5.6 support global transaction ID, (GTID) and improvements in galera and PXC(percona xtradb cluster)</div>
<div>I think there is definitely room to review the current recommended solutions</div>
<div><br />
</div>
<div>----------------------------------</div>
<div><br />
</div>
<div>I guess that is enough of me rambling.</div>
<div><br />
</div>
<div>
<div>
<div>-- </div>
<div>Regards</div>
<div>Sushil Suresh.</div>
</div>
</div>
</div>
</div>
<div><br />
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<b><br />
</b></div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>
<div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;">
<span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>From:
</b></span><span style="font-family:'Helvetica'; font-size:medium;">Matt Griffin <<a href="mailto:matt.griffin@percona.com">matt.griffin@percona.com</a>><br />
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;">
<span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Subject:
</b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>[Openstack-operators] operator challenges with MySQL</b><br />
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;">
<span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>Date:
</b></span><span style="font-family:'Helvetica'; font-size:medium;">July 6, 2013 2:05:47 PM CDT<br />
</span></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;">
<span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1.0);"><b>To:
</b></span><span style="font-family:'Helvetica'; font-size:medium;"><<a href="mailto:openstack-operators@lists.openstack.org">openstack-operators@lists.openstack.org</a>><br />
</span></div>
<div><br />
</div>
<div dir="ltr">Quick introduction... I'm Matt Griffin, Percona's Director of Product Management, and I'm new to this list.
<div><br />
</div>
<div>As I understand it, OpenStack operators have a few options when it comes to DBs - MySQL, PostgreSQL, and SQLite. I'd like to learn more about challenges and problems OpenStack operators face with MySQL. I've done a bit of searching on
<a href="http://ask.openstack.org/">ask.openstack.org</a>, but I thought I'd ask this audience as well.</div>
<div><br />
Best,<br />
Matt Griffin</div>
<div>Director of Product Management</div>
<div>Percona</div>
<div><a href="mailto:matt.griffin@percona.com">matt.griffin@percona.com</a></div>
<div><br />
</div>
<div><br />
</div>
<div>Percona Live London MySQL Conference 2013</div>
<div><a href="http://www.percona.com/live/london-2013/">http://www.percona.com/live/london-2013/</a></div>
<div><br />
</div>
</div>
<div></div></div></div></div></div></span></P>
<P class=ae431132-9d17-4a38-b6b5-634369783623> </P>
<P class=ae431132-9d17-4a38-b6b5-634369783623>
<TABLE border=0 cellPadding=0 width=504>
<TBODY>
<TR>
<TD style="WIDTH: 270px" class=LEFT_ALIGNED><span style='font-family:Verdana; font-size:small; '>Sushil Suresh</span><BR /><span style='font-family:Verdana; font-size:x-small; '>Linux Systems Engineer</span></TD>
<TD style="WIDTH: 281px"><IMG alt="experience Fanatical Support" align=right src="cid:image391c11.JPG@87dc3785.439d516a" width=159 height=17 /></TD></TR>
<TR class=LEFT_ALIGNED>
<TD colSpan=2><IMG alt=LINE src="cid:image6a4c84.JPG@48057826.468c7abb" width=504 height=4 /></TD></TR>
<TR>
<TD class=CONTACTINFO><span style='font-family:Calibri; '><table class=ae431132-9d17-4a38-b6b5-634369783623Table><tr><td><span style='font-family:Verdana; font-size:x-small; '>Tel: </span></td><td><span style='font-family:Verdana; font-size:x-small; '>+442087344778</span></td></tr><tr><td><span style='font-family:Verdana; font-size:x-small; '>Mob: </span></td><td><span style='font-family:Verdana; font-size:x-small; '>+447720948522</span></td></tr><tr><td><span style='font-family:Verdana; font-size:x-small; '>Fax: </span></td><td><span style='font-family:Verdana; font-size:x-small; '>+44 208 734 6111</span></td></tr><tr><td><span style='font-family:Verdana; font-size:x-small; '>Web:</span></td><td><span style='font-family:Verdana; font-size:x-small; '><a href='http://www.rackspace.co.uk' title='' target=''>www.rackspace.co.uk</a></span></td></tr></table></span></TD>
<TD class=RIGHT_ALIGNED><IMG alt=Rackspace src="cid:image29eef4.JPG@f0028202.4cb0bd97" width=280 height=60 /></TD></TR>
<TR class=LEFT_ALIGNED>
<TD class=CONTACTINFO colSpan=2><IMG src="cid:image8887cf.JPG@f7d374c3.4ba54807" width=504 height=3 /></TD></TR></TBODY></TABLE></P>
<P class=ae431132-9d17-4a38-b6b5-634369783623> </P>
<P class=ae431132-9d17-4a38-b6b5-634369783623><span id="OLK_SRC_BODY_SECTION"><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>_______________________________________________</div>
<div><br />
</div>
<div>OpenStack-operators mailing list</div>
<div><br />
</div>
<div><a href="mailto:OpenStack-operators@lists.openstack.org">OpenStack-operators@lists.openstack.org</a></div>
<div><br />
</div>
<div></div>
<div><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a></div>
<div><br />
</div>
</div>
<br />
</div>
</div>
</div>
</span>
</P><span style="font-size: 11px;">Rackspace International GmbH a company registered in the Canton of Zurich, Switzerland (company identification number CH-020.4.047.077-1) whose registered office is at Balz-Zimmerman Strasse 7, 8302 Kloten, Switzerland. Rackspace International GmbH privacy policy can be viewed at www.rackspace.co.uk/legal/swiss-privacy-policy<br>-<br>Rackspace Hosting Australia PTY LTD a company registered in the state of Victoria, Australia (company registered number ACN 153 275 524) whose registered office is at Suite 3, Level 7, 210 George Street, Sydney, NSW 2000, Australia. Rackspace Hosting Australia PTY LTD privacy policy can be viewed at www.rackspace.com.au/company/legal-privacy-statement.php<br>-<span style="font-size: 11px;"></span><br>Rackspace US, Inc, 5000 Walzem Road, San Antonio, Texas 78218, United States of America</span><br><span style="font-size: 11px;">Rackspace US, Inc privacy policy can be viewed at www.rackspace.com/information/legal/privacystatement</span><br><span style="font-size: 11px;">-</span><br><span style="font-size: 11px;">Rackspace Limited is a company registered in England & Wales (company registered number 03897010) whose registered office is at 5 Millington Road, Hyde Park Hayes, Middlesex UB3 4AZ.</span><br><span style="font-size: 11px;">Rackspace Limited privacy policy can be viewed at www.rackspace.co.uk/legal/privacy-policy</span><br><span style="font-size: 11px;">-</span><br><span style="font-size: 11px;">Rackspace Benelux B.V. is a company registered in the Netherlands (company KvK nummer 34276327) whose registered office is at Teleportboulevard 110, 1043 EJ Amsterdam.</span><br><span style="font-size: 11px;">Rackspace Benelux B.V privacy policy can be viewed at www.rackspace.nl/juridisch/privacy-policy</span><br><span style="font-size: 11px;">-</span><br><span style="font-size: 11px;">Rackspace Asia Limited is a company registered in Hong Kong (Company no: 1211294) whose registered office is at 9/F, Cambridge House, Taikoo Place, 979 King's Road, Quarry Bay, Hong Kong.</span><br><span style="font-size: 11px;">Rackspace Asia Limited privacy policy can be viewed at www.rackspace.com.hk/company/legal-privacy-statement.php</span><br><span style="font-size: 11px;">-</span><br><span style="font-size: 11px;">This e-mail message (including any attachments or embedded documents) is intended for the exclusive and confidential use of the individual or entity to which this message is addressed, and unless otherwise expressly indicated, is confidential and privileged information of Rackspace. Any dissemination, distribution or copying of the enclosed material is prohibited. If you receive this transmission in error, please notify us immediately by e-mail at abuse@rackspace.com and delete the original message. Your cooperation is appreciated.</span></BODY>
</HTML>