Frage

Ich suche die Tabellen Speicher mit einigen Transaktionsdaten zu speichern, aber ich brauche etwas sehr hohen Niveau Berichterstattung über sie zu unterstützen, im Grunde beläuft sich pro Tag / Monat.

Ein paar Optionen Ich habe zwar von:

  • Verwenden Sie eine Partition / Zeilenstruktur Schlüssel und führen dynamisch Summe
    z.B. 20101101_ITEMID_XXXXXXXX (x = guid oder Zeit, um einzigartige) dann würde ich für einen Monat Daten abfragen eines Teil des Zeilenschlüssels (ITEMID_201011) und auf insgesamt über die „Kosten“ Eigenschaft in der Art verwendet wird.

    Wie würde das Abfragelimit von 1000 Aufzeichnungen von dieser obwohl verwaltet werden? (Das heißt, wenn es mehr als 1000 Transaktionen für den Tag, wäre schwer, in Höhe von insgesamt)

  • Verwenden Sie einen weiterer Rekord die Summe für den Tag zu speichern und aktualisieren Sie diese als neue Datensätze hinzugefügt
    z.B. Zeilenschlüssel „20101101_ITEMID_TOTAL“ query off dies für die Tage Summen dann oder Monate oder Jahre Summen.

Was ist der beste Weg, dies zu tun? Gibt es ein ‚best practice‘ für diese Art der Anforderung unter Verwendung von Tabellenspeichern?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, was die beste Praxis ist, aber ich kann anmerken, dass wir eine ähnliche Situation haben mit AzureWatch und verwenden definitiv voraggregierten Werte in Tabellen.

Vorwiegend aus Leistungsgründen - Tabellenspeicher ist nicht sofort, auch wenn Sie Abfrage durch einzelne Partition-Schlüssel und eine Reihe in Reihe-Taste. Die Zeit, die die Datensätze zum Download ist etwas signifikant und in Abhängigkeit von den Aufzeichnungen kann die CPU Spike nach oben, weil es die Daten in Objekte Deserialisieren muss. Wenn Sie wegen der 1000 Rekordgrenze mehrmals Reisen in die Tabellenspeicher erhalten, werden Sie mehr als gut bezahlen.

Einige andere Gedanken zu berücksichtigen:

Werden Ihre aggregierte Summen jemals ändern? Wenn nein, ist der dies ein weiterer Schub in Richtung Voraggregation

müssen Sie aggregierte Werte zu halten, nachdem Rohdaten gegangen ist oder werden Sie immer Rohdaten müssen reinigen? Wenn ja, dann ist es eine anderer Schub in Richtung Voraggregation

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top