Этот вопрос закрыт для ответов, так как повторяет вопрос Какую базу данных использовать для большого кол-ва данных?
@TRIG

Какой тип базы данных использовать при большом объеме информации и высокой скорости её записи/чтения?

Здравствуйте!
Уточняю суть вопроса на примере:

Есть 1000 измерительных приборов.
Каждый прибор передает одновременно сразу несколько разных показаний (до 30).
Показания нужно снимать одновременно со всех приборов, записывать эти показания в БД и анализировать на предмет колебаний (анализ свой для каждого прибора).
Показания в основном представлены в виде чисел с плавающей точкой, отсутствуют какие-либо сложные типы данных.
Съем показаний, их запись и простой анализ должны происходить за 1 секунду.
Показания снимаются на протяжении 24 часов.
Данные можно периодически полностью очищать (раз в неделю, например), т.к. их хранение на постоянной основе не требуется в БД.

Какой тип БД лучше выбрать под такие цели?
Я изначально начал смотреть в сторону Time Series DataBase (TSDB), но у меня нет уверенности в этом.
  • Вопрос задан
  • 308 просмотров
Ответы на вопрос 3
mayton2019
@mayton2019
Bigdata Engineer
Успех мероприятия будет зависеть от двух факторов.
1) Успеете ли вы грузить трафик? Тут я думаю будет все ОК при использовании TimeSeriesDB.
2) Успеете ли вы делать их анализ? И что за анализ? Нужно ли вам для анализа видеть консистентность
между всех приборов? Что за сложные типы данных? Как они будут участвовать в запросе.
Ответ написан
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Проблемы интенсивных нагрузок обычно решают комплексно. Не только выбором подходящих СУБД, брокеров и т.п., но и архитектурно. Например Tesla используют Akka Cluster Sharding для работы с сенсорами своих авто, а работу с базой организовали через event sourcing, так что база данных у них не очень сильно нагружена, несмотря на миллионы запросов в секунду.
Ответ написан
@rPman
В вашей задаче все определит какой именно нужно делать анализ
Съем показаний, их запись и простой анализ должны происходить за 1 секунду.


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

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

Кстати полный или частичный анализ можно проводить фоном, параллельным процессом или несколькими (у меня была задача где данные собирались одним машинами, а обрабатывались другими, с некоторым лагом)

P.s. и кстати, не важно какая база данных хоть файлы, все решить алгоритм анализа
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы