NOTE

Read/Write Separation Architecture

What read/write separation is, why it is needed, where it applies, how to design it at the service and storage layers, and the materialized-view pattern.

Software Architecture & EngineeringCreated Updated 1 min readhistorical

This is a historical learning note and may contain outdated or incomplete understanding.

1. What Is Read/Write Separation

Separate read operations (R) from write operations (CUD). In essence, this is the Leader-Follower pattern in Distributed System Replication.

2. Why Read/Write Separation Is Needed

Improve read throughput.

3. Applicable Scenarios for Read/Write Separation

Read-heavy, write-light scenarios where data inconsistency is acceptable.

4. How to Design Read/Write Separation

4.1. Service-Layer Read/Write Separation

Read/Write Separation - Service-Layer Read/Write Separation

Advantage: the code is easy to maintain and there are no data consistency problems. Disadvantage: the data layer becomes the bottleneck.

4.2. Storage-Layer Read/Write Separation

Read/Write Separation - Data-Layer Read/Write Separation

Advantage: the data layer is scalable. Disadvantage: data consistency problems.

5. Pattern

5.1. Materialized View

Read/Write Separation - Materialized View Pattern

6. References

Discussion

Sign in with GitHub to comment. Discussions are stored as GitHub Issues.View on GitHub