1

We are currently running our database in RDS - just one master (no read slaves), with a Multi-AZ deployment for fail-over durability.

I am contemplating some performance tweaks, one of which is disabling binary logs. I know they're used for master->slave replication, but I am not sure whether Amazon uses the same mechanism to support its Multi-AZ set-up or not.

I don't want to accidentally break the Multi-AZ feature by disabling binary logs.

1

Yes it does uses mysql binary logs for Multi-AZ replication.

Here this FAQ at amazon site confirms this:

Q: Can I directly access the binary logs for my Database Instance to manage my own replication?
A. Amazon RDS does not currently provide access to the binary logs for your Database Instance.

http://aws.amazon.com/rds/faqs/#103

And this one too.

You may find in some cases that your Read Replica(s) aren’t able to receive or apply updates from their source Multi-AZ DB Instance after a Mulit-AZ failover. This is because some MySQL binlog events were not flushed to disk at the time of the failover. After the failover, the Read Replica may ask for binlogs from the source that it doesn’t have. This loss of MySQL binlogs during a crash is described in the MySQL document here.

http://aws.amazon.com/rds/faqs/#107

This simply confirms that it does uses binary logs.

  • Those FAQ are about the Read Replica feature of RDS. This is different than their Multi-AZ feature. – sciurus Jan 3 '15 at 16:09
  • @sciurus from their source Multi-AZ DB Instance after a Mulit-AZ failover this seems to highlight the architecture. When primary Multi-AZ instance fails, it would promote "ghost Multi-AZ" instance to become the primary. Whereas for your vanilla RDS replica nothing changes, because this primary<->ghost swap happens behind the scenes. Thus vanilla replica may stale, because "ghost" was lagging behind primary, but the replica somehow managed to be in sync with primary... – Dimitry K Jul 28 '17 at 8:52
1

The Multi-AZ feature does not use MySQL's native replication features. Quoting their documentation, "Multi-AZ deployments for Oracle, PostgreSQL, and MySQL DB instances use Amazon technology, while SQL Server DB instances use SQL Server Mirroring." It seems likely that they're doing replication at the storage level and not depending on binary logs. However, disabling binary logs (if RDS will even let you do that) would probably break point-in-time recovery.

Multi-AZ should not be confused with Read Replicas. As @GeekRide's answer shows, Read Replicas do use MySQL's native replication via binlogs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.