У меня есть много данных из файла журнала, из которых я хочу отображать динамические графики, в основном для произвольных периодов времени, которые могут быть отфильтрованы или агрегированы по разным столбцам (которые я мог предварительно создать). Мне интересно, как лучше хранить данные в базе данных и получать к ним доступ для отображения графиков, когда:
- разрешение по времени должно быть переменным от одной секунды до года
- есть записи, которые охватывают несколько «временных интервалов», например, возможно, соединение было открыто в течение нескольких дней, и я хочу считать и отображать пользователя за каждый час, когда он был подключен, а не только за «временной интервал», когда соединение было создано или завершено
Существуют ли передовые практики или инструменты / плагины для рельсов, которые помогают обрабатывать такие данные и объем данных? Возможно, есть механизмы базы данных, специально предназначенные для этого или имеющие полезные функции (например, индексы CouchDB)?
РЕДАКТИРОВАТЬ: Я ищу масштабируемый способ обработки этих данных и схемы доступа. Вещи, которые мы рассмотрели: выполнить запрос для каждого сегмента, объединить приложение - возможно, слишком медленно. Временная метка GROUP BY / гранулярность - неправильно считает соединения. Предварительная обработка данных в строки с наименьшей степенью детализации и понижающей дискретизацией по запросу - возможно, лучший способ.