Rails: How to split write/read query across master/slave database

Sanjay Salunkhe picture Sanjay Salunkhe · Apr 4, 2015 · Viewed 8.9k times · Source

My website has a very heavy read traffic. A lot heavier than write traffic.

To improve the performance of my website I have thought of going with master/slave database configuration.

The octupus gem seems to provide what I want, but since my app is huge I can't go though a millions of source code line to change the query distribution(sending read query to slave server and write query to master server).

MySQL Proxy seems to be a great way to resolve this issue but since it is in alpha version I don't want to use it.

So my question is what is the best way to split read/write queries across master/slave server?

Is it possible to split read/write query without using any gems in rails?

Answer

Yahya picture Yahya · Nov 22, 2015

I spiked out 2 gems, Octopus and Makara. I have written a blog comparing these 2 gems : https://ypoonawala.wordpress.com/2015/11/15/octopus-vs-makara-read-write-adapters-for-activerecord-2/

In my opinion, Makara works well and makes up for the issues with Octopus.