In http://jan.kneschke.de/2007/8/1/mysql-proxy-learns-r-w-splitting we did a first implementation on idea of sending non-transactional reads to the slaves and writes and transactions to the master.
While that was mostly a proof of concept it already worked pretty well. In this second round on R/W splitting several issues are taken care of:
-
SELECT SQL_CALC_FOUND_ROWS... +SELECT FOUND_ROWS() -
INSERT ...+SELECT LAST_INSERT_ID() -
default_dbnot in sync between client and backend
These changes should make Read/Write splitting more robust and make it a drop-in for more users.
Up to now we used the tutorial-keepalive.lua to
implement the Read/Write-splitting. As the name says, it is a …