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.
2 Answers 2
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– sciurus2015年01月03日 16:09:39 +00:00Commented Jan 3, 2015 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 thisprimary<->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– Dimitry K2017年07月28日 08:52:01 +00:00Commented Jul 28, 2017 at 8:52 -
This answer is WRONG. Replication is not the same as Multi-AZ!!! RDS uses binlog for replication, but does use it for multi-AZMartin Konecny– Martin Konecny2020年10月29日 01:30:51 +00:00Commented Oct 29, 2020 at 1:30
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.
-
This is the correct answerMartin Konecny– Martin Konecny2020年10月29日 01:31:02 +00:00Commented Oct 29, 2020 at 1:31