Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    339

    Calcolo dimensione Database

    Ciao a tutti come si fa a sapere quanto un Database mi occuperò di GB??

    SE ho tipo 2 milioni di record quanto sarà grande il database?

    C'è qualche metodo o stima per conoscere la sua grandezza?
    Grazie a tutti
    Ci sono 10 categorie di persone al mondo: quelle che capiscono
    il sistema binario e quelle che non lo capiscono.

  2. #2
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523

    Re: Calcolo dimensione Database

    Originariamente inviato da Chan
    Ciao a tutti come si fa a sapere quanto un Database mi occuperò di GB??

    SE ho tipo 2 milioni di record quanto sarà grande il database?

    C'è qualche metodo o stima per conoscere la sua grandezza?
    Grazie a tutti
    Detto così è una domanda senza senso

    Una tabella con un solo campo di tipo boolean occupa 1 byte per ogni record (tralasciamo per il momento gli indici e le varie strutture accessorie)
    Una tabella con un campo varchar(1000) occupa 1000 bytes per ogni record

    La stima della dimensione di un database è una cosa abbastanza complessa e molto variabile (tipo dei campi, tipo di dati, indici, etc)

    Qui trovi qualche informazione: http://searchsqlserver.techtarget.co...8_mem1,00.html

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    339
    si concordo con quello che hai detto e mi scuso se mi sono spiegato male,

    Diciamo che il mio database è formato da un tabella con un campo Nvarchar da 255 .

    volevo solo na stima proprio generica. tutto qui.

    Grazie comunque dei consigli.
    Ci sono 10 categorie di persone al mondo: quelle che capiscono
    il sistema binario e quelle che non lo capiscono.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    339
    In pratica:
    Una tabella con un campo varchar(1000) occupa 1000 bytes per ogni record
    630.000 mb = 630 milioni di record:

    tenendo conto magari di qualche altra tabellina facciamo circa
    facciamo 1Tera di disco....

    o sbaglio?? quanto ti costerebbe aver un server con una capacità di questo tipo?
    Ci sono 10 categorie di persone al mondo: quelle che capiscono
    il sistema binario e quelle che non lo capiscono.

  5. #5
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Originariamente inviato da Chan
    In pratica:
    Una tabella con un campo varchar(1000) occupa 1000 bytes per ogni record
    630.000 mb = 630 milioni di record:

    tenendo conto magari di qualche altra tabellina facciamo circa
    facciamo 1Tera di disco....

    o sbaglio?? quanto ti costerebbe aver un server con una capacità di questo tipo?
    :master:

    1000 bytes = (più o meno) 1 Kilobyte
    ogni record (arrotondiamo) pesa 1 Kb
    1.000.000 di record = 1 milione di Kb = (arrotondiamo) = 1 GB
    630 milioni di record (da dove esce questo 630 ?) = circa 630 GB

    1) Avere un server con dischi da oltre 1 TB ha un costo ormai abbastanza ridicolo (un HD esterno USB da 1 TB costa 100 euro... un raid 5 per un server composto da 5 HD da 250 GB ne costerà al massimo 2000)

    2) Una tabella flat con 630 milioni di record è praticamente ingestibile... cosa devi memorizzare ? sei sicuro di avere quella quantità di dati ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    339
    e come fai a gestire 630 milioni Records?
    Si è molto probabile che arrivo a queste cifra.
    Comunque sto solo ipotizzando.
    Ci sono 10 categorie di persone al mondo: quelle che capiscono
    il sistema binario e quelle che non lo capiscono.

  7. #7
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Originariamente inviato da Chan
    e come fai a gestire 630 milioni Records?
    Si è molto probabile che arrivo a queste cifra.
    Comunque sto solo ipotizzando.
    Bisognerebbe capire a fondo cosa ci devi memorizzare e quale sia la struttura di database migliore per farlo. Il database te lo stai creando/inventando tu ? cosa ci devi memorizzare ? sicuro che i dati debbano stare tutti in un'unica tabella ? è possibile pensare di suddividerli in varie tabelle legate tra loro da relazioni di vario tipo ? quali campi possono essere indicizzati ? cher database hai intenzione di usare ? (non dirmi access ... )

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    339
    si me lo sto creando io, devo memorizzare un serie di dati però come dicevo prima è molto semplice il database infatti è composto da un campo nvarchar(255)
    per cui si tutti nella stessa tabella..ma mi sa che nn regge eh
    Ci sono 10 categorie di persone al mondo: quelle che capiscono
    il sistema binario e quelle che non lo capiscono.

  9. #9
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,523
    Originariamente inviato da Chan
    si me lo sto creando io, devo memorizzare un serie di dati però come dicevo prima è molto semplice il database infatti è composto da un campo nvarchar(255)
    per cui si tutti nella stessa tabella..ma mi sa che nn regge eh
    Torno a ribadire che se non provi a dare qualche dettaglio in più non è semplice aiutarti...

    Il problema non è tanto che il database "regga"; se usi SQL Server o Oracle e fai semplicemente delle operazioni di insert in una tabella puoi arrivare senza problemi a milioni di record; se però poi vuoi andare a fare una query o una ricerca magari ti piacerebbe che non ci mettesse 5 giorni a mostrarti il risultato...

    Proviamo con qualche ulteriore "spunto di riflessione"...
    A cosa ti servono questi dati ? Lo scopo di un database non è solo quello di memorizzare informazioni ma ovviamente anche quello di renderle poi disponibili per ulteriori elaborazioni, query, report, etc
    Non essendo plausibile una query del tipo "select * from tabella" che restituisce 600 milioni di righe, immagino ci potranno essere ulteriori elaborazioni su questi dati o query/report molto mirati
    Hai già pensato a cosa dovrai fare ? a che query/report predisporre ? a come vorrai estrarre le informazioni da questo immenso mucchio di record ?
    Avere le idee chiare su cosa vorrai visualizzare potrebbe aiutarti a strutturare meglio il database, inserendo magari qualche campo aggiuntivo da utilizzare come indice per mantere le informazioni ordinate, etc

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 © 2024 vBulletin Solutions, Inc. All rights reserved.