Hi all, I've been looking through the replication code and it seems to me that Drizzle could use a few extra interfaces for plugins to use. I definitely don't know all the discussion that has already occurred around this, or exactly how early or not it is in the development of the replication plugins, so please pardon any ignorance on my part of any master plan in all this.
On the master side, it seems like there should be some common api call to collect data from the replication logs, regardless of how it is stored. The current 'slave' plugin simply connects to the master and selects off of the SYS_REPLICATION table, which (I believe) is only updated by the innodb replicator. Wouldn't it be better to either a) define a common table to select from and require all master replicator plugins to use that table, or b) use some SQL construct that says something to the effect of 'GET COMMIT_ID=x' or equivalent, and let the master plugins implement the hook for that however it wants. I'm writing this without knowledge whatever SQL standards that drizzle uses, so excuse me there. This would allow the plugin to simply focus how to efficiently store (or not) and serve the data to the slaves as rapidly as possible, and would allow the two existing master replication plugins to work regardless of the plugin used on the slave side. Similarly on the slave side, some simple api to manage the connection to the master and get replication data in the standard way above would be handy, as well as some standard api to 'apply this master commit id that I have' call. Again, here, I see advantage in plugins focusing on how to efficiently buffer replication from the master (or not) and apply it to the local drizzle instance. In both cases (master and slave), with the common apis any metadata and status stored about replication could be done identically (or at least with separate plugins) so people experimenting with various ways to manage the replication stream wouldn't have to muck with replication metadata and vice-versa. This would allow conventions about changing masters, seeing slave status, etc. to not have to change between plugins unless the replication model was dramatically different from the standard enough that those standards wouldn't make sense anyway. Jay Janssen
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

