Хранить данные временных рядов в базе данных? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь найти хороший способ хранения данных временных рядов. Мой вариант использования выглядит следующим образом:

Приблизительно 100 000 наборов данных в год. Каждый набор данных содержит около 600 строк и 40 или более столбцов. (то есть: разные столбцы для набора данных). Наборы данных загружаются в полном блоке (то есть: все 600 строк в момент)

У меня есть доступ к следующему:

  • Рубин на рельсах
  • БД SQL Server

Данные будут использоваться двумя способами:

1) Часто (то есть: ~ 500 раз в день) извлекает ~ 15 наборов данных, связанных с одним конкретным элементом, а затем отображает некоторые диаграммы и графики данных. Это будет в приложении ruby-on-rails.

2) Изредка (ежемесячно?) Собирать все наборы данных определенного типа в нечто вроде блокнота Юпитера для анализа.

Я вижу 3 разных способа хранения этих данных:

1) Хранить данные в виде плоского файла с помощью ActiveStorage

2) Сохранить данные в виде json или текста в столбце varchar (max)

3) Сохраните данные в виде отдельных строк в очень большой полиморфной таблице с индексом для извлечения данных, принадлежащих конкретному набору данных.

Для моего конкретного случая использования, какой из 3 приведенных выше методов приведет к наименьшей загрузке сервера? Серверы приложений и баз данных находятся на другом оборудовании.

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