Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Creazione di applicazione legata a diversi DB

    Salve,
    Sto realizzando un'applicazione in java che si deve interconnettere a diversi database(le moli di informazioni da contenere sono considerevoli e per velocizzare è richiesta una suddivisione delle informazioni in diversi database(che però hanno la stessa struttura).

    Ho incominciato a realizzare questo sistema creandomi un database minuscolo che contiene le informazioni relative alle varie zone da trattare, per creare il database di ogni zona, creo la classe che gestisce il db come segue:
    codice:
    ...
    public void Connetti(){
             try{
                 Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
             }catch (Exception eg){
                 System.err.println("Non è stato possibile caricare il Driver");
                 System.err.println(eg.getMessage());
              } 
            try{
               con=DriverManager.getConnection("jdbc:derby:CIMT_"+this.name+"_DB;create=true");
    ....
    dove la variabile "this.name" è il nome della zona.

    Concettualmente mi sembra corretto ma mi è venuto un dubbio: il fatto che tutti i DB creati per le zone appartengono allo stesso schema (".APP") può creare problemi nella realizzazione del mio intento?

    se volessi far si che ogni DB appartenga ad un'altro schema, come dovrei fare?

    Grazie a quanti mi vorranno aiutare.

  2. #2
    up.

    davvero nessuno sà rispondermi?
    non sò che pensare le cose sono due:
    o sono talmente tanto scemo da non meritare risposta
    o sono sulla vostra stessa barca....

    speriamo la seconda ^^

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non conosco Derby e non riesco a capire la problematica (magari sono un pollo io, ma che è un ".app"?): se tutti i database risiedono sulla stessa macchina a che pro cercare di creare un sistema distribuito?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Originariamente inviato da tritrillidan
    up.

    davvero nessuno sà rispondermi?
    non sò che pensare le cose sono due:
    o sono talmente tanto scemo da non meritare risposta
    o sono sulla vostra stessa barca....

    speriamo la seconda ^^
    Ciao, io già prima del tuo up, ho tentato di capire per rispondere, ma non conosco derby e non so cosa sia un .app quindi ho evitato di intervenire.

    Originariamente inviato da tritrillidan
    Sto realizzando un'applicazione in java che si deve interconnettere a diversi database(le moli di informazioni da contenere sono considerevoli e per velocizzare è richiesta una suddivisione delle informazioni in diversi database(che però hanno la stessa struttura).
    Tuttavia c'è da dire che questa cosa di dividere in più database i dati per ottenere maggiori prestazioni mi perplime un po'. Ma i database stanno sullo stesso dbms? O no? Perché in caso contrario un guadagno prestazionale lo otterresti partizionando le tabelle più "grosse" non così...Ti parlo da buon conoscitore dei principali DBMS (postgres, mysql,oracle) come programmatore ma non da DBA ovviamente quindi potrei sbagliarmi.
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  5. #5
    si lavorano con lo stesso dbms,
    in effetti non avevo valutato la possibilità di suddividere le tabelle grosse in + piccole ma questo mi consentirà di evitare che il database rallenti le sue prestazioni, nel senso ... qui vengono fuori le mie lacune... I tempi di risposta/ricerca/elaborazione di un DB dipendono dai dati nella "tabella" o nel DB stesso?
    e sopratutto devo ridisegnare tutto il DB o comunque buona parte del DB e molte loggiche dell'applicazione per attuare questa modifica ... proverò
    Grazie cmq

  6. #6
    Originariamente inviato da tritrillidan
    si lavorano con lo stesso dbms,
    in effetti non avevo valutato la possibilità di suddividere le tabelle grosse in + piccole ma questo mi consentirà di evitare che il database rallenti le sue prestazioni, nel senso ... qui vengono fuori le mie lacune... I tempi di risposta/ricerca/elaborazione di un DB dipendono dai dati nella "tabella" o nel DB stesso?
    I dati nel DB non coinvolti da una tua query di ricerca /inserimento/cancellazione/update non impattano le prestazioni della stessa che mi risulti. Quanto più la tabella (o le tabelle) su cui agisce una tua query è "grossa", in termini di numero di record, tanto più la query risulterà lenta in generale..Esistono delle ottimizzazioni possibili (ad esempio la creazione di indici sulle colonne accedute più frequentemente), o il partizionamento cui ti accennavo sopra. quest'ultimo consiste nel suddividere una grossa tabella (grossa sempre in termini di numero di record) , in n partizioni individuate da una discriminante (ad esempio un range di date di inserimento del record) in modo da accedere sempre a tabelle di dimensioni accettabili . Questo ovviamente non è gratis. il software che insiste su queste tabelle deve "essere a conoscenza" del fatto che sono partizionate e passare nelle query di inserimento / ricerca eccetera anche il valore discriminante in modo che il dbms possa accedere alla tabella giusta.
    Si tratta di una tecnica che è molto simile a quella della rotazione dei file di log per i grossi applicativi.
    Ciao
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  7. #7
    ok grazie per le dritte vediamo come posso risolvere.TNK




    @Andrea1979: .app è il nome dello schema usato dal database

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.