MySQL 6.0.8 has new interfaces for semisynchronous
replication.
The interfaces make it possible to load components to ensure that
all transactions are replicated to the slave before the users of
the master gets acceptance of the commits.
The original code was developed by Mark Callaghan (Google) and
Wei Li (Google). Zhenxing He (MySQL) ported the Google code to
MySQL 6.0, extracted the functionality into pluggable components,
and changed the code so that all storage engines are supported.
Paul DuBois (MySQL) wrote the MySQL manual documentation.
The extraction of this patch into components is a first step in
our strategy to make MySQL Replication modularized with separate
loadable components for special replication functionality. With
more interfaces to the server, it becomes easier to make the
server behave in …
Pluggable open source replication has arrived, at least in beta
form. Today we are releasing Tungsten Replicator 1.0 Beta-1 with support for
MySQL. This release is the next step in bringing advanced data
replication capabilities to open source and has many improvements
and bug fixes. It also (finally) has complete documentation. I would like to focus
on an interesting feature that is fully developed in this build:
pluggable replication.
I have blogged about our goals for Tungsten Replicator quite a
bit, for instance here and …
I just finished reading the recently released 2nd Edition of High Performance MySQL by Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, Jeremy Zawodny, Arjen Lentz & Derek Balling. I’ve posted a review here on Amazon.
Wow, that’s quite a list of authors, but when you look at the material, you see why. This book is a very indepth look at the MySQL server. Intended for the intermediate to advanced DBAs and developers who want to know the inner workings of the server, as well as how to use many of it’s advanced features.
For instance the chapter on replication was quite good. Given that you probably setup replication in five minutes, and are wondering weeks or months later why it’s not working, this chapter will give you …
[Read more]
|
Three unrelated facts reminded me of a popular article about MySQL replication
that I wrote long time ago. |
- A reader of that article told me that he used information I wrote to set up a circular replication in production, and it is still working!
- A new page on circular replication in MySQL manual was just published.
- During yesterday's meetup in New York, an attendee asked advice about broken replication in a circular scheme, and I suggested reading all the …
If you are a MySQL 5.x/6.0 InnoDB replication user, right now you take a significant performance hit on the replication master simply by turning on the binlog. The good news is that we've taken a big step toward eliminating that performance gap. I'll describe the problem, how I was able to track down the root cause, and point to a patch that fixes the problem. Since the changes are in the InnoDB code, right now we're waiting on Oracle/Innobase to review the fix and formally commit it. Once that happens, you should see it show up in binary releases. In the meantime, if you build your own binaries you can test the prototype patch yourself.
One of the things I have been working on quite a bit over the past several months is scalability of the nodes within a MySQL scale-out replication environment. The reason being that there has been a rapid …
[Read more]If you are a MySQL 5.x/6.0 InnoDB replication user, right now you take a significant performance hit on the replication master simply by turning on the binlog. The good news is that we've taken a big step toward eliminating that performance gap. I'll describe the problem, how I was able to track down the root cause, and point to a patch that fixes the problem. Since the changes are in the InnoDB code, right now we're waiting on Oracle/Innobase to review the fix and formally commit it. Once that happens, you should see it show up in binary releases. In the meantime, if you build your own binaries you can test the prototype patch yourself.
One of the things I have been working on quite a bit over the past several months is scalability of the nodes within a MySQL scale-out replication environment. The reason being that there has been a rapid …
[Read more]If you are a MySQL 5.x/6.0 InnoDB replication user, right now you take a significant performance hit on the replication master simply by turning on the binlog. The good news is that we've taken a big step toward eliminating that performance gap. I'll describe the problem, how I was able to track down the root cause, and point to a patch that fixes the problem. Since the changes are in the InnoDB code, right now we're waiting on Oracle/Innobase to review the fix and formally commit it. Once that happens, you should see it show up in binary releases. In the meantime, if you build your own binaries you can test the prototype patch yourself.
One of the things I have been working on quite a bit over the past several months is scalability of the nodes within a MySQL scale-out replication environment. The reason being that there has been a rapid …
[Read more]
Last week I attended an incredibly intense conference in
Lalandia, Denmark: Miracle Oracle Open World. According to Mogens
Norgaard, the organizer, the conference devotes 80% of the
time to intense discussions of Oracle databases and 80% of the
time to drinking. During the festivities you get this dim mental
image of what it would have been like if Vikings had access to
16-core machines and advanced database software. But I
digress.
Anyway, Lalandia is located on just that kind of spare, beautiful
coast that clears the mind to look for fundamental truths. And
sure enough, a talk by Carel-Jan Engel, nailed one of them: simplicity is
the key to availability.
At some level we all …
A typical scenario is when a master has a few dozen slaves, and
instead of dealing with all of them directly, uses four relay
slaves, each one dealing with 6 slaves.
So, where's the trick? The trouble comes if you change replication format after you start the
slave.
Example. One master (M), two relay slaves (R1, R2), with four
slaves each …
Robert Treat and I had some back and forth emails
a few weeks ago about explaining database replication to
customers. Replication is totally cool but it is also completely
confusing to a lot of people. The basic concepts are not widely
understood. Plus PostgreSQL does not help by giving you a wide
range of methods, often with poorly documented trade-offs.
Based on our conversation I put together a talk for PG West in Portland called Getting Smart about the New World of PostgreSQL
Replication. It explains basic concepts and surveys five
replication approaches. Press the title and you can possess the
slides yourself.
Robert and I had talked about putting …