Ich habe eine Windows Azure-Anwendung, in der alle Leseabfragen von TableA auf einzelnen Partitionen für einen Bereich von Zeilenschlüsseln ausgeführt werden. Die Partitionsschlüssel, die dieses Speicherschema unterstützen, sind eigentlich abgeflachte Namen von Objekten in einer Hierarchie, so dass der Partitionsschlüssel wie {root}_{child1}_{child2}_{leaf}
formatiert ist. Ich kann verstehen, wie es sinnvoll ist, diese große Tabelle A in viele Tabellen aufzuteilen, indem die Stammdimension der Partitionsschlüssel in der Benennung der Tabellen verwendet wird (der Partitionsschlüssel würde also {child1}_{child2}_{leaf}
werden).
Ich möchte so schnell wie möglich von so vielen Verbindungen gleichzeitig auf diese Daten zugreifen. Es wäre auch unglaublich, wenn ich herausfinden könnte, was diese Grenzen sind oder sein sollten.
Speziellere Fragen zu meiner vorgeschlagenen Änderung:
Wenn jede Abfrage einen Partitionsschlüssel angibt, macht es keinen Unterschied, in wie vielen Tabellen diese Partitionen verteilt sind. Mit anderen Worten, das Folgende ist äquivalent: eine Tabelle mit tausend Partitionen im Vergleich zu tausend Tabellen mit jeweils einer Partition.
Der Hauptgrund für die Aufteilung in mehrere Tabellen ist, dass Sie eine ganze Tabelle in einer einzigen Operation / Transaktion löschen können, während Sie dies nicht mit einer Reihe von Partitionen in derselben Tabelle tun können. Das bedeutet für Dinge wie Logs, wo Sie nach einer Weile die älteren löschen möchten, ist es oft besser, verschiedene Tabellen für verschiedene Zeitbereiche zu haben.
+1 für Steves Antwort.
Einige Dinge hinzufügen
Tags und Links azure partitioning scalability azure-table-storage