Auswählen einer Speicherlösung in Azure
Die Wahl der richtigen Speicherlösung kann zu Leistungsverbesserung, Kostenersparnis und verbesserter Verwaltbarkeit führen. Jeder Datentyp weist andere Speicheranforderungen auf. Es ist Ihre Aufgabe, zu bestimmen, welche Speicherlösung für die in Ihrem Unternehmen verwendeten Daten am besten geeignet ist. Sie sollten immer Rücksicht auf den Typ der Daten, die erforderlichen Vorgänge, die erwartete Latenz und die Notwendigkeit für Transaktionsunterstützung nehmen.
In diesem Artikel wenden Sie das Wissen an, das Sie in Bezug auf die Daten im Szenario des Onlinehändlers erworben haben, und wählen den idealen Azure-Dienst für jedes Dataset aus.
Produktkatalogdaten
Datenklassifizierung: Teilweise strukturiert, da das Erweitern oder Ändern des Schemas für neue Produkte erforderlich ist.
Vorgänge: Kunden müssen eine Vielzahl von Lesevorgängen ausführen und über die Möglichkeit verfügen, viele Felder in der Datenbank abzufragen. Das Unternehmen muss auch eine Vielzahl von Schreibvorgängen ausführen, um den sich ständig ändernden Bestand nachzuverfolgen.
Latenz und Durchsatz: Hoher Durchsatz bei niedriger Latenz.
Transaktionsunterstützung: Da Produktdaten an Zahlungen und Bestand gebunden sind, ist eine Transaktionsunterstützung erforderlich.
Empfohlener Dienst: Azure Cosmos DB
Azure Cosmos DB unterstützt gezielt teilweise strukturierte Daten oder NoSQL-Daten. Unterstützung für neue Felder wie das Feld „Bluetoothfähig“ oder sonstige neue Felder, die Sie später womöglich benötigen, ist bei Azure Cosmos DB möglich.
Azure Cosmos DB unterstützt SQL für Abfragen, und jede Eigenschaft wird standardmäßig indiziert. Sie können Abfragen erstellen, damit Ihre Kunden den Katalog nach jeder Eigenschaft filtern können.
Azure Cosmos DB ist auch mit ACID konform, sodass Sie sicher sein können, dass Ihre Transaktionen entsprechend dieser strikten Anforderungen durchgeführt werden. Für Azure Cosmos DB ist ein OLTP-Connector verfügbar.
Ein zusätzlicher Vorteil ist, dass Sie Ihre Daten mit Azure Cosmos DB überall auf der Welt problemlos replizieren können. Wenn Ihre E-Commerce-Website hauptsächlich Kunden in den USA, Frankreich und England aufweist, können Sie Ihre Daten auf Rechenzentren in diesen Regionen replizieren. Da Sie die Daten physisch näher an Ihre Benutzer gebracht haben, wird die Latenz reduziert.
Selbst bei Daten, die auf der ganzen Welt repliziert werden, können Sie eine von fünf Konsistenzebenen auswählen. Durch Auswählen der richtigen Konsistenzebene bestimmen Sie die Kompromisse zwischen Konsistenz, Verfügbarkeit, Latenz und Durchsatz. Sie können zentral hochskalieren, um einer höheren Nachfrage der Kunden während der Spitzeneinkaufszeiten gerecht zu werden, oder während ruhigerer Zeiten herunterskalieren, um Kosten zu sparen.
Warum keine anderen Azure-Dienste?
Azure SQL-Datenbank wäre eine hervorragende Wahl für dieses Dataset, wenn Sie die Teilmenge der Eigenschaften, die fast allen Produkten gemeinsam sind, und die variablen Eigenschaften ermitteln könnten, die in einigen Produkten nicht vorhanden sind. Mithilfe von Azure SQL-Datenbank können Sie strukturierte Daten in Spalten und teilweise strukturierte Daten, die als leicht erweiterbare JSON-Spalten gespeichert sind, miteinander kombinieren. Azure SQL-Datenbank kann viele der Vorteile von Azure Cosmos DB bieten. Es ist jedoch kaum von Vorteil, wenn sich die Struktur der Daten in unterschiedlichen Entitäten ändert, und Sie keine gemeinsamen Eigenschaften vordefinieren können, die in den meisten Entitäten wiederholt werden. Anders als in Azure Cosmos DB, wo jede Eigenschaft in den Dokumenten indiziert wird, müssen Sie in Azure SQL-Datenbank explizit definieren, welche Eigenschaften in teilweise strukturierten Dokumenten indiziert werden sollen. Azure Cosmos DB ist die bessere Wahl für hochgradig unstrukturierte und variable Daten, bei denen Sie nicht vorhersagen können, welche Eigenschaften indiziert werden sollten. Azure SQL-Datenbank unterstützt OLTP.
Andere Azure-Dienste wie Azure Table-Speicher, Apache HBase in Azure HDInsight und Azure Cache for Redis können ebenfalls NoSQL-Daten speichern. Da Benutzer mehrere Felder abfragen möchten, ist Azure Cosmos DB in diesem Szenario besser geeignet. Azure Cosmos DB indiziert standardmäßig jedes Feld, während andere Azure-Dienste für indizierte Daten Einschränkungen aufweisen. Das Abfragen von nicht indizierten Feldern bedingt eine reduzierte Leistung.
Fotos und Videos
Datenklassifizierung: Unstrukturiert.
Vorgänge: Nur nach ID abrufen, Kunden benötigen eine hohe Anzahl von Lesevorgängen mit geringer Latenz, und Erstellungs- und Aktualisierungsvorgänge sind weniger häufig und können eine höhere Latenz als Lesevorgänge aufweisen.
Latenz und Durchsatz: Abrufe anhand der ID müssen niedrige Latenzen und einen hohen Durchsatz unterstützen. Erstellungsvorgänge und Aktualisierungsvorgänge können eine höhere Latenz aufweisen als Lesevorgänge.
Transaktionsunterstützung: Nicht erforderlich.
Empfohlener Dienst: Azure Blob Storage
Azure Blob Storage unterstützt das Speichern von Dateien wie Fotos und Videos. Der Dienst ist auch mit Azure Content Delivery Network kompatibel, da die am häufigsten verwendeten Inhalte zwischengespeichert und dann auf Edgeservern gespeichert werden. Azure Content Delivery Network verringert die Wartezeit bei der Bereitstellung dieser Bilder für Ihre Benutzer.
In Azure Blob Storage können Sie auch Bilder von der heißen Speicherebene in die kalte Speicherebene oder Archivspeicherebene verschieben. Dies trägt dazu bei, Kosten zu reduzieren und Durchsatz auf die am häufigsten angezeigten Bilder und Videos zu reduzieren.
Warum keine anderen Azure-Dienste?
Sie können Ihre Bilder in Azure App Service hochladen, damit der Server, auf dem Ihre App ausgeführt wird, Ihre Bilder bereitstellen kann. Diese Lösung würde funktionieren, wenn Sie nur wenige Dateien verwenden. Wenn Sie jedoch über viele Dateien und ein globales Publikum verfügen, erzielen Sie mit Azure Blob Storage und Azure Content Delivery Network bessere Leistung.
Geschäftsdaten
Datenklassifizierung: Strukturiert.
Vorgänge: Schreibgeschützte komplexe Analyseabfragen über verschiedene Datenbanken hinweg.
Latenz und Durchsatz: Eine gewisse Latenz in den Ergebnissen ist aufgrund der komplexen Natur der Abfragen zu erwarten.
Transaktionsunterstützung: Nicht erforderlich.
Empfohlener Dienst: Azure SQL-Datenbank
Geschäftsanalysten fragen höchstwahrscheinlich Geschäftsdaten mit SQL ab, da sie diese Abfragesprache besser als jede andere Sprache kennen. Sie können Azure SQL Database als alleinstehende Lösung verwenden. In Verbindung mit Azure Analysis Services können Datenanalysten jedoch ein semantisches Modell der Daten in Azure SQL-Datenbank erstellen. Datenanalysten können das Modell dann für Geschäftskunden freigeben, die von einem Business Intelligence-Tool (BI) aus lediglich eine Verbindung zum Modell benötigen, um die Daten sofort untersuchen und sich Einblicke verschaffen zu können. Azure Analysis Services unterstützt OLAP.
Warum keine anderen Azure-Dienste?
Azure Synapse Analytics unterstützt OLAP-Lösungen und SQL-Abfragen, aber Ihr Business Analyst wird datenbankübergreifende Abfragen ausführen müssen, die von Azure Synapse Analytics nicht unterstützt werden.
Azure Stream Analytics bietet eine hervorragende Möglichkeit, um Daten zu analysieren und in verwertbare Erkenntnisse umzuwandeln. Der Schwerpunkt liegt hier jedoch auf Echtzeitdaten, die gestreamt werden. In diesem Szenario untersuchen Business Analysts nur historische Daten.