私の Rails アプリは主に通常の mySQL データベースで実行されますが、このデータベースがダウンした場合、Rails アプリを MongoDB データベースにフェイルオーバーさせたいと考えています。MongoDB データベースは、基本的にはプライマリ データベースの「キャッシュ」バージョンです。
私が持っていたいくつかのアイデアは、2 つのモデル (AR と MongoDB - Mongoid を使用) であり、次にコントローラーで例外をキャッチし、プライマリーが失敗した場合は MongoDB モデルを使用するというものでしたが、すべてのモデルを 2 つ持つのは雑然としすぎているように感じます。もう 1 つのアイデアは (私はまだテストしていませんが)、モデル内のデータベース接続の例外をレスキューし、代わりにモデルを MongoDB として使用することでしたが、モデルがもともと ActiveRecord::Base から継承されている場合、問題が発生する可能性があります。
これに取り組むための良いアプローチは何でしょうか?