kuldeep porwal <[email protected]> writes: > *2. To Replicate from MySQL to Drizzle (Gsoc Idea): * > > This process is quiet simple. We read the MySQL row based binlog from the > publisher (master), then we *form* the new Transaction Message using > a slightly modified version of 'transaction.proto' file. This Event of > forming Transaction Message will be CALLED in the * binlog_event of > libdrizzle-redux binlog api *. Once we have the Transaction Message, reader > plugin will push it to publisher plugin on master and then the salve > machine (subscriber) will read and replicate it via Transaction > Applier.
I think we should take a slightly different approach. Instead of changing the Drizzle replication log format, we read the MySQL binlog and immediately convert into Drizzle transaction messages... this means that the process of connecting to mysqld and converting to drizzle transaction message is entirely independent of the drizzle slave apply code. > The Trickiest part is that we are using all the Replication modules of > Drizzle but to take MySQL binlog and covert them into Drizzle's Transaction > message we are building a NEW module. yes, doing the conversion will be slightly tricky, we can start off easy and not care about DDL or data types we don't support. i.e. replicate a workload that would work against Drizzle anyway. > 1. As MySQL binlogs are row based, we need to change or introduce new > 'Blueprints' for data in proto file (this file will be a modified copy of > current transaction.proto). I don't think we need this, we just need to parse MySQL binlog and convert into drizzle transaction.proto, we won't have to change it at all. > 2. Also the log can be big so to provide the error checking ans safe > replication we can add CHECKSUM. > 3. We can use some kind of Heuristics to remove DDL based inconsistencies > between MySQL and Drizzle. I wouldn't worry too much about it at this stage, we could attempt the SQL and just error out if it doesn't apply. -- Stewart Smith
pgp2annKEBCA0.pgp
Description: PGP signature
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

