Editar

Perguntas frequentes sobre o Azure Cosmos DB para NoSQL

APLICA-SE A: NoSQL

Como começo a desenvolver no Azure Cosmos DB para NoSQL?

Primeiro, você deve se inscrever para uma assinatura do Azure. Depois de se inscrever para uma assinatura do Azure, você pode adicionar uma API para contêiner NoSQL à sua assinatura do Azure.

Os kits de desenvolvimento de software (SDKs) estão disponíveis para .NET, Python, Node.js, JavaScript, Go e Java. Os desenvolvedores também podem usar a API REST para interagir com os recursos do Azure Cosmos DB de mais plataformas e idiomas.

Há exemplos do Azure Cosmos DB para NoSQL para começar?

Confira estes exemplos de código QuickStart e modelos para a API para NoSQL:

O Azure Cosmos DB para NoSQL suporta dados sem esquema?

Sim, a API para NoSQL permite que os aplicativos armazenem documentos JSON arbitrários como itens sem definições de esquema ou dicas. Os dados ficam imediatamente disponíveis para consulta com a linguagem de consulta do Azure Cosmos DB for NoSQL.

O Azure Cosmos DB para NoSQL suporta transações ACID (atomicidade, consistência, isolamento, durabilidade)?

Sim, a API para NoSQL suporta transações entre documentos expressas usando lotes nos SDKs ou como procedimentos e gatilhos armazenados em JavaScript. As transações têm como escopo uma única partição dentro de cada contêiner e são executadas com semântica ACID como "tudo ou nada", isoladas de outros códigos e solicitações de usuários em execução simultânea. Se ocorrerem exceções, toda a transação será revertida.

Como criar um banco de dados do Azure Cosmos DB para NoSQL?

Você pode criar bancos de dados usando uma destas ferramentas:

Como configuro o Azure Cosmos DB para usuários e permissões nativos do banco de dados NoSQL?

Você pode criar usuários e permissões usando um dos SDKs do Azure Cosmos DB para NoSQL ou a API REST. Para obter mais informações, consulte Configurar usuários e tokens de recursos. A criação de permissões usando tokens de recursos é permitida no nível do contêiner e seus descendentes (como documentos, anexos). No momento, não é permitido criar uma permissão no banco de dados ou em uma conta.

Posso autenticar no Azure Cosmos DB para NoSQL usando minhas contas existentes do Microsoft Entra ID?

Sim! O Azure Cosmos DB dá suporte à autenticação do Microsoft Entra para gerenciar o serviço e seus recursos (plano de controle) e para executar dados, operações e consultas (plano de dados). A autenticação do plano de controle é executada usando o recurso de controle de acesso baseado em função do Azure. Você pode usar uma função interna pré-configurada](.. /.. /role-based-access-control/built-in-roles.md) ou você pode criar uma função personalizada. Com o controle de acesso baseado em função do Azure, você pode gerenciar contas, bancos de dados, contêineres e metadados. O plano de controlo inclui operações que incluem, entre outras, estes exemplos.

  • Criando, substituindo ou excluindo bancos de dados - Criando, substituindo ou excluindo contêineres - Lendo ou substituindo a taxa de transferência do banco de dados - Lendo ou substituindo a taxa de transferência do contêiner Para obter mais informações, consulte Controle de acesso baseado em função do plano de controle do Azure Cosmos DB. A autenticação de plano de dados usa uma API personalizada para implementação de controle de acesso baseado em função nativa do NoSQL. Com essa implementação nativa, você também pode usar funções pré-configuradas ou personalizadas. Com o controle de acesso baseado em função nativo, você pode executar consultas, gerenciar itens ou executar outras operações comuns. O plano de dados inclui operações incluindo, mas não limitado a esses exemplos.
  • Criando, substituindo, atualizando ou excluindo itens - Corrigindo itens - Executando consultas Para obter mais informações, consulte Controle de acesso baseado em função do plano de dados do Azure Cosmos DB.

O Azure Cosmos DB para NoSQL suporta a linguagem de consulta SQL?

SQL (Structured Query Language) é uma linguagem normalmente usada para consultar dados relacionais. A API para NoSQL tem uma linguagem de consulta NoSQL personalizada derivada do SQL. A linguagem de consulta NoSQL inclui um subconjunto da linguagem de consulta SQL normalmente associada ao SQL Server, juntamente com vários aprimoramentos específicos do NoSQL. A linguagem de consulta NoSQL fornece operadores hierárquicos e relacionais avançados e extensibilidade por meio de funções definidas pelo usuário (UDFs) baseadas em JavaScript. A gramática JSON permite modelar documentos JSON como árvores com nós rotulados, que são usadas pelas técnicas de indexação automática do Azure Cosmos DB e pelo dialeto de consulta SQL do Azure Cosmos DB. Para obter informações sobre como usar essa linguagem de consulta, consulte Consulta NoSQL.

O Azure Cosmos DB para NoSQL suporta funções de agregação SQL?

A API para NoSQL suporta agregação através de funções agregadas como: COUNT, MAX, AVG, e SUM através da linguagem de consulta NoSQL.

Como o Azure Cosmos DB para NoSQL fornece simultaneidade?

A API para NoSQL oferece suporte ao controle de simultaneidade otimista (OCC) por meio de tags de entidade HTTP ou ETags. Cada recurso API para NoSQL tem um ETag e o ETag é definido no servidor sempre que um documento é atualizado. O cabeçalho ETag e o valor atual são incluídos em todas as mensagens de resposta. Os ETags podem ser usados com o If-Match cabeçalho para permitir que o servidor decida se um recurso deve ser atualizado. O valor If-Match é o valor ETag a ser verificado. Se o valor ETag corresponder ao valor ETag do servidor, o recurso será atualizado. Se o ETag não estiver mais atual, o servidor rejeitará a operação com um código de resposta "HTTP 412 Precondition failure". Em seguida, o cliente rebusca o recurso para adquirir o valor ETag atual para o recurso. Além disso, ETags podem ser usados com o If-None-Match cabeçalho para determinar se é necessário rebuscar um recurso.

A maioria da API para SDKs NoSQL inclui classes para gerenciar o controle de simultaneidade otimista.

Como posso inserir documentos em massa no Azure Cosmos DB para NoSQL?

Use o recurso de importação em massa no SDK do .NET ou no SDK do Java para a API do NoSQL para importar grandes conjuntos de dados. Esse recurso otimiza a taxa de transferência provisionada para importar grandes conjuntos de dados.

Como alternativa, use o Apache Spark para importar dados em escala usando Python ou Scala.

Sim, como o Azure Cosmos DB para NoSQL é um serviço RESTful, os links de recursos são imutáveis e podem ser armazenados em cache. A API para clientes NoSQL pode especificar um cabeçalho "If-None-Match" para leituras em qualquer documento ou contêiner semelhante a um recurso e, em seguida, atualizar suas cópias locais após as alterações na versão do servidor.

Uma instância local do Azure Cosmos DB para NoSQL está disponível?

Sim. O emulador do Azure Cosmos DB fornece uma emulação de alta fidelidade do serviço Azure Cosmos DB. Ele oferece suporte a funcionalidades idênticas ao Azure Cosmos DB em várias APIs. Essa funcionalidade inclui suporte para criar itens, consultar itens, provisionar contêineres e dimensionar contêineres. Você pode desenvolver e testar aplicativos usando os pontos de extremidade do emulador. Em seguida, você pode implantar os aplicativos no Azure em uma escala global alterando a cadeia de conexão do emulador para o serviço ativo.

Por que os valores de ponto flutuante longos em um item do Azure Cosmos DB para NoSQL são arredondados ao usar o Data Explorer no portal?

Esta limitação do Data Explorer é uma limitação do JavaScript. O JavaScript usa números de formato de ponto flutuante de precisão dupla, conforme especificado no Institute of Electrical and Electronics Engineers (IEEE) 754. Este tipo de dados pode conter com segurança números entre -(253 - 1) e 253-1 (ou seja, 9007199254740991) apenas.