At our sessions at the MySQL User Conference this year, Kay and me tried to emphasis that the name "MySQL Proxy" isn't fully describing what "MySQL Proxy" is.
The way MySQL Proxy is structured (libs, plugins, scripting) is all focused on making customization and creativity as straight forward as possible: * scripting: Users don't have to recompile to change the behaviour * libs: Devs can use the components in different ways * plugins: the chassis is a framework to handle different kinds of server-like applications == libs == There is * libmysql-chassis containing the chassis * libmysql-proxy containing the network interface, protocol encoding/decoding, masterinfo parsing, binlog parsing, ... I actually plan to split the libmysql-proxy into small pieces like: * libmysql-proto-binlog * libmysql-proto-myisam and so on. === binlogs === In the replication tree (https://code.launchpad.net/~jan-kneschke/mysql-proxy/replication) I implemented now most of the replication features I was looking for. At the UC I presented most of them: http://jan.kneschke.de/search?q=binlogs I added Lua wrappers around them to get ... == a binlog storage engine == Quite some time ago I wrote a scriptable storage engine called wormhole that exposes the storage engine interface of MySQL 5.1 to Lua: http://jan.kneschke.de/search?q=wormhole I revamped it and used the libmysql-proxy from that above replication tree to expose binlogs back into MySQL: http://jan.kneschke.de/2009/5/4/binlog-storage-engine-mysql-proxy-edition That engine takes a .lua file from the mysql-servers datadir, auto discovers the table-structure you want and creates the .frm files for it and exposes everything to read (and later) write to tables. Right now, this works very efficiently for binlogs as I allow to easily JOIN binlogs on the log-positions (I expose it as PRIMARY KEY), ranges are optimized, ORDER BY too. == ... to sum it up == "MySQL Proxy" is just one of the incarnations of what you can do with the pieces that build the MySQL Proxy. Internally it is nicely separated into components that you can use it for other, previous not expected use-cases. cheers, Jan -- jan: "Gee, Brain^WEric, what'd you wanna do tonight?" eric: Same thing we do everynight: Take over the HelloWorld! _______________________________________________ Mailing list: https://launchpad.net/~mysql-proxy-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~mysql-proxy-discuss More help : https://help.launchpad.net/ListHelp

