Visualizza i risultati del sondaggio: Meglio database o file di testo?

Chi ha votato
5. Non puoi votare questo sondaggio
  • Database

    5 100.00%
  • File di testo

    0 0%
  • Altro

    0 0%
Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di salcam
    Registrato dal
    Dec 2005
    Messaggi
    193

    [JAVA] Database o file di testo?

    Salva avrei una questione che forse qualcuno di voi può risolvere. Ho ricercato nel sito ma se ne è parlato moooooooooolto vagamente.

    Sto creando un applicazione java che richiede il salvataggio dei dati. Per far ciò utilizzo PostGreSQL (ho utilizzato anche MySql), però non mi va che per installare la mia applicazione in una nuova macchina, devo installare prima il gestore del DB.
    Quello che mi chiedo è se c'è un metodo alternativo ai DB. Ho pensato anche il semplice salvataggio in un file, ma a livello di tempo di recupero dati è confrontabile con quello di un DB relazionale?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Da quello che ho capito credo che tu per "salvare dati" non intenda dati per la configurazione dell'applicazione, ma anche dati su cui l'applicazione lavora.
    Questo induce, in prima battuta, a pensare ad un DB.

    Si possono anche utilizzare dei file, ma tutto dipende dalla quantità di dati da salvare, dal tipo di dati e da quali performances si richiedono.


    Ad ogni modo, esiste anche JavaDB (che non ho mai avuto la possibilità di provare, per ora, per mancanza di tempo). PRova a documentarti sul sito della Sun.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    dipende da quanto strutturati e complessi sono i dati che hai bisogno di salvare. La vera comodita' di un database e' quella di poter eseguire query in sql, che sono uno strumento molto potente.
    Sicuramente non ci sara' mai paragone tra la velocita' di esecuzione di una query, e quella di apertura/lettura/chiusura di un file. Pero', nel caso tu ti trovi a gestire poche informazioni e non particolarmente complesse, questa differenza potrebbe non essere cosi' rilevante in termini di usabilita' dell'applicazione.
    Per il problema dell'installazione: sono sicuro che puoi "includere" (embed) alcuni databases (quelli sviluppati in java) direttamente all'interno della tua applicazione, senza bisogno di installare niente per l'utente finale, in quanto e' sufficiente il solo deploy della tua applicazione. Se sei interessato ad un approccio del genere, prova a visitare il sito di HSQLDB (http://hsqldb.org), o a cercare qualche tutorial in rete. Oppure se vuoi divertirti prova a visitare http://www.db4o.org, e' la homepage di un database non relazionale bensi' "ad oggetti".. quello si embedda di sicuro perche' l'ho provato diverso tempo fa

    In conclusione: potendo, per qualsiasi applicazione richieda di gestire persistenza dei dati in maniera sufficientemente "seria", userei un database tutta la vita.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    6
    Mi accodo alla discussione perchè è un problema che sto sperimentando anche io, così non ne apriamo un'altra.

    Il mio caso è più semplice, devo solo salvare 1 array di interi, pure corto (30 numeri).
    Il problema sta nel fatto che usando un codice come questo, recupero non l'array, ma una stringa che dovrebbe rappresentare l'array...
    Non c'è un modo per recuperare l'array senza dover scrivere nel file ogni suo valore?
    In altre parole, se ho un oggetto composto, per esempio un array con elementi che siano formati da una stringa e un int, non posso scrivere e recuperare l'oggetto, invece di una stringa?

    codice:
    	
    public static void main (String [] args) throws IOException
    {
       BufferedReader reader = new BufferedReader(new FileReader ("Salvataggio.txt"));
       int [] carte = new int[30];
       carte = reader.readLine();
       System.out.println(carte);
       reader.close();
    }
    grazie

  5. #5
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    puoi, il processo si chiama "serializzazione" (serialization) ed e' molto semplice da implementare. Prova a fare una ricerca sul forum o con google e troverai sicuramente un sacco di codice di esempio

  6. #6
    Utente di HTML.it L'avatar di kaekko
    Registrato dal
    Mar 2002
    Messaggi
    13
    Sto cercando di fare un programma che utilizzi il database embedded di derby. Il problema è che i programmi funzionano soltanto se aggiungo il file derby.jar al classpath.
    C'è un modo per includere il file derby.jar nel programma, in modo da non dover aggiungere derby.jar al classpath?

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    La soluzione consiste nello scompattare il JAR allo stesso livello dell'applicazione.
    In questo modo verrà incorporato nel JAR dell'applicazione.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.