Узнайте, что нового в MongoDB 6.0!

MongoDB 6.0.0 была выпущена только вчера и теперь доступна для загрузки.

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

Вот некоторые из недавно добавленных функций:

Временные ряды

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

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

Рабочие нагрузки, связанные с временными рядами, обычно имеют следующие характеристики:

  • Вставки поступают партиями, последовательно упорядоченными по времени.
  • Наборы данных, как правило, состоят только из приложений
  • Старые данные могут быть удалены или заархивированы
  • Запросы и агрегации обычно применяются к данным в определенном временном диапазоне.

Эти уникальные качества влекут за собой различные проблемы для разработчиков, стремящихся создать приложения, использующие данные временных рядов. Одна из них — объем данных: Рабочие нагрузки, связанные с временными рядами, могут генерировать данные много раз в секунду, что делает емкость хранилища (и связанные с этим расходы) существенной проблемой. Другой вопрос — непрерывность данных. Пробелы в данных временных рядов — например, когда датчики выходят из строя — могут значительно усложнить анализ данных.

Учитывая это, в MongoDB 6.0 были внесены следующие улучшения в производительность временных рядов:

  • Добавьте составной индекс для полей времени, метаданных или измерений.
  • использовать операторы $or, $in и $geoWithin с частичными индексами на коллекции временных рядов.
  • Вторичные индексы по измерениям:

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

  • Операции сортировки:

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

Потоки изменений

Благодаря появлению таких приложений, как Seamless или Uber, пользователи теперь ожидают событийно-ориентированный опыт в реальном времени, например, ленты активности, уведомления или рекомендательные системы. Однако работать со скоростью реального мира довольно сложно, поскольку ваше приложение должно уметь быстро определять и реагировать на изменения данных.

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

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

Когда документ изменяется или удаляется, пользователи теперь могут просто получить доступ к состояниям «до» и «после» полного документа, также известным как «до» и «после» соответственно. Предположим, что вы используете индекс времени жизни (TTL) для удаления сеансов пользователей по мере приближения срока их истечения при хранении сеансов пользователей в коллекции. Вы можете делать ссылки на информацию в уничтоженных документах, чтобы предоставить пользователю более подробную информацию о его сеансе постфактум. Или, возможно, вам нужно отправлять обновленную версию всего документа в нижестоящую систему при каждом изменении данных. Добавленная поддержка получения состояния документа до и после значительно расширяет возможности потоков изменений.

До версии MongoDB 6.0 потоки изменений поддерживали операции языка манипулирования данными (DML). Теперь они поддерживают операции языка определения данных (DDL), такие как создание и удаление индексов и коллекций, чтобы вы могли реагировать на события базы данных в дополнение к изменениям данных.

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

Новые операторы агрегации

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

Например, вы можете легко обнаружить важные значения в вашем наборе данных с помощью таких операторов, как $maxN , $minN или $lastN. Кроме того, вы можете использовать оператор типа $sortArray для сортировки элементов массива непосредственно в конвейерах агрегации.

Ниже приведен список всех новых операторов:

Запрашиваемое шифрование

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

Почему Queryable Encryption является важной технологией?

Предприятиям с высокочувствительной рабочей нагрузкой требуются более технические средства для управления и ограничения доступа к частным и регулируемым данным. В связи с требованиями соответствия многие коммерческие и федеральные заказчики вынуждены разделять обязанности людей из-за чувствительности некоторых рабочих нагрузок. Например, администраторы баз данных (DBA) работают с данными, в то время как аналитики в брокерской фирме по продаже акций делают запросы, чтобы найти клиентов и количество акций. Однако конфиденциальная и персонально идентифицируемая информация (PII), такая как номер социального страхования (SSN), должна быть полностью скрыта.

Текущее состояние и проблемы, связанные с безопасностью данных

Хотя существующие решения по шифрованию (в пути и в состоянии покоя) охватывают многие нормативные случаи использования, ни одно из них не защищает конфиденциальные данные во время их использования. Шифрование данных в процессе использования часто требуется для высокочувствительных рабочих нагрузок для клиентов в сфере финансовых услуг, здравоохранения и организаций критической инфраструктуры. В настоящее время технологии шифрования данных при их использовании сталкиваются со следующими проблемами:

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

  • Разработчикам необходим опыт работы с криптографией, чтобы разработать безопасное решение для шифрования.

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

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

Шифрование с возможностью запроса

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

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

В этом примере предположим, что мы извлекаем SSN пользователя. Когда заявитель отправляет запрос, драйверы MongoDB сначала анализируют его.

Распознав, что запрос относится к зашифрованному полю, драйвер запрашивает ключи шифрования у поставщика ключей, предоставляемого клиентом, например, AWS Key Management Service (AWS KMS), Google Cloud KMS, Azure Key Vault или любого поставщика с поддержкой KMIP, например, HashiCorp Vault.

Драйвер отправляет запрос на сервер MongoDB с зашифрованными полями, представленными в виде шифротекста.

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

Сервер MongoDB возвращает драйверу зашифрованные результаты запроса.

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

Преимущества шифрования с возможностью запросов

  • Широкие возможности запросов к зашифрованным данным:
    Только служба баз данных MongoDB позволяет пользователям выполнять сложные выражения запросов на зашифрованных данных, включая диапазон, равенство, префикс, суффикс и многое другое. (Остальное будет включено в последующие релизы; поиск по равенству включен в релиз Preview). Клиенты получают огромную выгоду от этого, поскольку они могут выполнять выразительные запросы с уверенностью и безопасностью данных.

  • Данные шифруются на протяжении всего жизненного цикла:
    Ваши самые конфиденциальные данные защищены с помощью Queryable Encryption, который добавляет дополнительный уровень защиты. Данные находятся в безопасности во время хранения, транспортировки, в памяти, журналах и резервных копиях. Queryable Encryption также полностью рандомизирует данные на сервере перед шифрованием.

  • Надежный технический контроль для критически важных случаев использования конфиденциальности данных:
    Строгий технический контроль позволяет клиентам выполнять самые строгие требования к конфиденциальности и целостности данных, используя криптографию на основе стандартов. Клиенты всегда сохраняют контроль над ключами шифрования, а шифрование/дешифрование данных происходит только на стороне клиента. Это гарантирует, что только авторизованные пользователи, имеющие доступ к приложению на стороне клиента и ключам шифрования, могут видеть данные в открытом виде. Такие надежные средства контроля могут помочь клиентам выполнить требования к конфиденциальности данных, установленные HIPAA, GDPR, CCPA и др.

  • Ускоренная разработка приложений:
    Используя основанную на стандартах криптографию, клиенты могут соблюдать самые строгие требования к конфиденциальности и целостности данных. Шифрование и дешифрование данных происходит только на стороне клиента, а ключи шифрования всегда находятся под контролем клиента. Это гарантирует, что данные в открытом виде могут просматривать только уполномоченные лица, имеющие доступ к приложению на стороне клиента и ключам шифрования. Эти эффективные средства контроля могут помочь клиентам в соблюдении законов о конфиденциальности данных, таких как HIPAA, GDPR, CCPA и других.

  • Снижение институционального риска:
    Клиенты, которые переносят свои данные в облако, могут доверить MongoDB Atlas свою более деликатную информацию. Клиенты могут сохранять контроль над своими данными, в то время как полностью рандомизированные зашифрованные данные могут быть подвержены богатым, выразительным запросам благодаря шифрованию с возможностью запроса.

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

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

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

Если вы уже являетесь пользователем Atlas с выделенным кластером, воспользуйтесь преимуществами последней, самой передовой версии MongoDB. Вот как обновить ваши кластеры до MongoDB 6.0.

Оцените статью
devanswers.ru
Добавить комментарий