2010-04-09 1 views
5

Quindi c'è questa nuova cosa interessante, questi database NoSQL. E così ci sono i miei dati: righe di righe di file di dati meteorologici: valori, che rappresentano determinate misurazioni in una determinata stazione (identificate da un numero WMO, non coordinate), in un dato momento.NoSQL e dati meteorologici

Non tutte le stazioni misurano tutti i parametri, non tutti i parametri vengono misurati continuamente.

Memorizzo questi dati (valore di 30 anni di valori orari, risultanti in ~ 1 miliardo di valori) attualmente in MySQL. La crescita continua e l'aggiunta prevedibile di ulteriori dati mi danno un po 'di mal di testa.

Leggendo i sistemi NoSQL basati su documenti che sembrano scalare piuttosto facilmente, mi chiedevo se NoSQL è un concetto di archiviazione dati fattibile anche per i dati meteorologici. Hai qualche esperienza con questo?

Aggiornamento: ha dimenticato le query tipiche: la maggior parte delle query richiede dati nell'asse temporale: I.e. Datemi le temperature della stazione 066310 dal 01.01.2010 alle 00:00 all'01/03/2010 alle 00:00.

Oppure: fornirmi i valori più recenti di tutti i parametri di una particolare stazione.

+0

Ciò di cui abbiamo veramente bisogno di sapere se dovremmo essere in grado di rispondere alla tua domanda è come si utilizza i dati. Che tipo di domande si esegue su di esso. – adamse

+0

Ah, ho dimenticato. Grazie, ho aggiunto due campioni. –

+0

Che cosa ti sta causando un mal di testa? Gestione del database? Prestazione? Aggregazione dei dati? Qualcos'altro? Se le sue prestazioni sono correlate, hai analizzato il piano di query per le tue query? Forse hai bisogno di indici migliori o di ottimizzare le impostazioni del tuo database (PostgreSQL è ottimo in questo). Quanto è grande il set di dati: disco saggio. 1 GB? Di Più? Di meno? – Mike

risposta

2

NoSQL può essere adatto quando la struttura dei dati è piuttosto semplice (ad esempio un semplice archivio di valori-chiave)/prevedibile e non è necessario l'integrità relazionale o la necessità di query ad-hoc e/o avanzate.

Ciò che si vince in una facile scalabilità si potrebbe perdere in flessibilità e coerenza però.

Il problema più grande sarebbe avere un mezzo semplice per comporre query complesse sui dati. Direi che i dati meterologici non sono i migliori candidati per NoSQL.

Personalmente preferisco PostgreSQL su MySQL e lo trovo molto scalabile (anche con milioni o addirittura miliardi di righe) quando configurato correttamente.

+0

Questo non è completamente corretto. NoSQL può adattarsi anche a dati molto complessi, ad esempio, pensa ai database di diagrammi. Poi ci sono anche i datastore NoSQL con valori-chiave più semplici. Esiste una vasta gamma di soluzioni NoSQL. – adamse

+0

@adamse: buon punto sull'ampiezza del termine NoSQL, anche se penso che un database grafico non sarebbe la soluzione migliore per i dati meterologici ;-) – ChristopheD

+0

No, ovviamente non :) – adamse

1

mi è difficile creare una risposta coerente in questo momento, ma qui va.

  1. I Suoi dati si adatterebbe senza problemi in un datastore "NoSQL", come Cassandra (e molti altri probabilmente)
  2. Si potrebbe beneficiare della progettazione dello schema-less di molte soluzioni "NoSQL" (visto che non tutti le colonne (per usare un termine MySQL) sono sempre presenti)
  3. Le domande basate sul tempo non sarebbero un problema in Cassandra (controlla le chiavi basate su TimeUUID)
  4. Non sembra che tu stia approfittando della parte relazionale di MySQL, in modo da non farti male tanto quando lo perdi
  5. Anche se potresti essere va bene con MySQL, dal momento che in realtà non stai descrivendo il tipo di problemi, ne hai davvero?(Il solo fatto di essere interessato è assolutamente fantastico)
  6. Cose come gli indici e la ricerca sono cose che dovresti implementare manualmente in molti datastore nosql, se questo ti spaventa forse di stare con sql.

Grazie per l'ascolto;)

+0

Darei un'occhiata a Cassandra. Grazie per l'input. –