Relational Database scaling Techniques

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.

  1. Federation
    • Splits up database by functions (Example: 3 Databases – Forums, Users & Products)
  2. 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])
  3. 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.