Como funciona o Azure Cosmos DB para NoSQL
Agora que sabemos as noções básicas 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 ajudá-lo a decidir se o Azure Cosmos DB para NoSQL funciona para seu conjunto de dados. Além disso, deve ajudá-lo a decidir quanto, se houver, configuração extra é necessária.
Quais são os componentes do Azure Cosmos DB para NoSQL?
Para começar a usar o Azure Cosmos DB, primeiro crie 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 isolamento de locatário para aplicativos SaaS. No nível da conta, você pode configurar a(s) região(ões) para seus dados no Azure Cosmos DB para NoSQL. As contas também contêm o nome DNS globalmente exclusivo usado para solicitações de 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, os modelos do Azure Resource Manager, a CLI do Azure ou o Azure PowerShell.
Bases 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 para NoSQL.
Contentores
Os contêineres são a unidade fundamental de escalabilidade no Azure Cosmos DB para NoSQL. Com o Azure Cosmos DB, você provisiona a taxa de transferência no nível do contêiner. Opcionalmente, você também pode configurar uma política de indexação ou um valor padrão de tempo de vida útil no nível do contêiner. O Azure Cosmos DB para NoSQL particionará os dados em um contêiner de forma automática e transparente.
Items
A API NoSQL para Azure Cosmos DB armazena documentos individuais no formato JSON como itens dentro do contêiner. O Azure Cosmos DB para NoSQL suporta nativamente ficheiros JSON e pode fornecer um desempenho rápido e previsível porque as operações de escrita em documentos JSON são atómicas.
Particionamento & Chaves de partição
Cada contêiner do Azure Cosmos DB para NoSQL é necessário para especificar um caminho de chave de partição que é usado para distribuir dados para expansão. Nos bastidores, o Azure Cosmos DB para NoSQL usa esse caminho para particionar logicamente dados 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 de /department/name
, o valor da chave de partição deste documento será information-technology
. Nos bastidores, o Azure Cosmos DB para NoSQL gerencia automaticamente os recursos físicos necessários para dar suporte à sua carga de trabalho de dados.
A seleção de um caminho de chave de partição para um contêiner é fundamental para permitir que os aplicativos sejam dimensionados e é uma das decisões de design mais importantes para uma nova carga de trabalho. Analise a documentação de escolha de uma chave de partição para obter uma explicação técnica mais profunda e as práticas recomendadas.