私は、約 100 万件の大量のレコードを含む大規模な中央データベースを持っています。私のアプリでは、すべてのユーザーに対して、中央テーブルからの行のサブセットが非常に小さくなります (おそらくそれぞれ 100 レコード)。特定のユーザーがログインしたときに、このデータ セットのみを検索したいと思います。例:
世界中のすべての車の中央データベースがあるとします。General Motors(GM)、Ferrari などのユーザー プロファイルを持っています。GM がログインしているときに、GM によって製造された車を検索 (SQL クエリではなく全文検索) したいだけです。また、GM はモデルを起動/撤回する場合があり、その場合、中央データベースが更新され、GM に関連付けられた行セットが更新されます。買収の場合、特定のプロファイルのデータベースは、新しい車の発売/削除なしで変更される場合があります。したがって、中央データベースは変更されませんが、行セットは変更される場合があります。
そのようなデザインを実装する最良の方法は何ですか? これらの小さな行セットは、ユーザーのアクティビティに応じて動的にする必要があります。
Rails 2.3.5 を使用しており、コネクタとして thinking_sphinx を使用し、検索とリレーショナル アソシエーションには Sphinx/MySQL を使用しています。