Read/write splitting is a database access pattern in which applications send changes to a writable primary and direct suitable queries to read replicas. Replicas maintain copies of the primary's data through replication. Moving reads away from the primary reduces competition for processing power, memory, and storage throughput, leaving more capacity for transactions. The pattern is most useful when reads account for a substantial share of database load.
In cloud architectures, engineers typically configure separate writer and reader connections in application code, a database access library, or a compatible database proxy. Managed databases may provide individual replica endpoints or a reader endpoint that distributes connections among replicas. A reader endpoint does not necessarily inspect SQL or distribute every query independently: connection pooling can keep many queries attached to the same replica. Applications must still send each operation to an appropriate connection.
For example, an online store can send product searches and catalog browsing to replicas while sending orders, inventory updates, and payment records to the primary. After a customer places an order, the confirmation page should normally read from the primary when it must immediately display the committed transaction. Sending that read to a lagging replica could incorrectly suggest that the order does not exist. A reporting application can also use a dedicated replica so that expensive queries compete less directly with checkout transactions.
Replication is commonly asynchronous, so a successful commit on the primary does not mean every replica already reflects it. Applications should classify reads by their freshness requirements rather than treating every SELECT statement as replica-safe. Read-modify-write operations, locking reads, and reads inside write transactions generally belong on the primary. Some database engines provide additional consistency controls, but their guarantees and latency costs must be evaluated explicitly. A fixed delay after writing is not a reliable general solution because replication lag varies.
Read replicas increase read capacity, not the number of independent writers in a single-primary architecture. They also do not replace query tuning, indexing, or connection management. Each additional replica adds cost and must process replicated changes; sustained write pressure can cause lag even if the replica receives few application queries. Monitor replica lag, CPU, storage latency, connection counts, and query response times. Define how routing behaves when replicas fail or become too stale, and ensure fallback traffic does not overwhelm the primary.
For architecture exam scenarios, choose read replicas when the requirement is to offload read-heavy traffic or isolate read-only reporting. Do not confuse this with high availability. In Amazon RDS, a traditional Multi-AZ DB instance deployment uses a standby for failover that does not serve application reads. RDS Multi-AZ DB clusters are different and include readable instances. Read replicas may support promotion or participate in failover depending on the service, but creating a replica alone does not establish automatic failover or application rerouting. Read scaling, availability, and disaster recovery are related objectives that must be designed separately.