Часто задаваемые вопросы о Azure Cosmos DB для NoSQL

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Разделы справки начать разработку в Azure Cosmos DB для NoSQL?

Во-первых, вам нужно зарегистрироваться для получения подписки Azure. После регистрации подписки Azure вы можете добавить в подписку Azure API для контейнера NoSQL.

Пакеты средств разработки программного обеспечения (SDK) доступны для .NET, Python, Node.js, JavaScript, Go и Java. Разработчики также могут использовать REST API для взаимодействия с ресурсами Azure Cosmos DB с дополнительных платформ и языков.

Есть ли примеры Azure Cosmos DB для NoSQL для начала работы?

Ознакомьтесь с этими примерами кода и шаблонами краткого руководства для API для NoSQL:

Поддерживает ли Azure Cosmos DB для NoSQL данные без схемы?

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

Поддерживает ли Azure Cosmos DB для NoSQL транзакции ACID (атомарность, согласованность, изоляцию, устойчивость) ?

Да, API для NoSQL поддерживает транзакции между документами, выраженные с помощью пакетов в пакетах SDK или как хранимые процедуры и триггеры JavaScript. Транзакции объединяются в одну секцию в каждом контейнере. Они выполняются с помощью семантики ACID только полностью и изолированно от другого параллельно выполняемого кода и пользовательских запросов. При возникновении исключений выполняется откат всей транзакции.

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

Базы данных можно создать с помощью одного из следующих средств:

Разделы справки настроить azure Cosmos DB для собственных пользователей и разрешений базы данных NoSQL?

Вы можете создавать пользователей и разрешения с помощью одного из пакетов SDK Azure Cosmos DB для NoSQL или REST API. Дополнительные сведения см. в разделе "Настройка пользователей и маркеров ресурсов". Создание разрешений с помощью маркеров ресурсов допускается на уровне контейнера и его потомках (например, документы, вложения). Создание разрешения на уровне базы данных или учетной записи в настоящее время запрещено.

Можно ли выполнить проверку подлинности в Azure Cosmos DB для NoSQL с помощью существующих учетных записей идентификатора Microsoft Entra?

Да! Azure Cosmos DB поддерживает проверку подлинности Microsoft Entra для управления службой и ее ресурсами (плоскости управления) и выполнения данных, операций и запросов (плоскости данных). Проверка подлинности на уровне управления выполняется с помощью функции управления доступом на основе ролей в Azure. Вы можете использовать предварительно настроенную встроенную роль](.). /.. /role-based-access-control/built-in-role.md) или создать пользовательскую роль. С помощью управления доступом на основе ролей Azure можно управлять учетными записями, базами данных, контейнерами и метаданными. Плоскость управления включает в себя операции, включая, но не ограничиваясь этими примерами.

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

Поддерживает ли Azure Cosmos DB для NoSQL язык запросов SQL?

язык SQL (SQL) — это язык, который обычно используется для запроса реляционных данных. API для NoSQL имеет пользовательский язык запросов NoSQL , производный от SQL. Язык запросов NoSQL включает подмножество языка запросов SQL, обычно связанного с SQL Server, а также различные улучшения NoSQL. Язык запросов NoSQL предоставляет расширенные иерархические и реляционные операторы и расширяемость с помощью определяемых пользователем функций на основе JavaScript .UDFs. Грамматика JSON позволяет моделировать документы JSON в виде деревьев с помеченными узлами, которые используются как технологиями автоматического индексирования Azure Cosmos DB, так и запросами на диалекте языка SQL Azure Cosmos DB. Сведения об использовании этого языка запросов см. в разделе NoSQL Query.

Поддерживает ли Azure Cosmos DB для NoSQL функции агрегирования SQL?

API для NoSQL поддерживает агрегирование через агрегатные функции, такие как COUNT, MAX, AVGи SUM через язык запросов NoSQL.

Как Azure Cosmos DB для NoSQL обеспечивает параллелизм?

API для NoSQL поддерживает управление оптимистическим параллелизмом (OCC) с помощью тегов сущностей HTTP или ETags. Каждый ресурс API для NoSQL имеет ETag, и ETag устанавливается на сервере при каждом обновлении документа. Заголовок и текущее значение ETag добавляются во все сообщения ответа. ETags можно использовать с заголовком If-Match , чтобы разрешить серверу решить, следует ли обновлять ресурс. Значением If-Match является значение ETag, используемое для проверки. Если это значение ETag совпадает со значением ETag сервера, ресурс будет обновлен. Если тег ETag больше не актуален, сервер отклоняет операцию с кодом ответа "HTTP 412: ошибка в предусловии". После этого клиенту нужно повторно извлечь ресурс, чтобы получить его текущее значение ETag. Кроме того, ETags можно использовать с заголовком If-None-Match , чтобы определить, требуется ли его ссылка на ресурс.

Большинство пакетов SDK API для NoSQL включают классы для управления элементом управления оптимистичным параллелизмом.

Как выполнить массовую вставку документов в Azure Cosmos DB для NoSQL?

Используйте функцию массового импорта в пакете SDK для .NET или пакете SDK Java для API noSQL для импорта больших наборов данных. Эта функция оптимизирует подготовленную пропускную способность для импорта больших наборов данных.

Кроме того, используйте Apache Spark для импорта данных в масштабе с помощью Python или Scala.

Поддерживает ли Azure Cosmos DB для NoSQL кэширование ссылок ресурсов?

Да, так как Azure Cosmos DB для NoSQL — это служба RESTful, ссылки на ресурсы неизменяемы и могут кэшироваться. API для клиентов NoSQL может указать заголовок If-None-Match для операций чтения в любом документе или контейнере, например документе или контейнере, а затем обновить локальные копии после изменения версии сервера.

Доступен ли локальный экземпляр Azure Cosmos DB для NoSQL?

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

Почему значения с плавающей запятой в элементе Azure Cosmos DB для NoSQL округляются при использовании обозревателя данных на портале?

Это ограничение Обозревателя данных является ограничением JavaScript. JavaScript использует номера форматов с плавающей запятой двойной точности, как указано в институте инженеров электротехники и электроники (IEEE) 754. Этот тип данных может безопасно хранить числа между -(253 – 1) и 253-1 (то есть, 9007199254740991) только.