If Master/Slave, Master/Master replication and database tuning techniques are unable to meet your growing database demand, consider one of the design mentioned below.
- Federation
- Splits up database by functions (Example: 3 Databases – Forums, Users & Products)
- Sharding
- Distribute data across different database such that each database can only manage a subset of the data (Example: User Databases by grouping First letter- Users [A-C], Users [D-F] …. Users [X-Z])
- Denormalization:
- Attempts to improve read performance at the expense of some write performance. Redundant copies of the data are written in multiple tables to avoid expensive joins.
- Once data becomes distributed with techniques such as federation and sharding, managing joins across data centers further increases complexity. Denormalization might circumvent the need for such complex joins.
Note: Consider using non-relation database for non-relation or data intensive workload.