Требования к хранилищу базы данных и управление большим количеством числовых данных - PullRequest
1 голос
/ 18 апреля 2011

Я пытаюсь понять, как управлять и обслуживать много числовых данных. Не уверен, что база данных SQL - правильный подход. Сценарий выглядит следующим образом:

  • 10000 наборов данных временных рядов, собранных в час
  • 5 значений с плавающей запятой на набор
  • Около 5000 часов собранных данных

Итак, это дает мне около 250 миллионов значений. Мне нужно запросить этот набор данных по идентификатору набора и по времени. Если возможно, также отфильтруйте одно или два значения. Я также постоянно добавляю к этим данным.

Это похоже на много данных. Предполагая 4 байта на значение, это 1 ТБ. Я не знаю, что такое общий «множитель накладных расходов» для базы данных SQL. Допустим, это 2, тогда это 2 ТБ дискового пространства.

Каковы хорошие подходы к обработке этих данных? Некоторые варианты, которые я вижу:

  • Одиночная таблица PostgreSQL с индексами по ID, время
  • Одиночная таблица SQLite - это казалось невыносимо медленным
  • Один файл SQLite на набор - в этом случае множество .sqlite файлов
  • Что-то вроде MongoDB? Даже не знаю, как это будет работать ...

Ценю комментарии тех, кто делал это раньше.

1 Ответ

0 голосов
/ 18 апреля 2011

Mongo - это хранилище ключей-значений;может работать на ваши данные, но у меня нет большого опыта.

Я могу вам сказать, что PostgreSQL будет хорошим выбором.Он сможет обрабатывать такие данные.SQLite определенно не оптимизирован для этих случаев использования.

...