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

Attachment: 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

Reply via email to