Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру 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 различными способами;
— обсудим возможности и ограничения каждого способа;
— выберем наиболее оптимальный способ в зависимости от задачи.
Регистрация для всех желающих доступна по ссылке.