Sdílet prostřednictvím


Principy datových modelů

Moderní řešení zpracovávají různá data, jako jsou transakce, události, dokumenty, telemetrie, binární prostředky a analytická fakta. Jedno úložiště dat zřídka splňuje všechny vzory přístupu efektivně. Většina produkčních systémů používá polyglot persistence, což znamená, že vyberete více modelů úložiště. Tento článek centralizuje kanonické definice primárních modelů úložiště dat dostupných v Azure a poskytuje srovnávací tabulky, které urychlují výběr modelu před výběrem konkrétních služeb.

K výběru datových modelů použijte následující postup:

  1. Identifikujte vzory přístupu k úlohám, jako jsou čtení bodů, agregace, fulltext, podobnost, kontroly časových oken a doručování objektů.

  2. Modely úložiště mapujte podle vzorů v následujících částech.

  3. Vytvořte krátký seznam služeb Azure, které tyto modely implementují.

  4. Použijte kritéria hodnocení, jako je konzistence, latence, škálování, zásady správného řízení a náklady.

  5. Modely kombinujte jen tam, kde se vzory přístupu nebo životní cykly jasně rozcházejí.

Jak používat tohoto průvodce

Každá část modelu obsahuje stručnou definici, typické úlohy, charakteristiky dat, ukázkové scénáře a odkazy na reprezentativní služby Azure. Každá část obsahuje také tabulku, která vám pomůže zvolit správnou službu Azure pro váš případ použití. V některých případech můžete pomocí dalších článků usnadnit rozhodování o možnostech služby Azure. Příslušné části modelu odkazují na tyto články.

Dvě srovnávací tabulky shrnují nerelační vlastnosti modelu, které vám pomůžou rychle vyhodnotit možnosti bez opakování obsahu napříč oddíly.

Přehled klasifikace

Kategorie Primární účel Typické příklady služeb Azure
Relační (OLTP) Konzistentní transakční operace Azure SQL Database, Azure Database for PostgreSQL nebo Azure Database for MySQL
Nerelační, například dokument, klíč-hodnota, rodina sloupců a graf Flexibilní úlohy zaměřené na schéma nebo relace Rozhraní API služby Azure Cosmos DB, Azure Managed Redis, Azure Managed Cassandra nebo Azure HBase
Časová řada Metriky a události s vysokým časovým razítkem Azure Data Explorer
Objekt a soubor Velké binární nebo částečně strukturované úložiště souborů Azure Blob Storage nebo Azure Data Lake Storage
Vyhledávání a indexování Relevance fulltextového a vícepoložkového vyhledávání, sekundární indexování Azure AI Vyhledávač
Vector Sémantická nebo přibližná podobnost nejbližšího souseda (ANN) Varianty služby Azure AI Search nebo Azure Cosmos DB
Analýzy, online analytické zpracování (OLAP), masivně paralelní zpracování (MPP) Rozsáhlá historická agregace nebo business intelligence (BI) Microsoft Fabric, Azure Data Explorer, Azure Analysis Services nebo Azure Databricks

Poznámka:

Jedna služba může poskytovat více modelů, označovaných také jako multimodel. Místo kombinování modelů, které komplikuje operace, vyberte nejvhodnější model.

Relační úložiště dat

Systémy pro správu relačních databází uspořádají data do normalizovaných tabulek pomocí schématu při zápisu. Vynucují integritu a podporují atomicitu, konzistenci, izolaci a stálost transakcí (ACID) a bohaté dotazy SQL.

Silné stránky: Konzistence víceřádkových transakcí, komplexní spojení, silná relační omezení a vyspělé nástroje pro reporting, správu a správu.

Úvahy: Horizontální škálování obecně vyžaduje shardování nebo dělení a normalizace může zvýšit náklady na spojení u denormalizovaných zobrazení s velkými nároky na čtení.

Pracovní vytížení: Správa objednávek, sledování zásob, záznam v účetní knize, fakturace a provozní sestavy.

Výběr služby Azure pro relační úložiště dat

  • SQL Database je spravovaná relační databáze pro moderní cloudové aplikace, které používají modul SQL Serveru.

  • Azure SQL Managed Instance je téměř kompletní prostředí SQL Serveru v cloudu, které je ideální pro migrace metodou lift and shift.

  • SQL Database (Hyperscale) je vysoce škálovatelná vrstva SQL navržená pro masivní úlohy s rychlým automatickým škálováním a rychlým zálohováním.

  • Azure Database for PostgreSQL je spravovaná služba PostgreSQL, která podporuje opensourcová rozšíření a flexibilní možnosti nasazení.

  • Azure Database for MySQL je spravovaná databáze MySQL pro webové aplikace a opensourcové úlohy.

  • SQL Database in Fabric je transakční databáze určená pro vývojáře, založená na SQL Database, kterou můžete použít k snadnému vytvoření provozní databáze ve Fabric.

Následující tabulka vám pomůže určit, která služba Azure splňuje vaše požadavky na případ použití.

Service Nejvhodnější pro Klíčové funkce Příklad případu použití
SQL Database Aplikace nativní pro cloud Spravované, elastické fondy, Hyperscale, integrovaná vysoká dostupnost, pokročilé zabezpečení Vytvoření moderní aplikace typu software jako služba (SaaS) pomocí škálovatelného back-endu SQL
Spravovaná instance SQL Starší podnikové aplikace Úplná kompatibilita s SQL Serverem, podpora metodou "lift and shift", virtuální sítě, pokročilé auditování Migrace místní aplikace SQL Serveru pomocí minimálních změn kódu
SQL Database (Hyperscale) Globální distribuce Škálovatelnost čtení ve více oblastech, geografická replikace, rychlé automatické škálování Obsluha globálně distribuované aplikace, která vyžaduje vysokou propustnost čtení
Azure Database for PostgreSQL Opensourcové analytické úlohy PostGIS, Hyperscale, flexibilní server, opensourcová rozšíření Vývoj geoprostorové analytické aplikace pomocí PostgreSQL a PostGIS
Azure Database for MySQL Zjednodušené webové aplikace Flexibilní server, opensourcová kompatibilita, nákladově efektivní Hostování webu elektronického obchodování založeného na WordPressu
SQL Database ve Fabric Úlohy online zpracování transakcí (OLTP) v ekosystému Fabric Postavená na enginu SQL Database, škálovatelná a integrovaná do Fabricu Vytváření aplikací AI v provozním a relačním datovém modelu, který zahrnuje možnosti nativního vektorového vyhledávání

Nerelační úložiště dat

Nerelační databáze, označované také jako databáze NoSQL, optimalizují flexibilní schémata, horizontální škálování a konkrétní vzory přístupu nebo agregace. Obvykle uvolní některé aspekty relačního chování, jako je pevnost schématu a rozsah transakcí, pro škálovatelnost nebo flexibilitu.

Úložiště dat dokumentů

Úložiště dat dokumentů můžete použít k ukládání částečně strukturovaných dokumentů, často ve formátu JSON, kde každý dokument obsahuje pojmenovaná pole a data. Data může být jednoduché hodnoty nebo složité prvky, například seznamy a podřízené kolekce. Flexibilita schématu pro jednotlivé dokumenty umožňuje postupný vývoj.

Síly: Mapování objektů přirozené aplikace, denormalizované agregace, indexování s více poli

Úvahy: Růst velikosti dokumentu, selektivní transakční obor, potřeba pečlivého návrhu obrazce dat pro dotazy ve velkém měřítku

Pracovní vytížení: Katalogy produktů, správa obsahu, úložiště profilů

Výběr služby Azure pro úložiště dat dokumentů

Následující tabulka vám pomůže určit, která služba Azure splňuje vaše požadavky na případ použití.

Service Nejvhodnější pro Klíčové funkce Příklad případu použití
Azure Cosmos DB for NoSQL Vlastní modely dokumentů JSON, které podporují dotazování podobné SQL Bohatý dotazovací jazyk, zápisy do více regionů, časová životnost (TTL), zdroj změn Vytvoření víceklientské platformy SaaS, která podporuje flexibilní schémata
Azure DocumentDB Aplikace, které používají ovladače MongoDB nebo rozhraní API zaměřená na JSON Globální distribuce, automatické škálování, nativní wire protokol MongoDB Migrace aplikace Node.js z MongoDB do Azure
Azure Cosmos DB ve Fabrique Analýzy dat NoSQL v reálném čase Automatická extrakce, transformace a načítání (ETL) do OneLake prostřednictvím integrace Fabric Transakční aplikace, které obsahují analytické řídicí panely v reálném čase

Úložiště dat rodiny sloupců

Databáze rodiny sloupců, která se označuje také jako databáze širokých sloupců, ukládá řídká data do řádků a uspořádá dynamické sloupce do rodin sloupců, aby podporovala spolupřístup. Orientace sloupce zlepšuje prohledávání vybraných sad sloupců.

Síly: Vysoká propustnost zápisu, efektivní načítání širokých nebo řídkých datových sad, dynamické schéma v rámci rodin

Úvahy: Návrh klíče a rodiny sloupců v předním řádku, podpora sekundárního indexu se liší, flexibilita dotazů nižší než relační

Pracovní vytížení: Telemetrie Internetu věcí (IoT), přizpůsobení, analýzy před agregací, styl časové řady velká data, pokud nepoužíváte vyhrazenou databázi časových řad

Výběr služby Azure pro úložiště dat řady sloupců

Následující tabulka vám pomůže určit, která služba Azure splňuje vaše požadavky na případ použití.

Service Nejvhodnější pro Klíčové funkce Příklad případu použití
Spravovaná instance Azure pro Apache Cassandra Nové a migrované úlohy Cassandra Spravované, nativní Apache Cassandra Příjem telemetrie IoT zařízení podporující kompatibilitu s Cassandra
Apache HBase ve službě HDInsight Ekosystém Hadoop, dávkové analýzy Integrace systému souborů HDFS (Hadoop Distributed File System), rozsáhlé dávkové zpracování Dávkové zpracování dat snímačů ve výrobním závodu
Azure Data Explorer (Kusto) Vysoká míra zpracování telemetrie, analýza časových řad KQL, rychlé ad hoc dotazy, funkce časových oken Analýzy aplikačních protokolů a metrik v reálném čase

Úložiště dat klíč-hodnota

Úložiště dat klíč-hodnota přidruží každou datovou hodnotu k jedinečnému klíči. Většina úložišť klíč-hodnota podporuje pouze jednoduché operace vyhledávání, vložení a odstranění. Pokud chcete upravit hodnotu buď částečně, nebo zcela, musí aplikace přepsat stávající data pro celou hodnotu. Ve většině implementací je čtení nebo zápis jedné hodnoty atomické operace.

Síly: Jednoduchost, nízká latence, lineární škálovatelnost

Úvahy: Omezená výraznost dotazů, změna návrhu potřebná pro vyhledávání založená na hodnotách, náklady na přepsání velkých hodnot

Pracovní vytížení: Ukládání do mezipaměti, správa relací, přepínače funkcí, profily uživatelů, vyhledávání doporučení

Vyberte službu Azure pro úložiště dat klíč-hodnota

  • Azure Managed Redis je spravované úložiště dat v paměti založené na nejnovější verzi Redis Enterprise, která poskytuje nízkou latenci a vysokou propustnost.

  • Azure Cosmos DB for Table je úložiště klíč-hodnota optimalizované pro rychlý přístup k strukturovaným datům NoSQL.

  • Azure Cosmos DB for NoSQL je úložiště dat dokumentů optimalizované pro rychlý přístup k strukturovaným datům NoSQL a poskytuje horizontální škálovatelnost.

Následující tabulka vám pomůže určit, která služba Azure splňuje vaše požadavky na případ použití.

Service Nejvhodnější pro Klíčové funkce Příklad případu použití
Azure Managed Redis Vysokorychlostní ukládání do mezipaměti, stav relace, publikování-přihlášení k odběru Úložiště v paměti, latence submillisekund, protokol Redis Ukládání stránek produktů do mezipaměti pro web elektronického obchodování
Azure Cosmos DB pro tabulku Migrace stávajících úloh Azure Table Storage Kompatibilita rozhraní API služby Table Storage Ukládání uživatelských předvoleb a nastavení v mobilní aplikaci
Azure Cosmos DB for NoSQL Vysokorychlostní ukládání do mezipaměti s masivním škálováním a vysokou dostupností Méně schématu, více oblastí, automatické škálování Ukládání do mezipaměti, stav relace, obslužná vrstva

Úložiště dat grafů

Grafová databáze ukládá informace jako uzly a hrany. Hrany definují relace a oba uzly i hrany můžou mít vlastnosti podobné sloupcům tabulky. Můžete analyzovat propojení mezi entitami, jako jsou zaměstnanci a oddělení.

Přednosti: Dotazovací vzory zaměřené na relace, efektivní procházení se změněnou hloubkou

Úvahy: Zátěž, pokud jsou vztahy povrchové, vyžaduje pečlivé modelování pro optimalizaci výkonu, není ideální pro hromadné analytické skenování.

Zátěže: Sociální sítě, podvodné sítě, znalostní grafy, závislosti dodavatelského řetězce

Výběr služby Azure pro úložiště dat grafu

K ukládání dat grafu použijte rozšíření grafů SQL Serveru . Rozšíření grafu rozšiřuje možnosti SQL Serveru, SQL Database a služby SQL Managed Instance, aby umožňovalo modelování a dotazování složitých relací pomocí grafových struktur přímo v relační databázi.

Úložiště dat časových řad

Úložiště dat časových řad spravují sadu hodnot uspořádaných podle času. Podporují funkce, jako jsou dotazy založené na čase a agregace, a jsou optimalizované pro ingestování a analýzu velkých objemů dat téměř v reálném čase.

Síly: Komprese, výkon dotazů s okny, zpracování příjmu dat mimo pořadí

Úvahy: Správa kardinality, náklady na uchovávání informací, strategie downsamplingu

Pracovní vytížení: Metriky senzorů IoT, telemetrie aplikací, monitorování, průmyslová data

Výběr služby Azure pro úložiště dat časových řad

K ukládání dat časových řad použijte Azure Data Explorer . Azure Data Explorer je spravovaná vysoce výkonná analytická platforma pro velké objemy dat, která usnadňuje analýzu velkých objemů dat téměř v reálném čase.

Úložiště dat objektů

Ukládejte velké binární nebo částečně strukturované objekty a obsahují metadata, která se zřídka mění nebo zůstávají neměnná.

Síly: Prakticky neomezené škálování, vrstvené náklady, stálost, paralelní čtení

Úvahy: Operace celého objektu, omezené dotazy na metadata, případné výpisy chování

Pracovní vytížení: Multimediální prostředky, zálohy, nezpracované zóny Data Lake, archivy protokolů

Výběr služby Azure pro úložiště dat objektů

  • Data Lake Storage je úložiště objektů optimalizované pro velké objemy dat, které kombinuje hierarchický obor názvů a kompatibilitu HDFS pro pokročilé analýzy a rozsáhlé zpracování dat.

  • Blob Storage je škálovatelné úložiště objektů pro nestrukturovaná data, jako jsou obrázky, dokumenty a zálohy, které zahrnují vrstvený přístup pro optimalizaci nákladů.

Následující tabulka vám pomůže určit, která služba Azure splňuje vaše požadavky na případ použití.

Service Nejvhodnější pro Klíčové funkce Příklad případu použití
Data Lake Storage Analýza velkých objemů dat a hierarchická data HDFS, hierarchický obor názvů optimalizovaný pro analýzy Ukládání a dotazování petabajtů strukturovaných a nestrukturovaných dat pomocí Azure Data Factory nebo Azure Databricks
Blob Storage Úložiště objektů pro obecné účely Plochý obor názvů, jednoduché REST API rozhraní a vrstvené úložiště, které zahrnuje aktivní, méně frekventovanou a archivní úroveň. Hostování obrázků, dokumentů, záloh a statického obsahu webu

Vyhledávání a indexování úložišť dat

Databáze vyhledávacího stroje umožňuje aplikacím vyhledávat informace v externích úložištích dat. Databáze vyhledávacího webu může indexovat obrovské objemy dat a poskytovat přístup k těmto indexům téměř v reálném čase.

Síly: Fulltextové dotazy, bodování, lingvistická analýza, přibližná shoda

Úvahy: Konečná konzistence indexů, samostatný kanál příjmu dat nebo indexování, náklady na velké aktualizace indexů

Pracovní vytížení: Vyhledávání webů nebo produktů, prohledávání protokolů, filtrování metadat, zjišťování více atributů

Výběr služby Azure pro vyhledávací úložiště dat

Další informace najdete v tématu Volba vyhledávacího úložiště dat v Azure.

Úložiště dat vektorového vyhledávání

Úložiště dat vektorového vyhledávání ukládají a načítají vysoce dimenzionální vektorové reprezentace dat, často generované modely strojového učení.

Síly: Sémantické vyhledávání, algoritmy ANN

Úvahy: Složitost indexování, režie úložiště, latence a přesnost, problémy s integrací

Pracovní vytížení: Sémantické vyhledávání dokumentů, doporučené weby, načítání obrázků a videí, podvod a detekce anomálií

Výběr služby Azure pro úložiště dat vektorového vyhledávání

Další informace najdete v tématu Volba služby Azure pro vektorové vyhledávání.

Analytické úložiště dat

Analytická úložiště dat ukládají velké objemy dat a uchovávají je v průběhu životního cyklu analytického kanálu.

Síly: Škálovatelné výpočetní prostředky a úložiště, podpora SQL a Sparku, integrace s nástroji BI, časovou řadou a analýzou telemetrie

Úvahy: Náklady a složitost orchestrace, latence dotazů pro ad hoc úlohy, zásady správného řízení napříč několika datovými doménami

Pracovní vytížení: Podnikové generování sestav, analýza velkých objemů dat, agregace telemetrie, provozní řídicí panely, kanály datových věd

Výběr služby Azure pro úložiště analytických dat

Další informace najdete v tématu Volba analytického úložiště dat v Azure.

Srovnávací charakteristiky (základní nerelační modely)

Aspekt Dokument Řada sloupců Klíč-hodnota Graph
Normalizace Denormalizované Denormalizované Denormalizované Normalizované relace
Přístup ke schématu Schéma při čtení Definované rodiny sloupců, schéma sloupců při čtení Schéma při čtení Schéma při čtení
Konzistence (typická) Nastavitelný pro každou položku Pro každý řádek či rodinu Pro každý klíč Pro každou hranu nebo sémantiku průchodu
Rozsah atomicity Dokument Řádek nebo rodina, v závislosti na implementaci tabulky Jeden klíč Transakce související s grafem (mění se)
Uzamykání a souběžnost Optimistická (ETag) Pesimistické nebo optimistické v závislosti na implementaci Optimistická (klíč) Optimistická (vzor)
Vzor přístupu Agregace (entita) Široké řídké agregáty Bodové vyhledávání podle klíče Procházení relací
Indexování Primární a sekundární Primární a omezená sekundární Primární (klíč) Primární a někdy sekundární
Obrazec dat Hierarchická flexibilita Řídké tabulkové širokoúhlé Netransparentní hodnota Uzly a hrany
Řídká/široká kompatibilita Ano/Ano Ano/Ano Yes/No Ne/Ne
Typická velikost datumu Malá–střední Středně velké Malý Malý
Rozměr škály Počet oddílů Šířka oddílů a skupiny sloupců Klíčový prostor Počet uzlů nebo hran

Srovnávací charakteristiky (specializované nerelační modely)

Aspekt Časová řada Objekt (BLOB) Vyhledávání/indexování
Normalizace Normalizovaný Denormalizované Denormalizované
Schema Schéma při čtení (značky) Neprůhledná hodnota a metadata Schéma při zápisu (mapování indexu)
Rozsah atomicity Není k dispozici (připojit) Object Pro každou operaci dokumentu nebo indexu
Vzor přístupu Prohledávání časových řezů, agregace oken Operace celého objektu Textové dotazy a filtry
Indexování Čas a volitelná sekundární možnost Pouze klíč (cesta) Invertované a volitelné aspekty
Obrazec dat Tabulkové (časové razítko, značky, hodnota) Binární soubor nebo objekt blob s metadaty Tokenizovaná textová a strukturovaná pole
Vytvořit profil Vysokorychlostní připojení Hromadné nebo občasné aktualizace Index služby Batch nebo streamování
Číst profil Agregované oblasti Celé nebo částečné stahování Seřazené sady výsledků
Faktor růstu Míra událostí vynásobená uchováváním Počet a velikost objektů Indexovaný svazek dokumentu
Tolerance konzistence Případná pro opožděná data Čtení po zápisu pro každý objekt Možné použití pro nové dokumenty

Výběr mezi modely (heuristika)

Potřeba Upřednostňovat
Striktní transakce s více entitami Relační
Vývoj agregačních obrazců, rozhraní API orientovaných na JSON Dokument
Extrémní vyhledávání klíčů s nízkou latencí nebo ukládání do mezipaměti Klíč-hodnota
Široká, řídká, telemetrie s velkými nároky na zápis Řada sloupců nebo časová řada
Hloubkové procházení vztahů Graph
Masivní historické analytické skeny Analýza nebo OLAP
Velké nestrukturované binární soubory nebo zóny jezera Object
Relevance a fulltextové filtrování Vyhledávání a indexování
Metriky s vysokým příjmem časových razítek a okenními dotazy Časová řada
Rychlá podobnost (sémantická nebo vektorová) Vektorové vyhledávání

Kombinování modelů a zabránění nástrahám

Pokud platí následující scénáře, použijte více než jeden model:

  • Vzory přístupu se liší, například bodové vyhledávání versus široké analytické prohledávání versus relevance vyhledávání v celém textu.
  • Životní cyklus a uchovávání se liší, například neměnné surové versus kurátorsky zpracované strukturované.
  • Konflikt latence a požadavků na propustnost

Vyhněte se předčasné fragmentaci:

  • Používejte jednu službu, pokud stále splňuje cíle výkonu, škálování a zásad správného řízení.
  • Centralizovat logiku sdílené klasifikace a vyhnout se duplicitním transformačním kanálům napříč úložišti, pokud to není nutné.

Podívejte se na následující běžné antipatterny:

  • Několik mikroslužeb sdílí jednu databázi, která vytváří párování.
  • Týmy přidávají další model bez provozní vyspělosti, jako je monitorování nebo zálohování.
  • Index vyhledávání se stane primárním úložištěm dat, což vede ke zneužití.

Kdy znovu vyhodnotit výběr modelu

Signál Možná akce
Zvýšení ad hoc uživatelských připojení v úložišti dokumentů Představení modelu relačního čtení
Vysoké využití procesoru v indexu vyhledávání kvůli analytickým agregacím Přenést zpracování do analytického stroje
Velké denormalizované dokumenty vytvářejí kolize částečné aktualizace Přeuspořádání agregátů nebo jejich rozdělení
Dotazy s časovými okny jsou pomalé v úložišti sloupcové rodiny Přijetí účelově vytvořené databáze časových řad
Latence vyhledávání bodů se zvyšuje s hloubkou procházení grafu Přidejte odvozená materializovaná zobrazení

Další kroky

K výběru specializovaného úložiště dat použijte následující články:

Další informace o referenčních architekturách, které používají služby Azure, najdete v tomto článku: