Что нового в MongoDB 5.0? — CloudSavvy ИТ

Иллюстрация, показывающая логотип MongoDB

Последний основной выпуск MongoDB, v5.0, был запущен 13 июля 2021 года. Эта итерация документно-ориентированной базы данных добавляет новые функции и улучшения, а также пересмотренную периодичность выпуска будущих версий.

Данные временных рядов

Одно из главных нововведений — первоклассная поддержка данных временных рядов. Хотя некоторые разработчики уже построили свой собственный Инструменты временных рядов вокруг MongoDB, наличие встроенных типов данных временных рядов поможет многим другим начать работу.

«Временной ряд» относится к любому виду данных, в которых записи создаются последовательно в разные моменты времени. Общие варианты использования включают потоки измерений датчиков и журналы истории транзакций, где каждая запись напрямую соответствует определенному моменту.

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

db.createCollection («измерения», {timeseries: {timeField: «отметка времени», степень детализации: «минуты»}, expireAfterSeconds: 3600});

Приведенный выше фрагмент определяет коллекцию временных рядов, называемую измерениями. Его степень детализации составляет минуты. Документы в коллекции будут автоматически удалены через час.

MongoDB 5.0 также предоставляет встроенную поддержку запросов и управления данными временных рядов. Вы можете извлекать временные скользящие средние, которые отслеживают временные тенденции, с минимальным собственным кодом.

db.measurements.aggregate ([
{
$project: {
date: {
$dateToParts: {date: «$timestamp»}
}
},
$group: {
_id: {
time: {
hour: «$date.hour»,
minute: «$date.minute»
}
},
averageMeasurement: {$avg: «measurement»}
}
}
]);

Предполагая коллекцию временных рядов с полями отметок времени и измерений, приведенная выше агрегированная команда выдала бы что-то вроде этого:

{«_id»: {«time»: {«hour»: 12, «month»: 30}, «averageMeasurement»: 1.5}, «_id»: {«time»: {«hour»: 12, «month» : 45}, «averageMeasurement»: 2.7}}

Записи группируются по их отметкам времени с помощью проекции. Затем значения измерений каждой группы усредняются в поле averageMeasurement.

Live Resharding

Одной из самых больших проблем при горизонтальном масштабировании MongoDB был подход к сегментированию. Выбор правильного ключа осколка имеет решающее значение для производительности вашего кластера, но ранее был односторонней операцией. После того, как вы установили ключ, вы не могли его изменить, что оставило вас бессильным, если вы приняли неправильное решение в первый же день. Сам MongoDB описал выбор ключа шарда как «Прыжок с парашютом в одну сторону» Лучше всего решить эту проблему, создав полностью новый кластер.

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

Управление версиями и выпуски

MongoDB 5.0 содержит значительные улучшения, ориентированные на будущее. База данных получила версионный API, который позволяет избежать критических изменений при обновлении до новых выпусков.

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

Это изменение сопровождается новым график выпуска. MongoDB начнет поставки будущих версий быстрее, с выходом «Rapid Release» каждый квартал. Это будут второстепенные семантические версии без критических изменений, предоставляющие новые функции в ускоренном цикле. Каждый год будет появляться новый основной выпуск, объединяющий быстрые выпуски и потенциально нарушающий обратную совместимость.

Новая модель выпуска позволяет вам быстрее получать доступ к новым функциям, не влияя на общую стабильность MongoDB. Если вы не хотите обновляться каждый квартал, вы можете остаться в ветке основного выпуска и сохранить годовую частоту обновления. Быстрые выпуски будут официально поддерживаться только в управляемом сервисе Atlas MongoDB. Они будут доступны для самостоятельных пользователей в качестве дополнительных сборок для разработки.

Бессерверный MongoDB

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

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

Бессерверный Атлас управляется MongoDB. Он использует последнюю версию выпуска базы данных с поддержкой автоматического обновления. Создание бессерверных экземпляров позволяет вам получать доступ к новым кластерам MongoDB, не настраивая их самостоятельно. Вы выбираете облачного провайдера, создаете новую базу данных и подключаетесь из своего приложения.

Резюме

MongoDB 5.0 расширяет базу данных дополнительными возможностями, повышающими ее универсальность. Он также укрепляет свои позиции в качестве облачной платформы, доступной в ряде управляемых решений, в том числе в бессерверных вариантах.

Помимо изменений заголовка, есть здоровый выбор улучшений и улучшений экосистемы. Новый Оболочка MongoDB упрощает взаимодействие разработчика с базами данных, предлагая подсветку синтаксиса и автозаполнение. Новые SDK также помогают интегрировать MongoDB с другими языками программирования и фреймворками, включая Unity, Flutter и Kotlin.

Что касается безопасности, расширенная поддержка Шифрование на уровне поля на стороне клиента позволяет шифровать данные, хранящиеся в мультиоблачных базах данных. Улучшения ротации сертификатов упрощают обмен x509 без простоев, снижая влияние рутинных процедур защиты.

MongoDB 5.0 теперь доступен через Atlas, поставщиков общедоступных облаков и в качестве самостоятельного хостинга. решение с открытым исходным кодом. Существуют официальные пакеты для Amazon Linux, Debian, RedHat, SUSE, Ubuntu и Windows, а также Образ Docker для контейнерных сред.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *