Основные данныеIoTТарифы Performance и Scale

Временные ряды IoT и метрик

Принимайте отсчёты датчиков и метрик, храните исходные данные столько, сколько нужно, копируйте их в ряды с долгим хранением и агрегируйте в интервалы по запросу.

на ряд
Хранение
правила копирования
Авто
для поиска рядов
Метки
Шаг 1 из 6
Создаём ряд

Храните исходные отсчёты 24 часа и пометьте их зданием и типом.

Пример сеансаplaying
# Создаём ряд
hotkv> TS.CREATE temp:b4:f2 RETENTION 86400000 LABELS building b4 type temperature
OK

Анимированная демонстрация с настоящими командами HotKV и примерами ответов. Нажмите на любой шаг, чтобы перейти к нему. Команды и ответы остаются на английском, ровно так, как вы вводите и видите их в HotKV.

Проблема

Тысячи датчиков присылают показание каждые несколько секунд. Исходные данные нужны на несколько часов для оповещений, год истории - для отчётов, а поиск нужного ряда означает поиск по зданию, этажу или типу устройства. Запускать для этого отдельную базу данных временных рядов - ещё одна система в эксплуатации.

Как с этим справляется HotKV

У временных рядов в HotKV есть срок хранения и метки. Устройства добавляют отсчёты командой TS.ADD, правило понижения частоты копирует каждый новый отсчёт в ряд, который вы храните дольше, а TS.AGG агрегирует любой диапазон в интервалы фиксированной ширины функциями avg, min, max и другими.

Шаг за шагом

Что происходит, команда за командой

  1. 01

    Создаём ряд

    Храните исходные отсчёты 24 часа и пометьте их зданием и типом.

    TS.CREATE temp:b4:f2 RETENTION 86400000 LABELS building b4 type temperature
  2. 02

    Долгосрочный ряд

    Второй ряд, который хранит отсчёты в течение года.

    TS.CREATE temp:b4:f2:1y RETENTION 31536000000
  3. 03

    Копируем в него отсчёты

    Каждый новый отсчёт также копируется в долгосрочный ряд. Читайте его как почасовые средние через TS.AGG.

    TS.DOWNSAMPLE temp:b4:f2 temp:b4:f2:1y avg 3600000
  4. 04

    Принимаем отсчёты

    Датчики сообщают через шлюз. * использует время сервера.

    TS.ADD temp:b4:f2 * 21.4
  5. 05

    Агрегируем для графика

    Пятиминутные средние за последний час, готовые к построению.

    TS.AGG temp:b4:f2 1790982000000 1790985600000 300000 avg
  6. 06

    Ищем ряды по метке

    Каждый температурный ряд в здании b4.

    TS.LIST LABEL building b4
Где это уместно

Реальные сценарии

Умные здания

Температура, CO2 и заполненность хранятся по этажам, с исходными данными за сутки и почасовыми средними для отчётов.

Телеметрия автопарка

Скорость, заряд батареи и данные двигателя транспортных средств принимаются непрерывно и отображаются по каждому средству.

Метрики приложений

Задержка запросов и число ошибок по конечным точкам питают живые дашборды без отдельной базы данных метрик.

Встроено

Что вы получаете

Хранение на ряд

Старые отсчёты удаляются автоматически.

TS.CREATETS.RETENTION

Правила понижения частоты

Новые отсчёты копируются в ряд с долгим хранением, который вы агрегируете при чтении.

TS.DOWNSAMPLE

Агрегация по интервалам

Агрегируйте любой диапазон в интервалы фиксированной ширины.

TS.AGGTS.RANGE

Метки

Находите ряды по значению метки.

TS.LISTTS.INFO

Частые вопросы

Можно ли передавать собственные временные метки?

Да. Передайте время Unix в миллисекундах вместо * в TS.ADD.

Какие агрегации доступны?

Полный список, включая avg, min, max и sum, см. в справочнике TS.AGG.

Какие тарифы это включают?

Временные ряды входят в тарифы Performance и Scale.

Связанные сценарии

Попробуйте на своей нагрузке

HotKV понимает протокол Redis, поэтому вы можете подключить к нему существующий клиент и выполнить те же команды.