В MongoDB мы стремимся предоставить разработчикам возможность внедрять инновации в работу с данными. Временные ряды — самая быстрорастущая рабочая нагрузка с интенсивным использованием данных. Наши нативные возможности при работе с временными рядами позволяют быстрее создавать приложения и получать больше инсайтов из данных этих рядов с меньшей когнитивной нагрузкой.

Обычно в данных временных рядов бывают пропуски, например, когда IoT-датчик отключается от сети. Но для проведения анализа и получения правильных результатов данные временных рядов должны быть непрерывными. Вы также можете захотеть создать гистограммы или скоррелировать датасеты, чтобы обеспечить более сложную оперативную аналитику в контексте разработки приложений. Заполнение пробелов (Gap filling), теперь доступное в MongoDB 5.3 Rapid Release, в сочетании с уплотнением, которое мы представили в MongoDB 5.1, помогает лучше обрабатывать недостающие данные, чтобы легко создавать и вытаскивать на поверхность ценные инсайты.

Два новых этапа агрегирования создают простой, оптимизированный способ работы с отсутствующими данными во временных рядах и регулярных коллекциях, обеспечивая аналитику для любого сценария использования. Этап $densify создает новые документы для устранения пробелов во временной или числовой области на требуемом уровне детализации, а $fill устанавливает значения для полей, когда величина равна нулю или отсутствует. Заполнение отсутствующих значений может быть выполнено с помощью константы или с использованием линейной интерполяции: путем переноса последнего наблюдения или возврата от следующего.

Входные документы: отслеживание температуры, движения и количества запасов в складском помещении

Эта функция предоставляет почасовое отображение метрик для каждого складского помещения. Если данные о температуре отсутствуют, они должны быть интерполированы линейно, движение по умолчанию должно равняться 0, а количество запасов должно быть перенесено из последней известной точки.

Выходные данные: Второй документ был создан на основе двух соседних документов.

Ранее такие сложные виды аналитики были возможны только в специализированных системах, таких как специальные базы данных временных рядов или хранилища данных. С точки зрения архитектуры, специалисты-технологи должны были найти беспроигрышный компромисс между нишевой (узкоспециальной), часто незрелой технологией, предназначенной исключительно для рабочих нагрузок временных рядов и не связанной с системами учета, содержащими полный набор корпоративных данных, и экспортом данных временных рядов в хранилища, затрудняя тем самым практическую операционализацию инсайтов. Оба подхода предполагают управление многочисленными хранилищами данных и хрупкими ETL-пайплайнами, что увеличивает сложность и стоимость. Обходные пути для этих подходов часто предполагают создание разработчиками сложных дата-пайплайнов для заполнения пробелов, в том числе на уровне приложений, что приводит к низкой производительности запросов или ограничивает аналитику небольшими датасетами. С помощью MongoDB 5.3 разработчики могут создавать насыщенную аналитику на основе данных временных рядов в полете и предоставлять оперативную информацию своим пользователям в рамках работы приложения.

MongoDB 5.3 доступна уже сейчас. Если вы используете серверные инстансы Atlas Serverless или выбрали получение Rapid Releases в выделенном кластере Atlas, то ваш деплоймент будет автоматически обновлен до версии 5.3 начиная с сегодняшнего дня. MongoDB 5.3 также доступна в виде релиза для разработчиков только для ознакомительных целей в Центре загрузки MongoDB. В соответствии с новой каденцией выпуска релизов, объявленным в прошлом году, функциональность, доступная в версии 5.3 и последующих Rapid Releases, будет перенесена в MongoDB 6.0, наш следующий основной релиз, запланированный к выпуску в конце этого года.

Более подробное объяснение заполнения пробелов для временных рядов можно найти в нашей статье на MongoDB Developer Hub.


Скоро в OTUS состоится открытое занятие «Варианты установки MongoDB». На бесплатном вебинаре мы:

  • развернем MongoDB различными способами;

  • обсудим возможности и ограничения каждого способа;

  • выберем наиболее оптимальный способ в зависимости от задачи.

Регистрация для всех желающих доступна по ссылке.

Комментарии (1)


  1. ialexander
    26.04.2022 19:57

    MongoDB 6.0, наш следующий основной релиз, запланированный к выпуску в конце этого года

    Пару недель назад вышел 6.0.0 rc0, 6.0 выйдет гораздо раньше конца года.

    https://www.mongodb.com/community/forums/t/mongodb-6-0-0-rc0-is-released/158059