Come aggiornare gli aggiornamenti frequenti in No-sql db (Cassandra) - architettura

2

Sto memorizzando alcuni dati in Cassandra, poi dopo averli analizzati mette in una tabella diversa, ho la sua aggregazione come giornaliera, settimanale, mensile, annuale. Ma dopo un po 'di tempo se un utente legge il contenuto, lo sto cambiando per leggere e leggere lo stato in base all'attività dell'utente.

Tuttavia, come per il mio progetto attuale, ho bisogno di aggiornare tutte le tabelle contemporaneamente (più di 5 tabelle e può aumentare) oppure è necessario creare una singola tabella per leggere non letto ma voglio unirmi alle tabelle, che è non raccomandare con il concetto di nosql.

Qualunque buona architettura esistente per questo? Ho controllato con l'architettura lambda ma non ho trovato una soluzione valida.

    
posta Abdul 04.01.2016 - 10:49
fonte

1 risposta

3

I dati aggregati o analitici sono spesso immutabili, ovvero rappresentano una vista finalizzata dei dati in un determinato periodo di tempo o w / r / t in alcuni processi di trasformazione.

Quindi forse alcuni dei tuoi problemi derivano dall'alterazione post hoc di questi dati. I dati denormalizzati sono comuni in Cassandra, ma forse avrebbe senso mantenere i singoli elementi (con lo stato letto / non letto dell'utente) in una tabella e quindi rieseguire l'aggregazione tutte le volte necessarie, archiviando i risultati separatamente.

I dati aggregati possono essere memorizzati in una singola tabella aggiungendo una chiave di clustering alla tabella, consentendo alle query di essere eseguibili su un singolo blocco temporale (giorno, mese, anno, ecc.)

Cassandra Timeseries Data Modeling

    
risposta data 04.01.2016 - 11:35
fonte

Leggi altre domande sui tag