Sto cercando di creare un database di timeseries di Cassandra per archiviare milioni di serie di dati giornalieri che potenzialmente possono avere complessivamente fino a 100 punti di dati.Progettazione del database di timeseries in Cassandra
Ho guardato questo articolo: http://rubyscale.com/blog/2011/03/06/basic-time-series-with-cassandra/
Questo disegno è molto solida. Quindi, in sostanza, posso inserire i timestamp giornalieri come colonne e, se necessario, dividere le colonne aggiungendo il giorno alla riga.
Due domande che ho:
- Sto cercando di memorizzare fino a 20.000 timestamp (al giorno) le colonne. È anche necessario tagliare le righe, ad es. anno con questa quantità di colonne? C'è qualche vantaggio/svantaggio nel condividere le righe per ridurre il numero di colonne fino a 365 all'anno.
- Un'altra idea che ho è piuttosto che dividere colonne per riga è creare una famiglia di colonne per ogni anno. In questo modo quando si accede ai dati da più anni dovrei interrogare più famiglie di colonne anziché una famiglia di colonne e unire i risultati sul lato client. Questo approccio accelererebbe le cose o piuttosto rallenterebbe tutto?
Quindi pensi che non ci siano punti nelle tabelle/famiglie di colonne di separazione in famiglie di colonne separate, ma per farlo piuttosto per righe? C'è qualche svantaggio avendo troppe righe in una singola famiglia di colonne? – datageek
La famiglia di colonne è solo un livello chiave aggiuntivo.Se i miei dati sono della stessa natura e richiedono le stesse impostazioni in termini di memorizzazione nella cache, confronto (nomi di colonne), ecc. Quindi li metto nella stessa famiglia di colonne. Le famiglie di colonne Plus non sono facili da gestire in modo programmatico. Mentre scrivere su una nuova chiave lo creerà. E non puoi leggere da CF separati in una query. –