Представление заполнения пробелов для данных временных рядов в MongoDB 5.3

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

В 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 различными способами;
— обсудим возможности и ограничения каждого способа;
— выберем наиболее оптимальный способ в зависимости от задачи.

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

Источник: https://habr.com/ru/company/otus/blog/662970/


Интересные статьи

Интересные статьи

Эта статья расскажет, какими общими способами можно защитить свое приложение от взлома или получения персональной информации третьими лицами посредством исполнения нескольких простых шагов, но стоит п...
Этот день — яркий пример того, как несколько вещей, которые сами по себе не приводят к отказу, могут удачно совпасть. Итак, 23 апреля было совершенно обычным днём, с обычным трафиком и об...
Привет, Хабр! Меня зовут Иван Хозяинов, а работаю в ITSumma, где изучаю и применяю технологии, связанные с большими данными, машинным обучением и аналитикой. В этой ...
Для тех, кто не хочет покидать консоль, любит её ascii-графику, появилась утилита для отрисовки графиков из pipe. Под катом анимация и примеры. Читать дальше →
Если вы когда-нибудь сравнивали данные двух аналитических инструментов на одном и том же сайте или сравнивали аналитику с отчётами и продажах, то, вероятно, замечали, что они не всегда совпад...