sottovento
07-02-2015, 11:46
Sto sviluppando un'applicazione che implementa un modello matematico per il calcolo del set point di una macchina.
Questa applicazione riceve parecchi dati da diverse sorgenti (tramite socket), li salva in un database di lavoro; poi effettua dei conti e spedisce i risultati per le lavorazioni alle varie parti interessate.
La mia idea e' quella di strutturare l'applicazione in modo che utilizzi 2 database:
- il primo database deve essere piccolo ma veloce nelle letture/scritture.
- il secondo database e' un database "storico": una volta completati certi step di lavorazione, salvo i relativi risultati.
Per il primo database (che chiamo "di processo") ho scelto MongoDB perche' e' mappato in memoria - quindi veloce - ed e' estremamente flessibile (spesso mi si chiede di aggiungere qualche nuovo valore e la cosa e' semplicissima, non c'e' bisogno di modificare nessuna "tabella").
La scelta si e' rivelata azzeccata, e sta dando grandi soddisfazioni.
Il secondo database e' meno critico dal punto di vista del processo - quindi puo' essere anche tradizionale, come mysql - e viene usato per generare i rapporti di produzione, pianificare la produzione stessa, mettere a disposizione i dati ai pezzi grossi che stanno negli uffici, ....
Ho fatto un po' di prove con mysql, ma non mi ha soddisfatto. Per quanto ne so, mysql non ha un tipo di dato Array, giusto? Questo fatto e' un po' limitante.
Inoltre, non ha la flessibilita' dei database NoSql: se volessi aggiungere dei nuovi dati, sarei obbligato a modificare la base dei dati per aggiungere le nuove colonne o nuove tabelle.
D'altra parte, pero', esistono dei tool ormai standard che utilizzano MySql, o database simili.
Da qui la mia domanda: avete dei suggerimenti su un possibile database che
- sia flessibile
- abbia tipi di dati "complessi" come i vettori
- sia di supporto a tool standard di generazione dei report
Grazie a chiunque passi di qui
Questa applicazione riceve parecchi dati da diverse sorgenti (tramite socket), li salva in un database di lavoro; poi effettua dei conti e spedisce i risultati per le lavorazioni alle varie parti interessate.
La mia idea e' quella di strutturare l'applicazione in modo che utilizzi 2 database:
- il primo database deve essere piccolo ma veloce nelle letture/scritture.
- il secondo database e' un database "storico": una volta completati certi step di lavorazione, salvo i relativi risultati.
Per il primo database (che chiamo "di processo") ho scelto MongoDB perche' e' mappato in memoria - quindi veloce - ed e' estremamente flessibile (spesso mi si chiede di aggiungere qualche nuovo valore e la cosa e' semplicissima, non c'e' bisogno di modificare nessuna "tabella").
La scelta si e' rivelata azzeccata, e sta dando grandi soddisfazioni.
Il secondo database e' meno critico dal punto di vista del processo - quindi puo' essere anche tradizionale, come mysql - e viene usato per generare i rapporti di produzione, pianificare la produzione stessa, mettere a disposizione i dati ai pezzi grossi che stanno negli uffici, ....
Ho fatto un po' di prove con mysql, ma non mi ha soddisfatto. Per quanto ne so, mysql non ha un tipo di dato Array, giusto? Questo fatto e' un po' limitante.
Inoltre, non ha la flessibilita' dei database NoSql: se volessi aggiungere dei nuovi dati, sarei obbligato a modificare la base dei dati per aggiungere le nuove colonne o nuove tabelle.
D'altra parte, pero', esistono dei tool ormai standard che utilizzano MySql, o database simili.
Da qui la mia domanda: avete dei suggerimenti su un possibile database che
- sia flessibile
- abbia tipi di dati "complessi" come i vettori
- sia di supporto a tool standard di generazione dei report
Grazie a chiunque passi di qui