Jak funguje Azure Cosmos DB for NoSQL
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.
Úč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é.
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.