MySQL ranks among the most popular relational databases in the world. If you’ve shopped online, booked travel arrangements, or watched a program on your favorite streaming service, you likely created or interacted with transactions that are stored in a MySQL database. As more businesses adopt MySQL to drive their mission critical operational workflows, accessing their operational data in MySQL at low latency as it continuously changes is paramount.
Enter Materialize, the world’s first operational data warehouse, and the perfect solution for capturing your freshest data to power your real-time operational workloads. We’re thrilled to announce that our native MySQL source is now in Private Preview. If you are interested in trying it out, please sign up in the form below, and a member of the Materialize team will work with you to get it enabled.
Try our MySQL Source
Why we built a native MySQL Source
Ingesting data from relational databases such as MySQL as the data continuously changes requires a service that is able to continually ingest and interpret these changes — a process commonly known as Change Data Capture (CDC). Debezium stands out as the most frequently used service for CDC. It is deployed as a set of Kafka Connect connectors, which typically requires that users run and maintain Kafka or a similar service to benefit from real-time change data processing.
Materialize has always supported ingesting MySQL CDC data via Debezium. While Debezium works well for some customers, it doesn’t work for everyone. If you’re not already using Kafka + Debezium, for example, that’s two additional services you need to operate. And if you care about consistency across tables, Debezium also won’t meet your needs. That’s why we chose to build our own native MySQL source, which is simpler to deploy and maintain, and guarantees transactional consistency out-of-the-box. Debezium will always be a first class way of getting data from MySQL into Materialize, but as an alternative, we do recommend our native MySQL source for new use cases.
Transactional consistency and other top benefits
By directly connecting to your upstream MySQL database to consume its replication stream, ingesting data via the native MySQL source provides the following benefits:
No additional infrastructure: No architectural changes are required, no bits need to be deployed, and no additional services need to be managed. You simply create a source that connects to your MySQL database, and fresh, changed data is ingested into Materialize in real-time to support your operational workloads.
Transactional consistency: Consistency is unique to Materialize, and is one of our foundational product principles. The new source ensures that transactions in MySQL are respected downstream. Any operation inside a MySQL transaction is guaranteed to be assigned the same timestamp in Materialize — we will never show partial results based on partially replicated transactions.
Incrementally updated materialized views: While MySQL doesn’t natively support materialized views, the combination of MySQL CDC along with Materialize’s support for incrementally updated materialized views provides users with real-time access to their most updated data.
Works with popular managed cloud providers: In addition to supporting self-hosted MySQL servers, we also support the most common hosted MySQL services on the cloud platforms listed below.
Cloud platform | Service |
---|---|
Amazon Web Services | Amazon RDS for MySQL |
Amazon Web Services | Amazon Aurora for MySQL |
Google Cloud Platform | Cloud SQL for MySQL |
Microsoft Azure | Azure DB for MySQL |
Sign up and try it out!
We know you have eagerly awaited the ability to natively connect to your MySQL sources to ingest your freshest data into Materialize. Stay tuned for an upcoming article from our engineering team that will give you a behind-the-scenes look at how we built this new capability. In the meantime, we invite you to sign up to give it a whirl while it’s in private preview and let us know what you think!