Inhaltsverzeichnis:
Video: Azure Friday | What’s New in Azure Cosmos DB’s API for MongoDB 2024
Time-to-Value ist die Zeitspanne, die vom Start eines IT-Projekts bis zur Realisierung des Geschäftsnutzens benötigt wird. Dies kann zu spürbaren Vorteilen bei der Kostenreduzierung oder der Fähigkeit, neue Geschäfte zu tätigen, oder bei immateriellen Vorteilen wie der Bereitstellung eines besseren Kundenservices oder besserer Produkte führen.
Schlüsselwertspeicher sind die einfachsten NoSQL-Datenbanken in Bezug auf das Datenmodell. So können Sie schnell Anwendungen erstellen, insbesondere wenn Sie einige wichtige Prinzipien anwenden, einschließlich der Überprüfung der Verwaltung von Datenstrukturen.
Einfache Strukturen verwenden
Schlüsselwertspeicher sind im Hinblick auf das Datenformat flexibler als relationale Datenbanken. Nutzen Sie diese Flexibilität zu Ihrem Vorteil, um die Durchsatzrate Ihrer Anwendung zu maximieren. Speichern Sie beispielsweise Kartenkacheln im Hex-Format, damit sie sofort in einem Browser gerendert werden können.
Speichern Sie in Ihrer Anwendung einfach zu bedienende Strukturen, die keine Bearbeitungszeit benötigen. Diese Strukturen können einfache intrinsische Typen wie Ganzzahlen, Strings und Datumsangaben oder komplexere Strukturen wie Listen, sortierte Mengen oder sogar JSON-Dokumente sein, die als Zeichenfolge gespeichert sind.
Da es direkt von einer JavaScript-Webanwendung interpretiert werden kann, verwenden Sie JSON für einfachen Webanwendungsstatus oder Präferenzspeicher. Wenn Sie Protokolldaten speichern, speichern Sie sie in dem Format, das für den Abruf und die Analyse am besten geeignet ist.
Verwenden Sie die am besten geeignete Struktur für Ihre Anwendung, nicht Ihren Datenbankadministrator. Berücksichtigen Sie auch die Auswirkungen der Zeit auf Ihre Datenbank. Möchten Sie in Zukunft Datenstrukturen ändern, um neue Funktionen zu unterstützen?
Datenstrukturen ändern sich mit der Zeit. Ein flexibles JSON-Dokument ist besser als eine CSV-Datendatei oder eine Datei mit fester Breite, da sich JSON-Strukturen im Laufe der Zeit leicht ändern können, ohne dass neue oder gelöschte Eigenschaften berücksichtigt werden müssen. Ändern Sie eine Spalte in einer CSV-Datei, die in einem Schlüsselwertspeicher gespeichert ist, und Sie müssen den gesamten Code Ihrer Anwendung aktualisieren. Dies ist bei einem JSON-Dokument nicht der Fall, wo älterer Code einfach neue Eigenschaften ignoriert.
Komplexe Strukturbehandlung
Wenn Sie komplexe zusammenhängende Datensätze haben, denken Sie sorgfältig an die Datenstrukturen in Ihrem Schlüsselwertspeicher. Speichern Sie Datensätze so, dass sie leicht abgerufen werden können. Anstatt acht Elemente separat zu speichern, die acht Lesevorgänge erfordern, denormalisieren Sie die Daten - schreiben Sie die Daten während der Aufnahmezeit in denselben Datensatz -, sodass später nur ein Lesevorgang erforderlich ist.
Dies bedeutet, dass einige Daten mehrfach gespeichert werden. Ein Beispiel ist die Speicherung des Kundennamens in einem Bestelldokument.Obwohl dies den Kundennamen über viele Bestellungen hinweg speichert, bedeutet dies, dass bei einer Zusammenfassung der Bestellung Sie nicht feststellen müssen, dass der Wert customer_number = 12 bedeutet Mr A Fowler - verhindern eine zusätzliche Leseanforderung.
Denormalization belegt mehr Speicherplatz als relationale Datenbanken ' Normalform , erhöht jedoch den Abfragedurchsatz erheblich. Es ist das NoSQL-Äquivalent einer materialisierten Ansicht in einer relationalen Datenbank. Sie opfern Speicherplatz für Geschwindigkeit - der klassische Informatik-Tradeoff.
Für Informatiker einer bestimmten Generation gilt es als Ketzerei, mehrere Kopien der gleichen Daten zu behalten. Es ist einfach ineffizient. Relationale Datenbank-Dozenten würden Sie zum Frühstück essen!
Bei den derzeitigen niedrigen Speicherkosten und den steigenden Anforderungen moderner Anwendungen ist es jedoch viel besser, Speicher für die Geschwindigkeit beim Lesen von Daten zu opfern. Betrachten Sie die Denormalisierung als Freund.