2016-12-06 9 views
-1

Ich habe ein Datenmodell, das als Eigenschaften A, B, C, D..G. Dieses Modell hat einen zusammengesetzten Schlüssel (A, B, C, D). Ich muss Entitäten dieses Datenmodells in einem azurblauen Speicher speichern. Sollte ich verketten (A + B + C + D) und dann speichern Sie das Ergebnis als Wert der Partition Schlüssel (für schnellere Retrieval-Operationen?).Composite-Key als Partition Key für Azure-Tabellen-Speicher

Wie empfiehlt es sich, in solchen Fällen den Partitionsschlüssel/Zeilenschlüssel zu wählen? diese

+0

Das hat wirklich keine objektive Antwort. Sie haben nicht einmal mitgeteilt, wie Sie Ihre Daten nachschlagen müssen, da Ihre speziellen Anforderungen bestimmen, wie Sie Ihre Daten dem Partitionsschlüssel und dem Zeilenschlüssel zuordnen. Wie geschrieben, wird dies Ihnen nur Meinungen geben, basierend auf nichts Konkretes. –

Antwort

1

Soll ich verketten (A + B + C + D) und dann speichern Sie dann das Ergebnis als Wert des Partitionierungsschlüssels (für eine schnellere Auslagerungen?)

Als dieser offiziellen document erwähnt zu Abfragen unter Berücksichtigung :

Wenn Sie die Abfragen kennen, die Sie verwenden, können Sie bestimmen, welche Eigenschaften für den PartitionKey wichtig sind. Die Eigenschaften, die in den Abfragen verwendet werden, sind Kandidaten für den PartitionKey. Wenn die Entität mehr als zwei Schlüsseleigenschaften aufweist, können Sie einen zusammengesetzten Schlüssel verketteter Werte verwenden.

Was ist die beste Praxis Partition Schlüssel/Zeilenschlüssel in solchen Fällen zu wählen?

Für eine bessere Abfrage Leistung, müssen Sie die Eigenschaften berücksichtigen, die für die PartitionKey oder RowKey in Ihren Abfragen als Kandidaten verwendet. Hier ist ein einfaches Beispiel für Sie ein besseres Verständnis davon zu haben, die Wahl der PK/RK:

Es gibt eine Tabelle namens Produkt, das die folgenden Eigenschaften hat:

| ID | Name | CategoryID | SubCategoryID | DeliveryType | Price | Status | SalesRegion |

Wenn die Abfrage häufig basieren Auf CategoryID und SubCategoryID können wir CategoryID_SubCategoryID als PartitionKey kombinieren, um die spezifische Partition schnell zu finden und alle Produkte innerhalb der spezifischen Kategorie abzurufen. Für den RowKey könnten wir einfach ID für die Abfrage der spezifischen Produkt-ID oder SalesRegion_Price_DeliveryType für das Filtern der Produkte in der Reihenfolge SalesRegion, Price, DeliveryType festlegen.

Darüber hinaus können Sie diese tutorial über die Gestaltung skalierbare und performante Azure Storage Table folgen.

Verwandte Themen