Identifikace vzorů přístupu pro vaši aplikaci

Dokončeno

Při návrhu datového modelu pro databázi NoSQL je cílem zajistit, aby se operace s daty prováděly v nejmenších požadavcích. K tomu je potřeba porozumět vztahům mezi daty a tím, jak budou aplikace přistupovat k datům. Tyto vzory přístupu jsou důležité, protože spolu s relacemi určují, jak jsou vlastnosti různých entit seskupené a uložené v dokumentech v kontejnerech ve službě Azure Cosmos DB for NoSQL.

Ve službě Azure Cosmos DB for NoSQL se dokumenty označují jako položky a kontejnery, které se často označují jako kolekce.

Identifikace vzorů přístupu pro entity zákazníků

Začněme entitami zákazníků v naší databázi elektronického obchodování. Následující diagram znázorňuje tři entity a vztahy mezi nimi. Tři entity jsou Customer, CustomerAddress a CustomerPassword. Entita Zákazník má vztah 1:N k CustomerAddress. Zákazník má vztah 1:1 k CustomerPassword.

Diagram znázorňující relační model pro entity zákazníků

V naší aplikaci provedeme tři operace s entitami zákazníka:

  • Vytvoření zákazníka: Když nový uživatel poprvé navštíví web elektronického obchodování, vytvoří se nový zákazník.
  • Aktualizace zákazníka: Když stávající uživatel aktualizuje informace o svém profilu, aktualizuje se záznam zákazníka.
  • Načtení zákazníka: Když existující uživatel navštíví web, přihlásí se pomocí svého hesla. Během stejné relace bude muset získat přístup k jiným zákaznickým datům (například adrese) pro nákup nových položek.

Pro každou z těchto operací potřebujeme všechna tato data najednou. Pokud by byly modelovány jako samostatné dokumenty, vyžadovalo by několik cest na server k vytvoření, aktualizaci a načtení zákaznických dat. To je neefektivní.

Modelování entit zákazníků

Azure Cosmos DB ukládá data jako JSON, takže můžeme modelovat vztah 1:N mezi Zákazníkem a CustomerAddress a vložit data adresy zákazníka jako pole. Pro vztah 1:1 mezi Zákazníkem a CustomerPassword můžeme tento objekt vložit jako objekt do našeho nového dokumentu zákazníka. Aplikace elektronického obchodování pak může vytvářet, upravovat nebo načítat zákaznická data v rámci jedné žádosti.

Následující diagram znázorňuje, jak vypadá naše entita zákazníka.

Diagram znázorňující modelovaný dokument zákazníka