Windows Azure Storage

Eintrag zuletzt aktualisiert am: 19.03.2013

Autor: Manfred Steyer am 19.03.2013 19:12:55:

Windows Azure Storage Services stellt eine hochskalierbare Plattform für das Verwalten nicht-relationaler Daten dar und ist somit im Bereich der NoSQL-Datenspeicher einzuordnen. Pro Speicherkonto können bis zu 100 TB an Daten gespeichert werden und jeder Benutzer kann beliebig viele Speicherkonten besitzen. Storage Services werden über eine REST-Schnittstelle angesprochen. Daneben existieren SDKs für verschiedene Plattformen, wie .NET, JAVA oder PHP, welche sich auf diese REST-Schnittstelle abstützen. Standardmäßig werden sämtliche gespeicherten Daten in dreifacher Ausführung gespeichert und eine Replikation zu einem Rechenzentrum, welches sich am selben Kontinent, wie das ausgewählte, befindet, durchgeführt (Geo-Replication).

Die Storage Services gliedern sich in die folgenden Dienste:
Der BLOB Storage erlaubt das Speichern von unstrukturierten großen binären Daten (binary large objects). Xdrive gibt dem Benutzer die Möglichkeit, Laufwerke innerhalb von BLOBs zu mounten.

Der Table Storage nimmt tabellarische Daten auf. Im Gegensatz zu relationalen Datenbanken weisen hier Tabellen kein fixes Schema auf und Konzepte, wie Fremdschlüssel oder verteilte Transaktionen, stehen nicht zur Verfügung. Die Indizierung der Tabellen erfolgt anhand zwei vorgegebener Spalten, d. H. die Daten müssen tlw. Redundant in Hinblick auf die zu erwartenden Abfragen abgelegt werden. Diesen Nachteilen steht die Tatsache, dass Table Storage die verwalteten Tabellen transparent skaliert, gegenüber. Im Gegensatz dazu kann der Entwickler beim Einsatz von SQL Azure zur Skalierung zwar auf Sharding unter Verwendung von SQL Azure Federations zurückgreifen. Hierbei ist jedoch zu beachten, dass dies aus Sicht der Anwendung sowie aus Sicht des Entwicklers nicht transparent ist.

Die von Storage Services gebotenen Queues bieten eine einfache Implementierung von Nachrichtenwartesc