Erkunden von Azure Tables

Abgeschlossen

Azure Table Storage ist eine NoSQL-Speicherlösung, die Tabellen verwendet, welche Schlüssel-Wert-Datenelemente enthalten. Jedes Element wird durch eine Zeile dargestellt, die Spalten für die zu speichernden Datenfelder enthält.

An Azure storage account with Azure tables

Lassen Sie sich jedoch nicht zu der Annahme verleiten, dass eine Azure Table Storage-Tabelle so etwas wie eine Tabelle in einer relationalen Datenbank ist. Mit einer Azure-Tabelle können Sie teilweise strukturierte Daten speichern. Alle Zeilen in einer Tabelle müssen über einen eindeutigen Schlüssel verfügen (bestehend aus einem Partitionsschlüssel und einem Zeilenschlüssel). Wenn Sie Daten in einer Tabelle ändern, werden Datum und Uhrzeit der Änderung in einer Zeitstempelspalte aufgezeichnet. Abgesehen davon können die Spalten in den einzelnen Zeilen jedoch variieren. In Azure Table Storage-Tabellen gibt es kein Konzept für Fremdschlüssel, Beziehungen, gespeicherte Prozeduren, Ansichten oder andere Objekten, die Sie möglicherweise in einer relationalen Datenbank finden. Daten in Azure Table Storage werden in der Regel denormalisiert, wobei jede Zeile die gesamten Daten für eine logische Entität enthält. Beispielsweise könnte eine Tabelle mit Kundendaten den Vornamen, den Nachnamen, mindestens eine Telefonnummer und mindestens eine Adresse für jeden Kunden enthalten. Jede Zeile kann eine andere Anzahl an Feldern aufweisen, je nachdem, wie viele Telefonnummern und Adressen für jeden Kunden vorliegen sowie wie viele Informationen zu jeder Adresse aufgezeichnet werden. In einer relationalen Datenbank würden diese Informationen auf mehrere Zeilen in separaten Tabellen aufgeteilt werden.

Azure Table Storage unterteilt eine Tabelle in Partitionen, um sicheren und schnellen Zugriff zu gewährleisten. Die Partitionierung ist ein Mechanismus zum Gruppieren verwandter Zeilen anhand einer gemeinsamen Eigenschaft oder eines Partitionsschlüssels. Zeilen, die denselben Partitionsschlüssel aufweisen, werden gemeinsam gespeichert. Die Partitionierung unterstützt nicht nur die Organisierung der Daten, sondern kann auch die Skalierbarkeit und Leistung wie folgt verbessern:

  • Partitionen sind unabhängig voneinander und können vergrößert oder verkleinert werden, wenn Zeilen zu einer Partition hinzugefügt oder aus dieser entfernt werden. Eine Tabelle kann eine beliebige Anzahl an Partitionen enthalten.

  • Wenn Sie nach Daten suchen, können Sie den Partitionsschlüssel in die Suchkriterien einschließen. Dadurch wird die Menge der zu untersuchenden Daten eingeschränkt, und die Leistung wird verbessert, indem die Menge der erforderlichen E/A-Vorgänge (Eingabe- und Ausgabevorgänge bzw. Lese- und Schreibvorgänge) zum Suchen der Daten reduziert wird.

Der Schlüssel in einer Azure Table Storage-Tabelle besteht aus zwei Elementen, dem Partitionsschlüssel, mit dem die Partition identifiziert wird, die die Zeile enthält, und einem Zeilenschlüssel, der für jede Zeile in derselben Partition eindeutig ist. Elemente in derselben Partition werden in der Reihenfolge der Zeilenschlüssel gespeichert. Wenn eine Anwendung eine neue Zeile zu einer Tabelle hinzufügt, stellt Azure sicher, dass die Zeile an der richtigen Position in der Tabelle platziert wird. Dieses Schema ermöglicht es einer Anwendung, schnell Punktabfragen, mit denen eine einzelne Zeile identifiziert wird, und Bereichsabfragen auszuführen, mit denen ein zusammenhängender Zeilenblock in einer Partition abgerufen wird.