Поделиться через


Что такое Azure Cosmos DB для NoSQL?

Azure Cosmos DB для NoSQL — это полностью управляемая и бессерверная база данных NoSQL и векторная база данных для современной разработки приложений, включая приложения ИИ и агенты. База данных поддерживает соглашение об уровне обслуживания (SLA) с поддержкой скорости, доступности и мгновенной динамической масштабируемости. Это идеально подходит для рабочих нагрузок в режиме реального времени, требующих высокой производительности и распределенной обработки в больших объемах данных JSON и векторных данных.

Эта служба является частью портфеля Azure Cosmos DB, но адаптирована для рабочих нагрузок NoSQL. Он поддерживает запрос данных JSON с помощью языка запросов, такого как SQL, что делает его приемлемым для разработчиков, которые знают SQL, но хотят воспользоваться гибкостью хранилища данных, не зависящих от схемы.

Функции базы данных

В следующих разделах кратко описаны некоторые способы использования Azure Cosmos DB для NoSQL.

Глобальное распределение и масштабируемость

Azure Cosmos DB для NoSQL предназначен для горизонтального масштабирования в нескольких регионах, что обеспечивает доступ к данным с низкой задержкой для пользователей по всему миру. С помощью готового к использованию глобального распределения можно реплицировать данные в регионах Azure с выполнением лишь нескольких действий. Служба автоматически обрабатывает секционирование и масштабирование в соответствии с требованиями к производительности и хранилищу.

Гибкая схема и модель данных JSON

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

Низкая задержка и высокий уровень доступности

Azure Cosmos DB для NoSQL гарантирует одноцифровую миллисекундную задержку чтения и записи на 99-м процентиле. Она также предлагает доступность 99.999% для конфигураций с несколькими регионами, поэтому приложение остается адаптивным и надежным во время пиковых сбоев или региональных сбоев.

Язык запросов, похожий на SQL

API для NoSQL предоставляет язык запросов, похожий на SQL, для запроса данных JSON. Это помогает разработчикам получать и управлять данными без изучения незнакомого синтаксиса. Эта функция позволяет преодолеть разрыв между традиционными пользователями реляционной базы данных и распределенными системами NoSQL.

Требования и зависимости

Чтобы использовать Azure Cosmos DB для NoSQL, вам нужна подписка Azure. Служба интегрируется с функциями Azure, Azure Logic Apps, Azure Synapse Analytics и другими службами Azure для создания комплексных решений. Пакеты SDK доступны для популярных языков программирования, включая .NET, Python, TypeScript, JavaScript, Java, Go и Rust.

Ограничения и рекомендации

Azure Cosmos DB для NoSQL оптимизирован для рабочих нагрузок, основанных на JSON и масштабируемых за счет увеличения числа узлов. Если сценарий соответствует другой модели данных, рассмотрите следующие службы:

  • Azure DocumentDB при необходимости конвейеров агрегирования MongoDB, транзакций с несколькими документами или многооблачной переносимости без рефакторинга драйверов.
  • Управляемый экземпляр Azure для Apache Cassandra если требуются рабочие нагрузки языка запросов Cassandra (CQL) без изменений с полным контролем на уровне узла Cassandra.
  • Cosmos AIGraph (OmniRAG) когда рабочая нагрузка графа сосредоточена на извлечении дополненного поколения (RAG) или обходах на основе ИИ, которые объединяют графы знаний с векторным и гибридным поиском.
  • Graph в Microsoft Fabric при необходимости обработки аналитических графов, интеграции бизнес-аналитики или языка запросов Graph (GQL)-совместимых рабочих нагрузок в OneLake.
  • База данных Azure для PostgreSQL, если требуется реляционный движок с соединениями SQL, хранимыми процедурами или семантикой увеличения масштаба транзакций.

Так как API для NoSQL использует модель затрат единиц запросов (ЕЗ/с), оцените и отслеживайте пропускную способность для оптимизации расходов на рабочую нагрузку.

Azure Cosmos DB и Azure DocumentDB

Azure Cosmos DB и Azure DocumentDB — это службы баз данных NoSQL, созданные для хранения данных JSON с высокой надежностью. Azure Cosmos DB оптимизирован для сценариев горизонтального масштабирования, требующих глобального распределения, массового масштабирования и мгновенного масштабирования с автоматической отработкой отказа в разных регионах.

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

Характеристика Azure Cosmos DB (RU/serverless) Azure DocumentDB (vCore)
Соглашение SLA по доступности 99.999% (с несколькими регионами) 99.995%
Модель масштабирования Горизонтальная конфигурация (на базе русской платформы и бессерверная) Вертикальная (на основе vCore)
Фокус запроса Оптимизировано для операций чтения точек и распределенных запросов Расширенные конвейеры агрегирования и сложные соединения
Глобальное распределение Готовый мульти-регион с автоматическим переключением при отказе Региональное развертывание с необязательными георепликами
Модель затрат Переменная на основе российских технологий или без серверов Прогнозируемые вычисления и хранилище

Для получения дополнительной информации см руководство по выбору между Azure DocumentDB и Azure Cosmos DB.