linkedin / databus

Source-agnostic distributed change data capture system
Apache License 2.0
3.64k stars 735 forks source link

Can Databus read the binlog if it is "Statement-Based"? #42

Closed coolfatih closed 9 years ago

coolfatih commented 10 years ago

Can Databus read the binlog if it is "Statement-Based"? I have not found any information about that.

regards Fatih

alosix commented 10 years ago

For at least the 0.8.x versions I've been working with I would say no. Statement based quite literally sends the statements sent to the DB over for replication. So for this to work the client would have to have a representation of the database to determine what the statement means.

If you're already working in an environment using statement or mixed (FWIW I've found that mixed sends more statements than binary changes in our env). I would suggest setting up another slave mysql DB that then uses binary replication to its slaves. Let the DB do the conversion for you and just setup the databus relay off of that one.

chavdar commented 10 years ago

Jason is correct. Databus captures/transports the actual changes. Therefore, it uses row-based replication. It is conceivable to write a fetcher or extend the existing bin log fetcher to capture the statements and transport them as a special kind of events. That may be useful for replication but I am not sure what other types of clients can do with the statements.

On Oct 18, 2014, at 10:57 AM, Jason Powers notifications@github.com wrote:

For at least the 0.8.x versions I've been working with I would say no. Statement based quite literally sends the statements sent to the DB over for replication. So for this to work the client would have to have a representation of the database to determine what the statement means.

If you're already working in an environment using statement or mixed (FWIW I've found that mixed sends more statements than binary changes in our env). I would suggest setting up another slave mysql DB that then uses binary replication to its slaves. Let the DB do the conversion for you and just setup the databus relay off of that one.

— Reply to this email directly or view it on GitHub.