Database tier patterns
This section describes the database tier patterns and its impact on NFRs.
Data replication
To deliver high availability, we must introduce some level of duplication of system elements. However, if those elements store data, no inconsistency can be tolerated between them.
Context
Read-only data, such as report data, computed results so on, can be replicated to multiple database instances so as to enable parallel reads. Most databases support automatic data replication and data synchronization features, which can also be leveraged. Data replication is often carried out by a master-slave configuration either synchronously or asynchronously. Replication jobs should be configured to optimize throughput and latency.
Drivers
Drivers for the data replication solution pattern include:
- We need a common persistent store to ensure a consistent view of the system across all application servers (whether active-redundant or load-balanced).
- High availability architectures depend on application...