Я пытаюсь понять, как управлять и обслуживать много числовых данных. Не уверен, что база данных SQL - правильный подход. Сценарий выглядит следующим образом:
- 10000 наборов данных временных рядов, собранных в час
- 5 значений с плавающей запятой на набор
- Около 5000 часов собранных данных
Итак, это дает мне около 250 миллионов значений. Мне нужно запросить этот набор данных по идентификатору набора и по времени. Если возможно, также отфильтруйте одно или два значения. Я также постоянно добавляю к этим данным.
Это похоже на много данных. Предполагая 4 байта на значение, это 1 ТБ. Я не знаю, что такое общий «множитель накладных расходов» для базы данных SQL. Допустим, это 2, тогда это 2 ТБ дискового пространства.
Каковы хорошие подходы к обработке этих данных? Некоторые варианты, которые я вижу:
- Одиночная таблица PostgreSQL с индексами по ID, время
- Одиночная таблица SQLite - это казалось невыносимо медленным
- Один файл SQLite на набор - в этом случае множество .sqlite файлов
- Что-то вроде MongoDB? Даже не знаю, как это будет работать ...
Ценю комментарии тех, кто делал это раньше.