Jak funguje Azure Cosmos DB for NoSQL

Dokončeno

Teď, když víme základy služby Azure Cosmos DB, se podíváme, jaké prostředky a informace jsou potřeba k zahájení práce s účtem. Tyto informace by vám měly pomoct při rozhodování, jestli pro vaši datovou sadu funguje služba Azure Cosmos DB for NoSQL. Také by vám měla pomoct rozhodnout, kolik, pokud existuje, další konfigurace je nutná.

Jaké jsou komponenty služby Azure Cosmos DB for NoSQL?

Pokud chcete začít používat Službu Azure Cosmos DB, nejprve v Azure vytvoříte různé prostředky, jako jsou účty, databáze, kontejnery a položky.

Diagram znázorňující, jak je účet Azure Cosmos DB for NoSQL nadřazeným prostředkem k databázi, což je nadřazený prostředek kontejneru.

Účty

Účty jsou základními jednotkami vysoké dostupnosti a izolace tenantů pro aplikace SaaS. Na úrovni účtu můžete nakonfigurovat oblasti pro vaše data ve službě Azure Cosmos DB for NoSQL. Účty také obsahují globálně jedinečný název DNS používaný pro požadavky rozhraní API. Můžete také nastavit výchozí úroveň konzistence pro požadavky na úrovni účtu. Účty můžete spravovat nebo vytvářet pomocí webu Azure Portal, šablon Azure Resource Manageru, Azure CLI nebo Azure PowerShellu.

Databáze

Každý účet může obsahovat jednu nebo více databází. Databáze je logická jednotka správy kontejnerů ve službě Azure Cosmos DB for NoSQL.

Kontejnery

Kontejnery jsou základní jednotkou škálovatelnosti ve službě Azure Cosmos DB for NoSQL. Se službou Azure Cosmos DB zřídíte propustnost na úrovni kontejneru. Volitelně můžete také nakonfigurovat zásady indexování nebo výchozí hodnotu time-to-live na úrovni kontejneru. Azure Cosmos DB for NoSQL automaticky a transparentně rozdělí data v kontejneru.

Items

Rozhraní API NoSQL pro Azure Cosmos DB ukládá jednotlivé dokumenty ve formátu JSON jako položky v kontejneru. Azure Cosmos DB for NoSQL nativně podporuje soubory JSON a dokáže poskytovat rychlý a předvídatelný výkon, protože operace zápisu na dokumentech JSON jsou atomické.

Diagram znázorňující různé položky uložené v kontejneru

Dělení a klíče oddílů

Každý kontejner Azure Cosmos DB for NoSQL se vyžaduje k určení cesty klíče oddílu, která se používá k distribuci dat pro horizontální navýšení kapacity. Azure Cosmos DB for NoSQL na pozadí používá tuto cestu k logickému dělení dat pomocí hodnot klíče oddílu. Představte si například následující dokument 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"
      ]
    }
  ]
}

Pokud kontejner určuje cestu ke klíči oddílu /department/name, bude hodnota klíče oddílu tohoto dokumentu information-technology. Azure Cosmos DB for NoSQL na pozadí automaticky spravuje fyzické prostředky potřebné k podpoře datových úloh.

Výběr cesty ke klíči oddílu pro kontejner je zásadní, aby aplikace mohly škálovat a je jedním z nejdůležitějších rozhodnutí o návrhu pro novou úlohu. Podrobnější technické vysvětlení a osvědčené postupy najdete v dokumentaci k výběru klíče oddílu.