Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Moderne Lösungen verarbeiten vielfältige Daten, z. B. Transaktionen, Ereignisse, Dokumente, Telemetrie, binäre Objekte und analytische Fakten. Ein einzelner Datenspeicher erfüllt nur selten alle Zugriffsmuster effizient. Die meisten Produktionssysteme übernehmen polyglot persistenz, was bedeutet, dass Sie mehrere Speichermodelle auswählen. In diesem Artikel werden die kanonischen Definitionen der primären Datenspeichermodelle, die in Azure verfügbar sind, zentralisiert und vergleichende Tabellen bereitgestellt, um die Modellauswahl zu beschleunigen, bevor Sie bestimmte Dienste auswählen.
Führen Sie die folgenden Schritte aus, um Ihre Datenmodelle auszuwählen:
Identifizieren von Zugriffsmustern für Arbeitslasten wie punktuelle Lesezugriffe, Aggregationen, Volltextsuche, Ähnlichkeitssuche, Zeitfensterscans und Objektbereitstellung.
Zuordnen von Mustern zu den Speichermodellen in den folgenden Abschnitten.
Erstellen Sie eine Shortlist von Azure-Diensten, die diese Modelle implementieren.
Wenden Sie Bewertungskriterien an, z. B. Konsistenz, Latenz, Skalierung, Governance und Kosten.
Kombinieren Sie Modelle nur, wenn Zugriffsmuster oder Lebenszyklen eindeutig voneinander abweichen.
Verwenden dieses Leitfadens
Jeder Modellabschnitt enthält eine präzise Definition, typische Workloads, Datenmerkmale, Beispielszenarien und Links zu repräsentativen Azure-Diensten. Jeder Abschnitt enthält auch eine Tabelle, die Ihnen bei der Auswahl des richtigen Azure-Diensts für Ihren Anwendungsfall hilft. In einigen Fällen können Sie andere Artikel verwenden, um fundiertere Entscheidungen über Azure-Dienstoptionen zu treffen. Die jeweiligen Modellabschnitte verweisen auf diese Artikel.
Zwei vergleichsbezogene Tabellen fassen nichtrelationale Modelleigenschaften zusammen, damit Sie Optionen schnell auswerten können, ohne Inhalte über Abschnitte hinweg zu wiederholen.
Klassifizierungsübersicht
| Kategorie | Hauptzweck | Typische Azure-Dienstbeispiele |
|---|---|---|
| Relational (OLTP) | Konsistente Transaktionsvorgänge | Azure SQL-Datenbank, Azure-Datenbank für PostgreSQL oder Azure-Datenbank für MySQL |
| Nichtrelational, z. B. Dokument, Schlüsselwert, Spaltenfamilie und Diagramm | Flexible Schema- oder beziehungsbasiert orientierte Workloads | Azure Cosmos DB-APIs, Azure Managed Redis, Managed Cassandra oder HBase |
| Zeitreihe | Metriken und Ereignisse mit hohem Zeitstempel | Azure-Daten-Explorer |
| Objekt und Datei | Großer binärer oder halbstrukturierter Dateispeicher | Azure Blob Storage oder Azure Data Lake Storage |
| Suchen und Indizieren | Volltext und Mehrfeldrelevanz, sekundäre Indizierung | Azure KI-Suche |
| Vector | Semantische oder ungefähre Ähnlichkeit des nächsten Nachbarn (ANN) | Azure AI Search oder Azure Cosmos DB Varianten |
| Analyse, Online-Analytische Verarbeitung (OLAP), massiv parallele Verarbeitung (MPP) | Umfangreiche historische Aggregation oder Business Intelligence (BI) | Microsoft Fabric, Azure Synapse Analytics, Azure Data Explorer, Azure Analysis Services oder Azure Databricks |
Hinweis
Ein einzelner Dienst kann mehrere Modelle bereitstellen, auch als Multimodell bezeichnet. Wählen Sie das am besten geeignete Modell aus, anstatt Modelle so zu kombinieren, dass Vorgänge kompliziert werden.
Relationale Datenspeicher
Relationale Datenbankverwaltungssysteme organisieren Daten mithilfe von Schema-on-Write in normalisierte Tabellen. Sie erzwingen Integrität und unterstützen die Atomarität, Konsistenz, Isolation und Haltbarkeit von Transaktionen (ACID) sowie umfangreiche SQL-Abfragen.
Stärken: Transaktionskonsistenz mit mehreren Zeilen, komplexe Verknüpfungen, starke relationale Einschränkungen und ausgereifte Tools für Berichterstellung, Verwaltung und Governance.
Betrachtungen: Die horizontale Skalierung erfordert im Allgemeinen Sharding oder Partitionierung, und die Normalisierung kann die Verknüpfungskosten für leseintensive denormalisierte Ansichten erhöhen.
Arbeitsauslastungen: Auftragsverwaltung, Bestandsverfolgung, Finanzbuchaufzeichnung, Abrechnung und operative Berichterstattung.
Auswählen eines Azure-Diensts für relationale Datenspeicher
SQL-Datenbank ist eine verwaltete relationale Datenbank für moderne Cloudanwendungen, die das SQL Server-Modul verwenden.
Azure SQL Managed Instance ist eine nahezu vollständige SQL Server-Umgebung in der Cloud, die ideal für Lift- und Schichtmigrationen geeignet ist.
SQL-Datenbank (Hyperscale) ist eine hochgradig skalierbare SQL-Ebene, die für massive Workloads mit schnellen automatischen und schnellen Sicherungen entwickelt wurde.
Azure Database for PostgreSQL ist ein verwalteter PostgreSQL-Dienst, der Open-Source-Erweiterungen und flexible Bereitstellungsoptionen unterstützt.
Azure Database for MySQL ist eine verwaltete MySQL-Datenbank für Web-Apps und Open-Source-Workloads.
SQL-Datenbank in Fabric ist eine entwicklerfreundliche Transaktionsdatenbank, die auf sql-Datenbank basiert, mit der Sie problemlos eine betriebsbereite Datenbank in Fabric erstellen können.
Verwenden Sie die folgende Tabelle, um zu ermitteln, welcher Azure-Dienst Ihre Anwendungsfallanforderungen erfüllt.
| Dienstleistung | Am besten geeignet für: | Wichtigste Funktionen | Beispielanwendungsfall |
|---|---|---|---|
| SQL-Datenbank | Cloudeigene Apps | Verwaltete, elastische Pools, Hyperscale, eingebaute hohe Verfügbarkeit, erweiterte Sicherheit | Erstellen einer modernen Software as a Service (SaaS)-Anwendung mithilfe eines skalierbaren SQL-Back-Ends |
| Verwaltete SQL-Instanz | Legacy-Unternehmens-Apps | Vollständige SQL Server-Kompatibilität, Lift-and-Shift-Unterstützung, virtuelle Netzwerke, erweiterte Überwachung | Migrieren einer lokalen SQL Server-App mithilfe minimaler Codeänderungen |
| SQL-Datenbank (Hyperscale) | Globale Verteilung | Multi-Region-Leseskalierbarkeit, Georeplikation, schnelle automatische Skalierung | Bedienen einer global verteilten App, die einen hohen Lesedurchsatz erfordert |
| Azure-Datenbank für PostgreSQL | Open-Source- und Analyse-Workloads | PostGIS, Hyperscale, Flexible Server, Open-Source-Erweiterungen | Entwickeln einer Geospatialanalyse-App mithilfe von PostgreSQL und PostGIS |
| Azure-Datenbank für MySQL | Einfache Web-Apps | Flexible Server, Open-Source-Kompatibilität, kostenwirksam | Hosten einer WordPress-basierten E-Commerce-Website |
| SQL-Datenbank in Fabric | OLTP-Workloads (Online Transaction Processing) im Fabric-Ökosystem | Basiert auf dem SQL-Datenbankmodul, skalierbar und in Fabric integriert | Erstellen von KI-Apps auf einem operativen, relationalen Datenmodell, das systemeigene Vektorsuchfunktionen enthält |
Nichtrelationale Datenspeicher
Nichtrelationale Datenbanken, auch noSQL-Datenbanken genannt, optimieren sie für flexible Schemas, horizontale Skalierung und spezifische Zugriffs- oder Aggregationsmuster. Sie entspannen in der Regel einige Aspekte des relationalen Verhaltens, z. B. Schema-Starrheit und Transaktionsumfang, zur Skalierbarkeit oder Agilität.
Dokumentendatenspeicher
Verwenden Sie Dokumentdatenspeicher, um halbstrukturierte Dokumente, häufig im JSON-Format, zu speichern, in dem jedes Dokument benannte Felder und Daten enthält. Die Daten können einfache Werte oder komplexe Elemente sein, z. B. Listen und Unterkollektionen. Die Flexibilität des Schemas pro Dokument ermöglicht eine schrittweise Entwicklung.
Stärken: Natürliche Anwendungsobjektzuordnung, denormalisierte Aggregate, Mehrfeldindizierung
Betrachtungen: Dokumentgrößeswachstum, selektiver Transaktionsumfang, Bedarf an sorgfältigem Daten-Shape-Design für abfragen mit hoher Skalierung
Arbeitsauslastungen: Produktkataloge, Inhaltsverwaltung, Profilspeicher
Auswählen eines Azure-Diensts für Dokumentdatenspeicher
Azure Cosmos DB für NoSQL ist eine schemalose, regionsübergreifende NoSQL-Datenbank, die Lese- und Schreibvorgänge mit geringer Latenz ermöglicht.
Azure Cosmos DB für MongoDB ist eine global verteilte Datenbank mit MongoDB-Drahtprotokollkompatibilität und Autocaling.
Azure Cosmos DB in Fabric ist eine schemalose NoSQL-Datenbank mit Latenz-arme Lese- und Schreiboperationen, vereinfachter Verwaltung und integrierter Fabric-Analyse.
Verwenden Sie die folgende Tabelle, um zu ermitteln, welcher Azure-Dienst Ihre Anwendungsfallanforderungen erfüllt.
| Dienstleistung | Am besten geeignet für: | Wichtigste Funktionen | Beispielanwendungsfall |
|---|---|---|---|
| Azure Cosmos DB für NoSQL | Benutzerdefinierte JSON-Dokumentmodelle, die SQL-ähnliche Abfragen unterstützen | Umfangreiche Abfragesprache, Multi-Region-Schreibvorgänge, Zeit für Live (TTL), Änderungsfeed | Erstellen einer Mehrinstanzen-SaaS-Plattform, die flexible Schemas unterstützt |
| Azure Cosmos DB für MongoDB | Apps, die MongoDB-Treiber oder JSON-zentrierte APIs verwenden | Globale Verteilung, Autoscale, natives MongoDB-Drahtprotokoll | Migrieren einer Node.js-App von MongoDB zu Azure |
| Azure Cosmos DB in Fabric | Echtzeitanalyse über NoSQL-Daten | Automatisches Extrahieren, Transformieren und Laden (ETL) in OneLake durch Fabric-Integration | Transaktions-Apps, die Analysedashboards in Echtzeit enthalten |
Datenspeicher für Spaltenfamilien
Eine Spaltenfamiliendatenbank, auch bekannt als breitspaltige Datenbank, speichert sparsame Daten in Zeilen und organisiert dynamische Spalten in Spaltenfamilien, um den gemeinsamen Zugriff zu unterstützen. Die Spaltenausrichtung verbessert Scans über ausgewählte Spalten.
Stärken: Hoher Schreibdurchsatz, effizientes Abrufen von breiten oder geringen Datasets, dynamisches Schema innerhalb von Familien
Betrachtungen: Vorausgehendes Zeilenschlüssel- und Spaltenfamiliendesign, Sekundärindex-Unterstützung variiert, Abfrageflexibilität niedriger als bei relationalen Datenbanken
Arbeitsauslastungen: Internet of Things (IoT)-Telemetrie, Personalisierung, Analysevoraggregation, hohe Daten im Zeitreihenstil, wenn Sie keine dedizierte Zeitreihendatenbank verwenden
Auswählen eines Azure-Diensts für Datenspeicher in Spaltenfamilien
Azure Managed Instance für Apache Cassandra ist ein verwalteter Dienst für Open-Source-Apache Cassandra-Cluster.
Apache HBase auf Azure HDInsight ist ein skalierbarer NoSQL-Speicher für Big Data-Workloads, die auf Apache HBase und dem Hadoop-Ökosystem basieren.
Azure Data Explorer (Kusto) ist ein Analysemodul für Telemetrie-, Protokoll- und Zeitreihendaten, die kusto Query Language (KQL) verwenden.
Verwenden Sie die folgende Tabelle, um zu ermitteln, welcher Azure-Dienst Ihre Anwendungsfallanforderungen erfüllt.
| Dienstleistung | Am besten geeignet für: | Wichtigste Funktionen | Beispielanwendungsfall |
|---|---|---|---|
| Azure Managed Instance für Apache Cassandra | Neue und migrierte Cassandra-Workloads | Verwaltet, native Apache Cassandra | Telemetriedaten von IoT-Geräten, die Cassandra-Kompatibilität unterstützen |
| Apache HBase auf HDInsight | Hadoop-Ökosystem, Batchanalyse | Hadoop Distributed File System (HDFS)-Integration, umfangreiche Batchverarbeitung | Batchverarbeitung von Sensordaten in einer Fertigungsanlage |
| Azure Data Explorer (Kusto) | Hochvolumen-Datenaufnahme, Zeitreihenanalyse | KQL, schnelle Ad-hoc-Abfragen, Zeitfensterfunktionen | Echtzeitanalyse für Anwendungsprotokolle und Metriken |
Schlüsselwert-Datenspeicher
Ein Schlüsselwert-Datenspeicher ordnet jeden Datenwert einem eindeutigen Schlüssel zu. Die meisten Schlüsselwertspeicher unterstützen nur einfache Abfrage-, Einfüge- und Löschvorgänge. Um einen Wert entweder teilweise oder vollständig zu ändern, muss eine Anwendung die vorhandenen Daten für den gesamten Wert überschreiben. In den meisten Implementierungen ist das Lesen oder Schreiben eines einzelnen Werts ein atomer Vorgang.
Stärken: Einfachheit, geringe Latenz, lineare Skalierbarkeit
Betrachtungen: Begrenzte Ausdrucksfähigkeit von Abfragen, Neugestaltung erforderlich für wertbasierte Suchen, hohe Kosten für das Überschreiben großer Werte
Arbeitsauslastungen: Zwischenspeichern, Sitzungen, Featurekennzeichnungen, Benutzerprofile, Empfehlungssuche
Auswählen eines Azure-Diensts für Schlüsselwert-Datenspeicher
Azure Managed Redis ist ein verwalteter Speicher im Arbeitsspeicher basierend auf der neuesten Redis Enterprise-Version, die geringe Latenz und hohen Durchsatz bietet.
Azure Cosmos DB für Tabelle ist ein Schlüsselwertspeicher, der für den schnellen Zugriff auf strukturierte NoSQL-Daten optimiert ist.
Azure Cosmos DB für NoSQL ist ein Dokumentdatenspeicher, der für den schnellen Zugriff auf strukturierte NoSQL-Daten optimiert ist und horizontale Skalierbarkeit bietet.
Verwenden Sie die folgende Tabelle, um zu ermitteln, welcher Azure-Dienst Ihre Anwendungsfallanforderungen erfüllt.
| Dienstleistung | Am besten geeignet für: | Wichtigste Funktionen | Beispielanwendungsfall |
|---|---|---|---|
| Azure Managed Redis | Hochgeschwindigkeitszwischenspeicherung, Sitzungsstatus, Publish-Subscribe | Speicher im Arbeitsspeicher, Submillisekundenlatenz, Redis-Protokoll | Zwischenspeichern von Produktseiten für eine E-Commerce-Website |
| Azure Cosmos DB für Tabellen | Migrieren vorhandener Azure Table Storage-Workloads | Kompatibilität der Tabellenspeicher-API | Speichern von Voreinstellungen und Einstellungen in einer mobilen App |
| Azure Cosmos DB für NoSQL | Hochgeschwindigkeits-Caching mit umfangreicher Skalierung und hoher Verfügbarkeit | Schemalos, Multi-Region, automatische Skalierung | Zwischenspeichern, Sitzungszustand, Bereitstellungsebene |
Graph-Datenspeicher
In einer Diagrammdatenbank werden Informationen als Knoten und Kanten gespeichert. Kanten definieren Beziehungen, und sowohl Knoten als auch Kanten können Eigenschaften wie Tabellenspalten aufweisen. Sie können Verbindungen zwischen Entitäten analysieren, z. B. Mitarbeiter und Abteilungen.
Stärken: Beziehungsorientierte Abfragemuster, effiziente Traversal mit variabler Tiefe
Betrachtungen: Overhead, wenn Beziehungen flach sind, erfordert eine sorgfältige Modellierung der Performance, nicht ideal für großflächige analytische Abfragen
Arbeitsauslastungen: Soziale Netzwerke, Betrugsringe, Wissensdiagramme, Lieferkettenabhängigkeiten
Auswählen eines Azure-Diensts für Graph-Datenspeicher
Verwenden Sie SQL Server-Graph-Erweiterungen zum Speichern von Diagrammdaten. Die Graph-Erweiterung erweitert die Funktionen von SQL Server, SQL Database und SQL Managed Instance, um die Modellierung und Abfrage komplexer Beziehungen mithilfe von Graphstrukturen direkt in einer relationalen Datenbank zu ermöglichen.
Datenspeicher für Zeitreihen
Zeitreihen-Datenspeicher verwalten eine Gruppe von Werten, die nach Zeit organisiert sind. Sie unterstützen Features wie zeitbasierte Abfragen und Aggregationen und sind für das Aufnehmen und Analysieren großer Datenmengen in nahezu Echtzeit optimiert.
Stärken: Komprimierung, Fensterabfrageleistung, Verarbeitung von Out-of-Order-Erfassungen
Betrachtungen: Tag-Kardinalitätsmanagement, Aufbewahrungskosten, Downsampling-Strategie
Arbeitsauslastungen: IoT-Sensormetriken, Anwendungstelemetrie, Überwachung, Industrielle Daten
Auswählen eines Azure-Diensts für Datenspeicher in Zeitreihen
Verwenden Sie Azure Data Explorer zum Speichern von Datenreihen. Azure Data Explorer ist eine verwaltete, leistungsstarke Big Data Analytics-Plattform, die es einfach macht, hohe Datenmengen in nahezu Echtzeit zu analysieren.
Objektdatenspeicher
Speichern Sie große binäre oder halbstrukturierte Objekte und enthalten Metadaten, die sich selten ändern oder unveränderlich bleiben.
Stärken: Nahezu unbegrenzte Skalierung, gestaffelte Kosten, Haltbarkeit, Parallellesefunktion
Betrachtungen: Operationen für ganze Objekte, eingeschränkte Metadatenabfrage, letztendlich Listenverhalten
Arbeitsauslastungen: Medienressourcen, Sicherungen, Datensee-Rohzonen, Protokollarchive
Auswählen eines Azure-Diensts für Objektdatenspeicher
Data Lake Storage ist ein datenoptimierter Objektspeicher, der hierarchische Namespace- und HDFS-Kompatibilität für erweiterte Analysen und umfangreiche Datenverarbeitung kombiniert.
Blob Storage ist ein skalierbarer Objektspeicher für unstrukturierte Daten wie Bilder, Dokumente und Sicherungen, die mehrstufigen Zugriff für die Kostenoptimierung umfassen.
Verwenden Sie die folgende Tabelle, um zu ermitteln, welcher Azure-Dienst Ihre Anwendungsfallanforderungen erfüllt.
| Dienstleistung | Am besten geeignet für: | Wichtigste Funktionen | Beispielanwendungsfall |
|---|---|---|---|
| Data Lake Storage | Big Data Analytics und hierarchische Daten | HDFS, hierarchischer Namespace, optimiert für Analysen | Speichern und Abfragen von Petabytes von strukturierten und unstrukturierten Daten mithilfe von Azure Synapse Analytics oder Azure Databricks |
| Blob-Speicher | Allgemeiner Objektspeicher | Einfacher Namespace, einfache REST-API und mehrstufiger Speicher, der Hot-, Cool- und Archivspeicher umfasst | Hosten von Bildern, Dokumenten, Sicherungen und statischen Websiteinhalten |
Suchen und Indizieren von Datenspeichern
Mit einer Suchmaschinendatenbank können Anwendungen nach Informationen in externen Datenspeichern suchen. Eine Suchmaschinendatenbank kann massive Datenmengen indizieren und nahezu echtzeitbasierten Zugriff auf diese Indizes bieten.
Stärken: Volltextabfragen, Bewertung, linguistische Analyse, Fuzzyvergleich
Betrachtungen: Letztendliche Konsistenz von Indizes, separate Aufnahme- oder Indizierungspipeline, Kosten für große Indexaktualisierungen
Arbeitsauslastungen: Website- oder Produktsuche, Protokollsuche, Metadatenfilterung, Multi-Attribut-Ermittlung
Auswählen eines Azure-Diensts für Suchdatenspeicher
Weitere Informationen finden Sie unter Auswählen eines Suchdatenspeichers in Azure.
Vektorsuchdatenspeicher
Vektorsuchdatenspeicher speichern und abrufen hochdimensionale Vektordarstellungen von Daten, die häufig von Machine Learning-Modellen generiert werden.
Stärken: Semantische Suche, ANN-Algorithmen
Betrachtungen: Indizierungskomplexität, Speicheraufwand, Latenz im Vergleich zur Genauigkeit, Integrationsprobleme
Arbeitsauslastungen: Semantische Dokumentsuche, Empfehlungsmodule, Bild- und Videoabrufe, Betrug und Anomalieerkennung
Auswählen eines Azure-Diensts für Vektorsuchdatenspeicher
Weitere Informationen finden Sie unter Auswählen eines Azure-Diensts für die Vektorsuche.
Analytics-Datenspeicher
Analysedaten-Speicher speichern Big Data und behalten sie über den gesamten Lebenszyklus einer Analyse-Pipeline hinweg.
Stärken: Skalierbare Compute- und Speicherunterstützung, Unterstützung für SQL und Spark, Integration mit BI-Tools, Zeitreihen- und Telemetrieanalyse
Betrachtungen: Kosten und Komplexität der Koordination, Abfragelatenz für Spontanaufträge, Governance in mehreren Datenbereichen
Arbeitsauslastungen: Unternehmensberichterstattung, Big Data Analytics, Telemetrieaggregation, operative Dashboards, Data Science-Pipelines
Auswählen eines Azure-Diensts für Analysedatenspeicher
Weitere Informationen finden Sie unter Auswählen eines analytischen Datenspeichers in Azure.
Vergleichseigenschaften (Kern-nichtrelationale Modelle)
| Aspekt | Dokument | Spaltenfamilie | Schlüsselwert | Graph |
|---|---|---|---|---|
| Normalisierung | Denormalisiert | Denormalisiert | Denormalisiert | Normalisierte Beziehungen |
| Schemaansatz | Schema beim Lesen | Spaltenfamilien definiert, Spaltenschema beim Lesen | Schema beim Lesen | Schema beim Lesen |
| Konsistenz (typisch) | Anpassbar für jedes Element | Für jede Zeile oder Familie | Für jeden Schlüssel | Für jede Kanten- oder Traversierungssemantik |
| Atomitätsbereich | Dokument | Zeile oder Familie, je nach Tabellenimplementierung | Einzelne Taste | Graph-Transaktion (variiert) |
| Sperren und Parallelität | Optimistisch (ETag) | Pessimistisch oder optimistisch, je nach Implementierung | Optimistisch (Schlüssel) | Optimistisch (Muster) |
| Zugriffsmuster | Aggregat (Entität) | Breite, spärliche Aggregate | Punktsuche nach Schlüssel | Beziehungsquerungen |
| Indizierung | Primär und sekundär | Primäre und begrenzte Sekundärfunktionen | Primär (Schlüssel) | Primäre und manchmal sekundäre |
| Datenform | Hierarchisch flexibel | Wenig tabellarisch breit | Undurchsichtiger Wert | Knoten und Kanten |
| Geringe/breite Eignung | Ja/Ja | Ja/Ja | Ja/Nein | Nein/Nein |
| Typische Datumsgröße | Klein bis mittel | Mittelgroß | Klein | Klein |
| Skalierungsdimension | Partitionsanzahl | Partitions- und Spaltenfamilienbreite | Schlüsselbereich | Knoten- oder Kantenanzahl |
Vergleichseigenschaften (spezielle nichtrelationale Modelle)
| Aspekt | Zeitreihe | Objekt (Blob) | Suchen/Indexierung |
|---|---|---|---|
| Normalisierung | Normalisiert | Denormalisiert | Denormalisiert |
| Schema | Schema beim Auslesen (Tags) | Undurchsichtiger Wert und Metadaten | Schema beim Schreibvorgang (Indexabbildung) |
| Atomitätsbereich | N/A (anfügen) | Object | Für jedes Dokument oder jeden Indexvorgang |
| Zugriffsmuster | Zeitsegmentscans, Fensteraggregation | Vorgänge für ganze Objekte | Textabfragen und Filter |
| Indizierung | Zeit und optionale sekundäre Komponente | Nur Schlüssel (nur Pfad) | Invertierte und optionale Facetten |
| Datenform | Tabellarisch (Zeitstempel, Tags, Wert) | Binärdatei oder Blob mit Metadaten | Tokenisierter Text und strukturierte Felder |
| Profil schreiben | Anfüge mit hoher Rate | Massen- oder seltene Aktualisierungen | Batch- oder Streamingindex |
| Profil lesen | Aggregierte Bereiche | Vollständige oder teilweise Downloads | Geordnete Ergebnismengen |
| Wachstumstreiber | Ereignisrate multipliziert durch Aufbewahrung | Objektanzahl und -größe | Indiziertes Dokumentvolume |
| Konsistenztoleranz | Eventual für verspätete Datenverarbeitung | Lese-nach-Schreibzugriff für jedes Objekt | Später für neue Dokumente |
Auswählen zwischen Modellen (Heuristiken)
| Benötigen | Vorziehen |
|---|---|
| Strenge Transaktionen mit mehreren Entitäten | Beziehungsorientiert |
| Entwicklung von aggregierten Formen, JSON-zentrierte APIs | Dokument |
| Schlüsselabfragen mit extrem niedriger Latenz oder Caching | Schlüsselwert |
| Umfassende, spärliche, schreibintensive Telemetrie | Spaltenfamilie oder Zeitreihe |
| Tiefgehende Beziehungsdurchquerung | Graph |
| Massive historische Analysescans | Analyse oder OLAP |
| Große unstrukturierte Binärdateien oder Seezonen | Object |
| Volltextrelevanz und Filterung | Suchen und Indizieren |
| Zeitstempelmetriken mit hoher Ingest-Raten bei Fensterabfragen | Zeitreihe |
| Schnelle Ähnlichkeit (Semantik oder Vektor) | Vektorsuche |
Kombinieren von Modellen und Vermeiden von Fallstricken
Verwenden Sie mehr als ein Modell, wenn die folgenden Szenarien zutreffen:
- Zugriffsmuster unterscheiden sich, wie punktbezogene Suche im Vergleich zu einem breiten analytischen Scan oder einer Volltextsuche nach Relevanz.
- Der Lebenszyklus und die Aufbewahrung unterscheiden sich, z. B. unveränderliche Rohdaten im Vergleich zu kuratierten strukturierten Strukturen.
- Konflikt zwischen Latenz und Durchsatzanforderungen.
Vermeiden Sie vorzeitige Fragmentierung:
- Verwenden Sie einen Dienst, wenn er weiterhin die Leistungs-, Skalierungs- und Governanceziele erfüllt.
- Zentralisieren Sie die gemeinsame Klassifizierungslogik und vermeiden Sie doppelte Transformation-Pipelines über Stores hinweg, es sei denn, sie sind unbedingt erforderlich.
Achten Sie auf die folgenden gängigen Antipattern:
- Mehrere Microservices teilen eine Datenbank, wodurch eine Kopplung entsteht.
- Teams fügen ein weiteres Modell ohne Betriebsreife hinzu, z. B. Überwachung oder Sicherungen.
- Ein Suchindex wird zum primären Datenspeicher, der zu Missbrauch führt.
Wann Sie Ihre Modellauswahl erneut auswerten möchten
| Signal | Mögliche Aktion |
|---|---|
| Erhöhen von Ad-hoc-Verknüpfungen in einem Dokumentspeicher | Einführung eines relationalen Lesemodells |
| Hohe CPU bei Suchindex aufgrund von analytischen Aggregationen | Auslagern an die Analyse-Engine |
| Große denormalisierte Dokumente verursachen teilweise Aktualisierungskonflikte | Umformen von Aggregaten oder Aufteilen |
| Langsame Abfragen von Zeitfenstern im Spaltenfamilienspeicher | Speziell entwickelte Zeitreihendatenbank einsetzen |
| Punkt-Nachschlagelatenz steigt mit Diagramm-Durchlauftiefe | Hinzufügen abgeleiteter materialisierter Ansichten |
Nächste Schritte
Verwandte Ressourcen
Verwenden Sie die folgenden Artikel, um einen speziellen Datenspeicher auszuwählen:
- Auswählen einer Big Data Storage-Technologie in Azure
- Auswählen eines Suchdatenspeichers in Azure
- Auswählen eines Azure-Diensts für die Vektorsuche
Erfahren Sie mehr über Referenzarchitekturen, die die Azure-Dienste in diesem Artikel verwenden:
- Die grundlegende hochverwendige zonenredundante Webanwendungsarchitektur verwendet SQL-Datenbank als relationalen Datenspeicher.
- Die Bereitstellung von Microservices mit Azure-Container-Apps und Dapr-Architektur verwendet SQL-Datenbank, Azure Cosmos DB und Azure Cache für Redis als Datenspeicher.
- Die Automatisierungsdokumentklassifizierung in der Azure-Architektur verwendet Azure Cosmos DB als Datenspeicher.