Proxy, Proxy, on the Wall, who is the fairest of them all...
« previous entry | next entry »
May. 9th, 2008 | 11:17 am
Dear Lazyweb,
I am trackingthree four five lots of different proxies for MySQL today:
http://forge.mysql.com/wiki/MySQL_Proxy
http://consoleninja.net/code/dpm/README.h tml
http://spockproxy.sourceforge.net/
http://sqlrelay.sourceforge.net/
http://myosotis.continuent.org/HomePage
Proximo
Would someone please do a write up on which is best, which is moving forward, and synopsis the differences? I don't expect a front runner just yet, but it would be nice to see a comparison about how their development is going.
Thanks!
-Brian
BTW I am sorry if I missed a proxy, if you have another one email me or leave a comment.
BBTW I don't consider HScale a proxy, but yes it is damn neat.
BBBTW I think the creation of proxies, points to a trend ;)
I am tracking
http://forge.mysql.com/wiki/MySQL_Proxy
http://consoleninja.net/code/dpm/README.h
http://spockproxy.sourceforge.net/
http://sqlrelay.sourceforge.net/
http://myosotis.continuent.org/HomePage
Proximo
Would someone please do a write up on which is best, which is moving forward, and synopsis the differences? I don't expect a front runner just yet, but it would be nice to see a comparison about how their development is going.
Thanks!
-Brian
BTW I am sorry if I missed a proxy, if you have another one email me or leave a comment.
BBTW I don't consider HScale a proxy, but yes it is damn neat.
BBBTW I think the creation of proxies, points to a trend ;)
Missed one!
from:
todointx
date: May. 9th, 2008 07:48 pm (UTC)
Link
Have used it several years before MySQL came into existence.
Reply | Thread
Re: Missed one!
from:
todointx
date: May. 9th, 2008 07:48 pm (UTC)
Link
Reply | Parent | Thread
Re: Missed one!
from:
krow
date: May. 9th, 2008 08:55 pm (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
jope
date: May. 9th, 2008 08:52 pm (UTC)
Link
Reply | Thread
(no subject)
from:
krow
date: May. 9th, 2008 08:55 pm (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
jope
date: May. 9th, 2008 08:59 pm (UTC)
Link
Reply | Parent | Thread
myosotis
from:
muzazzi
date: May. 9th, 2008 10:01 pm (UTC)
Link
This one is kind of cute. It's not as flexible as mysql-proxy & friends, but it masquerades as a MySQL or PostgreSQL frontend and connects to (non-MySQL/Postgres) backend servers via JDBC.
Reply | Thread
Me too...
from:
jzawodn
date: May. 9th, 2008 10:06 pm (UTC)
Link
Reply | Thread
Re: Me too...
from:
krow
date: May. 9th, 2008 10:36 pm (UTC)
Link
Reply | Parent | Thread
Re: Me too...
from:
jzawodn
date: May. 9th, 2008 10:39 pm (UTC)
Link
Besides, you never know when the opportunity to do something different may arise!
Reply | Parent | Thread
Re: Me too...
from:
krow
date: May. 9th, 2008 11:11 pm (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
poon
date: May. 10th, 2008 03:36 am (UTC)
Link
It's still vapourware, though I do have it working on my laptop. Eventually I'll check the code in here:
http://code.google.com/p/merp-mysql-pro
I doubt this should really make your list, but maybe worth checking on in like a month.
Reply | Thread
(no subject)
from:
krow
date: May. 10th, 2008 04:13 pm (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
poon
date: May. 10th, 2008 09:02 pm (UTC)
Link
My primary gripe was what was covered; maybe the target audience was too wide. A lot of time was spent talking about Lua (rather than MySQL Proxy, which I was there to learn about), and I expected a lot more technical details of how the Proxy was implemented. I guess if it was split into two talks ("Writing Lua plugins for MySQL Proxy" and "MySQL Proxy Low-Level Details/Implementation") I would have skipped the former and definitely gone to the latter.
The rest of my gripes are not about the talk but about the implementation of the Proxy itself.
The Lua support seems tacked on and poorly thought out. What is exported from the C layer to the Lua layer is incredibly poorly documented. Basically you have to read through all the samples or the C code to try to understand what's exported to Lua and how it modifies the behaviour of the server. If I have to know C and read through a bunch of C code to figure out how to write the plugin, why not just make the plugin interface in C? I don't see the advantage in the Lua support.
The lack of support for chaining plugins is pretty lame (you can only load one lua script/plugin per proxy?).
You have to restart the proxy to make any config changes.
I saw no way for plugins to spin off a thread or do async. i/o (maybe i don't know enough about Lua).
I didn't know about spock proxy until seeing your post. Their differences from Proxy are also in line with some of my gripes and goals (No Lua/Client Auth/Dynamic Pool/etc). If I wasn't obsessed with Erlang at the moment I'd definitely run straight over there and start contributing. I want to see how Erlang TCP services perform and especially how much of an impact it'll have as an observer/logging/statistics 'thing' - theoretically you could do some heavy logging and data analysis with very little impact on the Proxy throughput. If my experiment fails it'll at least be interesting, and I'll definitely turn to Spock next; it seems to me that they are on the right track (for my needs).
Reply | Parent | Thread
(no subject)
from:
krow
date: May. 11th, 2008 02:27 am (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
jamesd
date: May. 10th, 2008 10:56 pm (UTC)
Link
Reply | Thread
(no subject)
from:
krow
date: May. 11th, 2008 02:26 am (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
xb95
date: Jun. 9th, 2008 10:21 pm (UTC)
Link
It's quite functional and works well for what it does, but it's pure Perl at this point and isn't extremely fast. I think the MySQL Proxy approach of having a C core is a good one, but I ran into the same issues as the above poster - couldn't figure out how to do what I wanted. (Which is mostly documentation and lack of Lua knowledge, I imagine.)
Also, I'm a sucker for Perl. All those years working on Perlbal, the same sort of approach seems like it would work really well for MySQL as well!
Reply | Parent | Thread
dbslayer
from:
dgottfrid
date: May. 12th, 2008 02:32 am (UTC)
Link
Reply | Thread
(no subject)
from:
sent2matt
date: Oct. 9th, 2008 01:47 am (UTC)
Link
(I wish I could use openid to leave comments)
Reply | Thread
(no subject)
from:
krow
date: Oct. 9th, 2008 02:14 am (UTC)
Link
Reply | Parent | Thread
(no subject)
from:
sent2matt
date: Oct. 9th, 2008 03:46 pm (UTC)
Link
but never proposed the change into upstream.
Since the change is quite easy (speaking of technical part)
I suppose they have some social/political issues with it
Reply | Parent | Thread
(no subject)
from:
krow
date: Oct. 9th, 2008 03:48 pm (UTC)
Link
Reply | Parent | Thread