Недавно я изучал опции NoSql. Мой сценарий выглядит следующим образом:
Мы собираем и храним данные с пользовательского оборудования в удаленных местах по всему миру. Мы записываем данные с каждого сайта каждые 15 минут. В конце концов, мы хотели бы перейти на каждые 1 минуту. Каждая запись имеет от 20 до 200 измерений. После настройки аппаратных записей и отчетов все те же измерения каждый раз.
Самая большая проблема, с которой мы сталкиваемся, заключается в том, что мы получаем различный набор измерений из каждого проекта. Мы измеряем около 50-100 различных типов измерений, однако любой проект может иметь любое количество измерений каждого типа. Нет предустановленного набора столбцов, которые могут вместить данные. Из-за этого мы создаем и создаем таблицу данных каждого проекта с точными столбцами, которые ему нужны, когда мы настраиваем и настраиваем проект в системе.
Мы предоставляем инструменты для анализа данных. Обычно это включает в себя больше вычислений и агрегацию данных, некоторые из которых мы также сохраняем.
В настоящее время мы используем базу данных mysql со таблицей для каждого клиента. Между таблицами нет связей.
NoSql кажется многообещающим, потому что мы могли бы сохранить project_id, timestamp, тогда остальное не было бы предустановленным. Это означает, что одна таблица, больше связей в данных, но все же обрабатывает множество измерений.
Является ли решение "NoSql" правильным для этой работы? Если да, то какие?
Я расследовал MongoDB, и это кажется многообещающим...
Пример для разъяснения:
В проекте 1 записано 5 данных, столбцы таблицы mysql выглядят так: временная отметка, темп, скорость ветра, осадки, освещенность, направление ветра
В проекте 2 есть 3 точки данных, записанных столбцами таблицы mysql: временная метка, темп, освещенность, темп2