Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maxwell reference to Databus #82

Closed
tquiggle opened this issue Aug 27, 2015 · 3 comments
Closed

Maxwell reference to Databus #82

tquiggle opened this issue Aug 27, 2015 · 3 comments

Comments

@tquiggle
Copy link

I enjoyed the introductory blog post for Maxwell at:

https://developer.zendesk.com/blog/introducing-maxwell-a-mysql-to-kafka-binlog-processor

This looks like a great project!

I just wanted to respond to one comment:

"We're fairly sure LinkedIn's engineers, while writing DataBus solved this problem by patching mysql to output full schema information into its binlogs. They never seemed to release the patch, though."

Actually, we didn't make any such patch. The use case for Databus consuming from MySQL (as opposed to Oracle) is limited to Espresso - LinkedIn's NoSQL store. The Open Replicator based binlog to Databus event translator has access to the Espresso schema registry that contains all necessary information about the MySQL columnar data.

Espresso stores and retrieves Avro documents via a REST API. The URL path for a document is defined by a table schema that defines the columns that compose the primary key in MySQL. All other columns are common to all tables in the system. The actual documents are stored in avro/binary as a longblob field so there is no further specialization of the MySQL tables based on the layout of the documents stored. When processing a row event from the binlog, one only needs the table name from the corresponding TableMapEvent to fetch (and cache) the corresponding table schema from a registry to obtain all necessary information about the row.

Tom Quiggle,
https://www.linkedin.com/in/tquiggle

@osheroff
Copy link
Collaborator

Ah! Makes sense. Thanks for the info, Tom.

@osheroff
Copy link
Collaborator

osheroff commented Sep 1, 2015

and blog updated with corrections.

@osheroff osheroff closed this as completed Sep 1, 2015
@ept
Copy link

ept commented Oct 15, 2015

@tquiggle Thanks for the note. I think the idea of LinkedIn using a patched version of MySQL may have come from here: https://github.com/linkedin/databus/wiki/Databus-for-MySQL — if it's wrong/outdated, you may want to update that wiki page too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants