Editar

Share via


Perguntas frequentes sobre o Azure Cosmos DB for NoSQL

APLICA-SE A: NoSQL

Como começar a desenvolver com o Azure Cosmos DB for NoSQL?

Primeiro você deve se inscrever para uma assinatura do Azure. Depois de se inscrever em uma assinatura do Azure, você poderá adicionar o contêiner da API para NoSQL à sua assinatura do Azure.

SDKs (Software Development Kits) estão disponíveis para .NET, Python, Node.js, JavaScript, Go e Java. Os desenvolvedores também podem usar as APIs REST para interagir com os recursos do Azure Cosmos DB de mais plataformas e linguagens.

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

Confira estes exemplos de código de Início Rápido e modelos para a API para NoSQL:

O Azure Cosmos DB for NoSQL dá suporte a dados sem esquema?

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

O Azure Cosmos DB for NoSQL dá suporte a transações de ACID (atomicidade, consistência, isolamento, durabilidade)?

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

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

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

Como configurar permissões e usuários nativos do banco de dados do Azure Cosmos DB for NoSQL?

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

Posso autenticar no Azure Cosmos DB for 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 os recursos dele (plano de controle) e 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 controle inclui operações incluindo, mas não se limitando a esses exemplos.

  • Criar, substituir ou excluir bancos de dados – Criar, substituir ou excluir contêineres – Ler ou substituir a taxa de transferência do banco de dados – Ler ou substituir 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 nativo 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 se limitando a esses exemplos.
  • Criar, substituir, atualizar ou excluir itens – Aplicar patches em itens – Executar 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 for NoSQL dá suporte à linguagem de consulta SQL?

O SQL é 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 extensibilidade e operadores hierárquicos e relacionais por meio de JavaScript com base em UDFs (funções definidas por usuário). A gramática JSON permite modelar documentos JSON como árvores com nós rotulados, que são usados 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 for NoSQL dá suporte a funções de agregação SQL?

A API para NoSQL dá suporte à agregação por meio de funções de agregação como: COUNT, MAX, AVG e SUM por meio da linguagem de consulta NoSQL.

Como o Azure Cosmos DB for NoSQL fornece simultaneidade?

A API para NoSQL dá suporte ao OCC (controle de simultaneidade otimista) por meio das marcas da entidade HTTP ou Etags. Cada recurso da API para NoSQL tem uma Etag, a qual é definida no servidor sempre que um documento é atualizado. O cabeçalho da Etag e o valor atual são incluídos em todas as mensagens de resposta. As Etags podem ser usadas com o cabeçalho If-Match a fim de permitir que o servidor decida se um recurso deve ser atualizado. O valor de If-Match é o valor de Etag a ser comparado. Se o valor de Etag corresponder ao valor de Etag do servidor, o recurso será atualizado. Se a Etag não for mais atual, o servidor rejeitará a operação com um código de resposta "HTTP 412 Falha de pré-condição". O cliente refaz a busca do recurso a fim de obter o valor de Etag atual para o recurso. Além disso, pode-se utilizar ETags com o cabeçalho If-None-Match para determinar se uma nova busca de um recurso é necessária.

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

Como posso inserir documentos em massa no Azure Cosmos DB for 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 Apache Spark para importar dados em escala usando Python ou Scala.

Sim. Como o Azure Cosmos DB for NoSQL é um serviço RESTful, os links de recursos são imutáveis e podem ser armazenados em cache. Os clientes da API para NoSQL podem especificar um cabeçalho “If-None-Match” para leituras em qualquer documento semelhante a recurso ou contêiner e atualizar suas cópias locais após a versão do servidor ser alterada.

Uma instância local do Azure Cosmos DB for 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 dá 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 escala global alterando a cadeia de conexão do emulador para o serviço dinâmico.

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

Essa 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 Electric and Electronics Engineers (IEEE) 754. Esse tipo de dados pode conter com segurança apenas números entre -(253 - 1) e 253-1 (ou seja, 9007199254740991).