Использование статистических таблиц с Rails - PullRequest
0 голосов
/ 23 сентября 2011

Я создаю приложение, которое должно хранить изрядное количество событий, которые выполняют пользователи. (Подумайте много, как в миллионах в месяц).

Мне нужно сообщить об этих событиях (всего типа x за последний месяц и т. Д.), И мне нужно что-то гибкое и быстрое.

Я играл с Redis и т. Д. Для хранения агрегатов данных, но это может означать, что я создаю огромное хранилище однозначных агрегатов, которые не подлежат восстановлению.

Хотя это не плохое решение, я смотрю на хранение необработанных данных о событиях в таблицах, которые затем я могу запрашивать по мере необходимости и потенциально генерировать статистические счетчики на периодической основе. Таким образом, это дало бы мне возможность добавлять счетчики с течением времени, а также проводить специальные проверки того, что происходит, чего не позволяют агрегаты.

Вопрос в том, как лучше это сделать? Я, очевидно, не хочу создавать модель для каждой таблицы (что предпочитает Rails), поэтому я просто создаю таблицы и взаимодействую с необработанным SQL на основе потребностей, или есть какой-то другой выбор для работы с такого рода данные?

1 Ответ

1 голос
/ 23 сентября 2011

Я работал над приложением, которое имело такой тип потока данных, и решение было следующее:

-> сохранить все -> создать агрегаты -> удалить все через короткий промежуток времени (1 неделя иличто-нибудь) для освобождения ресурсов

Таким образом, вы можете просто сохранять события с помощью rails, создавать фоновые агрегаты из другого быстрого скрипта (cron sql), читать с помощью rails агрегаты и еще один фоновый скрипт для удаления необработанных событий.

Также .. рельсы и производительность обычно не идут рука об руку;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...