У меня есть большая центральная база данных около 1 миллиона тяжелых записей. В моем приложении для каждого пользователя у меня было бы подмножество строк из центральной таблицы, которое было бы очень маленьким (вероятно, 100 записей в каждой). Когда конкретный пользователь вошел в систему, я хотел бы искать только по этому набору данных. Пример:
Скажем, у меня есть центральная база данных всех автомобилей в мире. У меня есть профиль пользователя для General Motors (GM), Ferrari и т. Д. Когда GM вошел в систему, я просто хочу искать (полнотекстовый поиск, а не запрос sql) для тех автомобилей, которые производятся GM. Также GM может запустить / отозвать модель, и в этом случае центральная база данных будет обновлена, и поэтому набор строк будет связан с GM. В случае приобретения, база данных определенных профилей может измениться без запуска / удаления нового автомобиля. Таким образом, центральная база данных не изменится, но наборы строк могут.
Какой лучший способ реализовать такой дизайн? Эти меньшие наборы строк должны быть динамическими в зависимости от действий пользователя.
Мы находимся на Rails 2.3.5 и используем think_sphinx в качестве коннектора и Sphinx / MySQL для поиска и реляционных ассоциаций.