Beschäftigt man sich mit Azure, trifft man auf eine ungeheure Vielzahl an Möglichkeiten und Varianten, wie man Daten in der Cloud speichern und analysieren kann. Es ist schwierig, unter den vielen ähnlichen Begriffen die richtige Kombination von Storage Technologien zu finden, um ein gegebenes Problem zu lösen. Dabei spielen auch Betriebskosten, verfügbare Algorithmen und Entwicklungsaufwände eine Rolle. Darüber soll diese Blog-Serie etwas Klärung verschaffen.
Beginnen wir mit dem Storage. Zuerst erstellt man einen neuen Storage Account:
Darin stehen 4 verschiedene Varianten zur Verfügung:
Blob Storage eignet sich besonders gut für:
Es gibt drei Arten für Blob Storage, je nach der geforderten Zugriffsgeschwindigkeit: Hot, Cool oder Archive. Auf archivierte Blobs kann man nicht mehr direkt zugreifen. Ein Administrator kann Regeln definieren, unter welchen Bedingungen Blobs zwischen den Bereichen verschoben oder wann sie gelöscht werden sollen.
Blob Storage ist organisiert in Containern (entspricht Directory), die eine unlimitierte Zahl von Blobs (entspricht File) enthalten können. Man unterscheidet zwischen
Der Blobtyp kann beim Upload einer Datei spezifiziert werden.
Alle Daten sind automatisch verschlüsselt und redundant gespeichert. Die Schlüssel sind normalerweise im Microsoft Key Store oder im Azure Key Vault. Die Art der Replikation (lokal, Zone, Geo) wird beim Anlegen definiert.
Der Table Storage speichert strukturierte NoSQL-Daten als Key-Value ohne Schema. Er eignet sich für Daten, die keine komplexen Verknüpfungen haben und für schnellen Zugriff denormalisiert sind. Eine Alternative für den klassischen Table Storage ist inzwischen Cosmos DB, die auch ein Table API enthält und insgesamt mehr Funktionen bietet.
Der Azure Queue Storage ist ein Service, um eine grosse Zahl von Messages zu verarbeiten. Queues entkoppeln einzelne Services skalierbarer Applikationen. Eine einzelne Queue Messsage kann bis zu 64 kByte gross sein und kann bis maximal 7 Tage in der Queue gespeichert sein. Queues sind über eine URL adressierbar:
https://<storage account>.queue.core.windows.net/<queue_name>
Clientbibliotheken sind für alle Plattformen erhältlich. Für .NET gibt es das NuGet Package «Microsoft.Azure.Storage.Common».
Eine spezielle Variante des Blob Storage ist der Azure Data Lake. Dabei handelt es sich um einen optimierten Speicher für sehr grosse Datenmengen mit hierarchischem Filesystem und Active Directory Unterstützung. Im Azure Data Lake speichert man vorwiegend grosse Mengen an Textfiles für die spätere Analyse. Hier findet sich ein Vergleich zwischen Data Lake und Blob Storage.
Hinweis: Azure Data Lake Storage Gen1 wurde abgelöst durch Gen2. Für einen Data Lake Storage Gen 2 muss beim Anlegen eines Storage auf dem Advanced Tab der Hierarchical Namespace aktiviert werden.
Im 2. Teil dieser Blogserie werden die verschiedenen Arten von strukturierten Datenspeichern in Azure wie z.B. dem SQL Server betrachtet.
[…] erste Übersicht über den Azure Storage haben wir im ersten Teil dieser Blog Serie […]
[…] Teil 1 (Blob Storage), 2 (SQL Storage) und 3 (Cosmos DB) haben wir die verschiedenen Azure Speichermedien kennen […]
[…] seinem Blog Beitrag geht Hans Peter Bornhauser weiter auf Azure Storage […]