Octopusというライブラリを用いるとActiveRecordでsharding/replicationが実現できる。 DB構成 ユーザデータを持つDB ホスト: userdb.localhost データベース名: user replication: しない (アプリケーションでは読み取りしかしないので最初からslaveのみ参照するようになっている) アプリケーションのデータを持つDB ホスト: app.localhost データベース名: app_{RAILS_ENV} replication: する 何が問題か OctopusがActiveRecord::Base#connectionとActiveRecord::Base#connection_poolを乗っ取って、クエリを監視して適宜、shardもしくはmaster/slaveへ投げるようになる。 Octopusを使ってrepli