Мы пытаемся использовать Apache Cassandra в приложении на основе IoT. Мы планируем создать абстракцию устройства. Любой пользователь должен иметь возможность определять устройство с рядом атрибутов. Для каждого атрибута пользователь должен иметь возможность определить ряд свойств, как имя, тип данных, минимальное значение, максимальное значение и т.д.Моделирование данных в cassandra для IOT
Некоторые примеры устройств приведены ниже
Vehicle
транспортное средство может иметь следующие атрибуты
- скорость [имя: - скорость, тип данных: - двойной, минимальное значение: - 0, максимальное значение: -300]
- Широта [имя: - скорость, данные: - двойная, минимум: - -90, максимум: -90]
- Долгота [имя: - долгота, данные: - двойная, минимум: - -180, максимальная: 180]
температурный датчик
датчик температуры может иметь следующие атрибуты
- текущая температура [название: - Текущий Temperation, тип данных: - двойной, мин Значение IMUM: - 0, максимальное значение: -300]
- Unit [имя: - Единица, тип данных: -string]
В режиме реального времени, каждое устройство будет посылать данные в виде пар ключ-значение.
Для бывших: - A Автомобиль может отправить следующие данные
Время: - 6/4/2016 11: 15: 15.150, широта: -1,256, Долгота: - -180,75, Скорость: - 50
Время: - 6/4/2016 11: 15: 16,150, широта: -1,257, долгота: - -181,75, Скорость: - 51
Для ех: - датчик температурыможет послать следующее данные
Время: - 6/4/2016 11: 15: 15,150, Текущая температура: 100, Раздел: Фаренгейт
Время: - 6/4/2016 11: 15: 16.150, Широта: 101, Раздел: Фаренгейт
Поскольку атрибуты разных устройств могут быть разными, мы смущены тем, как моделируют таблицы в cassandra ... Некоторые из параметров, которые приходили на ум, - это , создающие таблицу для устройства или создание отдельной таблицы и хранилища значения в типах данных карты ... Мы немного путаем, о том, какой подход следует принять ... Любые предложения оцениваются
Учитывая, что конечный пользователь может определить свои собственные типы устройств по желанию, вы вероятно, не хотят, чтобы таблица использовалась на устройстве, так как это привело бы к созданию таблиц по требованию на основе пользовательских запросов. – Aurand
Вы можете создать абстракцию, скажем, Thing, термин в настоящее время в моде в домене IOT, который поддерживает определенные пользователем теги, каждый из которых состоит из имени и значения. Каждый тег будет сохранен в отдельном столбце. –
Возможно, вы захотите взглянуть на мой проект IoT, это проект IoT/Casandra. https: //www.github.com/weaviate –