PDA

View Full Version : [Java - altro] Aiuto in progettazione - scelta DB


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

wizard1993
07-02-2015, 20:13
postgre potrebbe fare al caso tuo
Tipo array http://www.postgresql.org/docs/9.0/static/arrays.html
supporto ad una struttura "alla nosql" http://www.html.it/articoli/nosql-con-postgresql/

sottovento
08-02-2015, 05:11
Avevo scartato PostgreSQL per colpa della mia ignoranza.
Non sapevo che avesse un supporto per tipi JSON. Questo cambia tutto!

Grazie dell'informazione, e' un ottimo suggerimento e penso che sara' la mia scelta finale.
Oggi faro' dei test con la mia applicazione e provero' anche Cassandra e CouchDB, ma credo che PostgreSQL, grazie al supporto JSON, sia di gran lunga la soluzione migliore.
Inoltre ho visto che i tool per la generazione dei report che ho intenzione di usare supportano PostgreSQL.... quindi probabilmente non vale neanche la pena di fare le prove.

A buon rendere