Hur fungerar Azure Cosmos DB for NoSQL

Slutförd

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.

Diagram som visar hur ett Azure Cosmos DB för NoSQL-konto är den överordnade resursen till en databas, som i sig är en överordnad resurs till en container.

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.

Diagram som visar olika objekt som lagras i en container.

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-technologypartitionsnyckelvä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.