2016-06-18 9 views
1

Ich verstehe den Vorteil eines Partitionsschlüssels im Azure-Tabellenspeicher. Angesichts meines relationalen Datenbankhintergrunds bin ich jedoch etwas verwirrt darüber, wie eine Entität aus dem azurblauen Tabellenspeicher mit nur dem Zeilenschlüssel abgerufen werden kann. Soweit ich weiß, ist das unmöglich. Das bedeutet, dass ich das Partitionsschlüssel-/Zeilenschlüsselpaar irgendwo speichern muss, um die Entity mit dem Zeilenschlüssel zu erhalten. Sollte ich nur eine sharting Tabelle mit einem beliebigen Partitionsschlüssel einführen, der es mir erlaubt, den Partitionsschlüssel mit dem Zeilenschlüssel nachzuschlagen?Partitionsschlüssel und Zeilenschlüssel im Azure-Tabellenspeicher

Antwort

4

Es ist möglich, aber führt zu einem Tabellen-Scan wie in dieser section von MSDN beschrieben.

Wenn Sie nicht mehrere Partitionen benötigen, ist es absolut in Ordnung, eine einzelne Partition zu verwenden (z. B. mit einer Konstanten), wenn Ihre Daten nicht sehr groß sind und die Skalierbarkeit mehrerer Partitionen erfordert.

Ein anderer möglicher Ansatz ist, Ihre aktuelle RowKey als PartitionKey zu verwenden, die Ihnen eine hoch skalierbare Lösung geben würde, aber zu schlechter Leistung führen würde, wenn Sie Zeilenbereiche abfragen müssen.

Die verknüpfte MSDN-Seite spricht über die Vor- und Nachteile von beiden. Ich denke, mit Ihrem Wissen über Ihre spezifische Problemdomäne sollten Sie in der Lage sein, eine ausgewogene Lösung zu finden.

+0

Relevante Dokumentation: https://msdn.microsoft.com/en-us/library/azure/hh508997.aspx#dft – BenV

+0

Ich erwarte etwa 40 Millionen oder so "Entitäten" aber müssen Zeilenbereiche abfragen. Fang 22 Ich denke ... – cs0815

Verwandte Themen