The second way to get more performance out of our cluster is to introduce read replicas. With typical relational databases, the read-to-write ratios are usually in favor of reads by a factor of a few. Typical access patterns could be as high as 80% read and 20% write, or even as high as 90-10 or more. By introducing read replicas, we allow the application to distribute the reads to the read replicas and relieve the master or primary instance of the reads.
With the MySQL, MariaDB, and PostgreSQL engines, the read replicas can be created within the same region or another region and are done with the engine's native asynchronous replication capabilities. This means that the data in the read replicas might see a bit of a lag and serve stale data, so we need to handle this in the application we are deploying. This can be useful for business intelligence (BI) or analytics...