Como o Azure Cosmos DB for NoSQL funciona
Agora que conhecemos os fundamentos do Azure Cosmos DB, vamos ver quais recursos e informações são necessários para começar a trabalhar com uma conta. Essas informações devem ajudar você a decidir se o Azure Cosmos DB for NoSQL funciona para seu conjunto de dados. Além disso, ele deve ajudar você a decidir quanta, configuração extra, se houver, é necessária.
Quais são os componentes do Azure Cosmos DB for NoSQL?
Para começar a usar o Azure Cosmos DB, primeiro você precisará criar vários recursos no Azure, como contas, bancos de dados, contêineres e itens.
Contas
As contas são as unidades fundamentais de alta disponibilidade e de isolamento do locatário para aplicativos de SaaS. No nível da conta, você pode configurar as regiões dos dados no Azure Cosmos DB for NoSQL. As contas também contêm o nome DNS globalmente exclusivo usado para solicitações da API. Você também pode definir o nível de consistência padrão para solicitações no nível da conta. Você pode gerenciar ou criar contas usando o portal do Azure, modelos do Azure Resource Manager, a CLI do Azure ou o Azure PowerShell.
Bancos de dados
Cada conta pode conter um ou mais bancos de dados. Um banco de dados é uma unidade lógica de gerenciamento para contêineres no Azure Cosmos DB for NoSQL.
Contêineres
Os contêineres são a unidade fundamental de escalabilidade no Azure Cosmos DB for NoSQL. Com o Azure Cosmos DB, você provisiona a taxa de transferência no nível do contêiner. Você também tem a opção de configurar uma política de indexação ou um valor de vida útil padrão no nível do contêiner. O Azure Cosmos DB for NoSQL particionará os dados de maneira automática e transparente em um contêiner.
Itens
A API de NoSQL para o Azure Cosmos DB armazena documentos individuais no formato JSON como itens dentro do contêiner. O Azure Cosmos DB for NoSQL tem suporte nativo para arquivos JSON e pode fornecer desempenho rápido e previsível porque as operações de gravação em documentos JSON são atômicas.
Particionamento e chaves de partição
Cada contêiner do Azure Cosmos DB for NoSQL é necessário para especificar um caminho de chave de partição usado para distribuir dados para expansão. Nos bastidores, o Azure Cosmos DB for NoSQL usa esse caminho para particionar os dados logicamente usando valores de chave de partição. Por exemplo, considere o seguinte documento JSON:
{
"id": "35b5bf7d-5f0e-4209-b7cb-8c5c70c3bb59",
"deviceDisplayName": "shared-printer",
"acquiredYear": 2019,
"department": {
"name": "information-technology",
"metadata": {
"location": "floor-5-unit-27"
}
},
"queuedDocuments": [
{
"sender": "user-293749329",
"sentTime": "2019-07-26T05:12:37",
"pages": 5,
"spoolRef": "3f4b759c-3230-4269-a88e-de7620ad91c0"
},
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
]
}
Se o contêiner especificar um caminho de chave de partição igual a /department/name
, o valor da chave de partição desse documento será information-technology
. Nos bastidores, o Azure Cosmos DB for NoSQL gerencia automaticamente os recursos físicos necessários para dar suporte à sua carga de trabalho de dados.
Selecionar um caminho de chave de partição para um contêiner é essencial para permitir que os aplicativos sejam dimensionados e é uma das decisões de design mais importantes para uma nova carga de trabalho. Examine a documentação sobre como escolher uma chave de partição para ver uma explicação técnica mais profunda e as melhores práticas.