Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Read replicas in RDS AWS

I am a newbie to amazon RDS. I have set up a db instance in RDS. I want to try the RDS read replicas feature.

I have few queries:

  1. For what kind of applications read replicas are suitable?
  2. Is the read replica replicates synchronously or asynchronously data to other read replicas?
  3. Is it the substitute of the Multi AZ deployments?
  4. How is it better than the master slave or master master replication in MYSQL.
  5. If we have replicas on EC2 will it work the same way as RDS read replicas work

Thanks in advance.

like image 924
Megha Sharma Avatar asked Dec 05 '22 06:12

Megha Sharma


1 Answers

For what kind of applications read replicas are suitable?

It is best suited if your application is

  • Read intensive and is used by several read clients
  • Can adopt ( live with ) a minor lag between the data written to db and data replicated to read replicas.

Is the read replica replicates synchronously or asynchronously data to other read replicas?

The replication is asynchronous, so expect a small lag for replication

Is it the substitute of the Multi AZ deployments ?

Multi AZ setup and Read Replica compliment each other; they aren't replacement or substitute for each other. Multi AZ setup is for High Availability ( Out of the Box Setup By AWS ) whereas Read Replica is purely to reduce / distribute the load on the Database Instances to improve the read performance and to avoid bottlenecks to the databases for writes and read. You can / need to write your application logic to divert your reads to Read Replica and Writes to Main Instance; to make the best use of the setup.

Generally people mix and match both Multi AZ and Read Replica(s) depending on the application and load.

How is it better than the master slave or master master replication in MYSQL

The comparison of the master master vs master slave depends on several factors like data, data volume, operation like write or read, load etc. you need to work to see exactly how the system performs with either of the setup.

The best advantage you go with Multi AZ / Read Replica is that, you can offload the DB management activities and overhead of supervising the replica setup and health to AWS; instead of you managing those by yourself.

If we have replicas on EC2 will it work the same way as RDS read replicas work

This is again more like corollary to the Q4. When try to install a database in your EC2 instance you need to take care ( monitor & manage ) - EC2 Instance Patches, Database Instance Patches, Replication Setup, Replication Lag, Availability.

Whereas when you leave that to AWS by using Read Replica they manage all the above for you. It is your call to choose which ever is best for you either depending on the application requires which involves factors like cost, availability, compliance etc.

like image 148
Naveen Vijay Avatar answered Dec 09 '22 14:12

Naveen Vijay