Hur fungerar Azure Cosmos DB for NoSQL
Nu när vi vet grunderna i Azure Cosmos DB ska vi se vilka resurser och information som krävs för att börja arbeta med ett konto. Den här informationen bör hjälpa dig att avgöra om Azure Cosmos DB för NoSQL fungerar för din datauppsättning. Dessutom bör det hjälpa dig att bestämma hur mycket, om någon, extra konfiguration är nödvändig.
Vilka är komponenterna i Azure Cosmos DB för NoSQL?
Om du vill börja använda Azure Cosmos DB skapar du först olika resurser i Azure, till exempel konton, databaser, containrar och objekt.
Accounts
Konton är de grundläggande enheterna för hög tillgänglighet och klientisolering för SaaS-program. På kontonivå kan du konfigurera regionen för dina data i Azure Cosmos DB för NoSQL. Konton innehåller också det globalt unika DNS-namn som används för API-begäranden. Du kan också ange standardkonsekvensnivån för begäranden på kontonivå. Du kan hantera eller skapa konton med hjälp av Azure Portal, Azure Resource Manager-mallar, Azure CLI eller Azure PowerShell.
Databaser
Varje konto kan innehålla en eller flera databaser. En databas är en logisk hanteringsenhet för containrar i Azure Cosmos DB för NoSQL.
Containers
Containrar är den grundläggande skalbarhetsenheten i Azure Cosmos DB för NoSQL. Med Azure Cosmos DB etablerar du dataflöde på containernivå. Du kan också konfigurera en indexeringsprincip eller ett standardvärde för time to live på containernivå. Azure Cosmos DB för NoSQL partitionerar automatiskt och transparent data i en container.
Artiklar
NoSQL-API:et för Azure Cosmos DB lagrar enskilda dokument i JSON-format som objekt i containern. Azure Cosmos DB for NoSQL har inbyggt stöd för JSON-filer och kan ge snabba och förutsägbara prestanda eftersom skrivåtgärder i JSON-dokument är atomiska.
Partitionering och partitionsnycklar
Varje Azure Cosmos DB for NoSQL-container krävs för att ange en partitionsnyckelsökväg som används för att distribuera data för utskalning. I bakgrunden använder Azure Cosmos DB for NoSQL den här sökvägen för att logiskt partitionera data med hjälp av partitionsnyckelvärden. Tänk till exempel på följande JSON-dokument:
{
"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"
]
}
]
}
Om containern anger en partitionsnyckelsökväg /department/name
för blir information-technology
partitionsnyckelvärdet för det här dokumentet . I bakgrunden hanterar Azure Cosmos DB for NoSQL automatiskt de fysiska resurser som krävs för att stödja din dataarbetsbelastning.
Att välja en partitionsnyckelsökväg för en container är viktigt för att program ska kunna skalas och är ett av de viktigaste designbesluten för en ny arbetsbelastning. Läs dokumentationen om att välja en partitionsnyckel för att få en djupare teknisk förklaring och metodtips.