Domanda

sto cercando in utilizzando la tabella di archiviazione per la memorizzazione di alcuni dati transazionali, però, ho bisogno di sostenere alcuni altissimo livello di segnalazione su di esso, ammonta in fondo al giorno / mese.

Un paio di opzioni che ho anche se:

  • Usare a / struttura chiave fila delle partizioni e dinamicamente eseguire somma
    per esempio. 20101101_ITEMID_XXXXXXXX (x = guid o il tempo, per rendere unico) quindi vorrei interrogare per un dato mesi utilizzando una parte della chiave fila (ITEMID_201011), e ad un totale sulla proprietà "Costo" nel tipo.

    Come sarebbe il limite di query di 1000 record essere gestito da questo, però? (Vale a dire se ci sono più di 1000 transazioni per il giorno, per un totale sarebbe difficile)

  • Usa un altro record per memorizzare il totale per il giorno, e aggiornare queste
    come vengono aggiunti nuovi record per esempio. chiave di riga "20101101_ITEMID_TOTAL" poi di query fuori questo per i giorni totali, o mesi, o anni totali.

Qual è il modo migliore per farlo? C'è una 'best practice' per questo tipo di esigenza utilizzando lo storage tavolo?

È stato utile?

Soluzione

Non sono sicuro di quello che è la migliore pratica, ma posso commentare che abbiamo una situazione simile con AzureWatch e sono sicuramente utilizzando i valori pre-aggregate nelle tabelle.

Per lo più per ragioni di prestazioni - memorizzazione tabella non è istantanea, anche se si query sola partizione-chiave e una serie in fila-chiave. Il tempo necessario per scaricare i record è in qualche modo significativo e, a seconda dei record potrebbe picco la CPU fino, perché ha bisogno di de-serializzare i dati in oggetti. Se si arriva a viaggiare per l'archiviazione tavolo più volte a causa del limite di 1000 cronaca, dovrete pagare di più pure.

Alcuni altri pensieri da considerare:

Saranno i totali aggregati mai cambiare? Se no, il questo è un altro spinta verso pre-aggregazione

Avrete bisogno di tenere i valori aggregati dopo che i dati grezzi è andato o avrà mai bisogno di eliminare i dati grezzi? Se sì, allora è un'altra spinta verso la pre-aggregazione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top