Search code examples
mysqlload-balancingdatabase-cluster

Master/Slave Mysql Architecture vs Server/Read DB and Separate DB for writes only


What are the advantages and disadvantages for Master/Slave type mysql architectures vs load balancing web servers with read only db's in each using a separate server holding a mysql database just for the writes?


Solution

  • Master/Slave type architecture is useful for when your application is "read heavy", that is a majority of connections to the database are for reading data as opposed to writing data.

    Master/Slave allows you to scale out your application just by adding more hardware. Simply create a copy of the database on a new box and add it as a slave to the master.

    With regards to

    load balancing web servers with read only db's in each using a separate server holding a mysql database just for the writes?

    This just sounds like a Master/Slave type architecture. With Master/Slave you want the slaves to be read only, as the master is the only place where data changes (and those changes propagate to the slaves).