Mike Bayer <mba...@redhat.com> wrote:

> Hey list -
> 
> As many are aware, we’ve been looking for the one MySQL driver to rule them 
> all.  As has been the case for some weeks now, that driver is PyMySQL, 
> meeting all the critical requirements we have of:  1. pure python, so 
> eventlet patchable, 2. Python 3 support 3. Is released on Pypi (which is what 
> disqualifies MySQL-connector-Python).
> 
> I have experience with PyMySQL and I was at first a little skeptical that 
> it’s ready for openstack’s level of activity, so I offered to have oslo.db 
> write up a full review of everything we know about all the MySQL drivers, 
> including that I’d evaluate PyMySQL and try to put some actual clue behind my 
> vague notions.   
> 
> I finally got around to writing up the code review portion, so that we at 
> least have awareness of what we’re getting with PyMySQL.  This is also a 
> document that I’m very much hoping we can use to get the PyMySQL developers 
> involved with.   Basically PyMySQL is fine, it lacks some polish and test 
> coverage that can certainly be added, and as far as performance, we’re going 
> to be really disappointed with pure-Python MySQL drivers in general, though 
> PyMySQL itself can still be improved within the realm of pure Python.  It at 
> least allows for eventlet monkey patching, so that we will for the first time 
> be able to observe the benefits of some real database concurrency ever since 
> Openstack decided not to use threads (if Openstack did in fact ever use 
> normal threads…), which also means we will be able to observe the headaches 
> of real database concurrency, especially the really scary ones I’ve already 
> observed when working with eventlet/gevent style monkeypatching :).
> 
> While PyMySQL is lacking test coverage in some areas, has no external 
> documentation, and has at least some areas where Python performance can be 
> improved, the basic structure of the driver is perfectly fine and 
> straightforward.  I can envision turning this driver into a total monster, 
> adding C-speedups where needed but without getting in the way of async 
> patching, adding new APIs for explicit async, and everything else.   However, 
> I’ve no idea what the developers have an appetite for.
> 
> Please review the document at 
> https://wiki.openstack.org/wiki/PyMySQL_evaluation.

I’ve also landed onto planet PyMySQL, walked down the gangway to the planet’s 
surface, and offered greetings and souvenirs from planet Openstack: 
https://groups.google.com/forum/#!topic/pymysql-users/LfLBD1zcMpY.   I now 
await the response of PyMySQL’s leaders, whether it be offers of peace or an 
armada of laser cannons (or just the so-typical crickets chirping), to our kind 
world’s offer of friendship.



__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to