ar-octopus

Railsは、標準では基本的にDBひとつの構成で動く作りになっている。

大規模サイトなどで、DBの負荷も高く、DBを分割しないといけなくなった場合に

Railsの標準構成では難しくなってくる。

そこで、ar-octopus を使う。

これは、更新系の処理はマスターに接続し、参照系の処理はスレイブを参照するように設定できる。

ホームページ

github

Rails 3とRails 2.3.*に対応

インストール

Gemfileに

を追加して

実行

使い方

コンフィグファイルを設定

コンフィグファイルの場所は

#config/shards.yml

で、基本的な設定内容は

※詳しいshards.ymlファイルの設定方法はこちら

usingを使うと、データベースを切り替えることが出来る

以下の場合、Userのfindクエリーの接続先はslaveとなる

ブロックにすることで、ブロック内でのクエリーを一括して指定することが出来る

マイグレーションを実行するデータベースを指定する

レプリケーションの場合

#config/shards.yml ファイルを以下のようにする

replicated: true を設定した場合、database.ymlに設定したものがマスターになる。

アンケート