View previous topic :: View next topic |
Author |
Message |
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Mon Dec 05, 2005 11:24 am Post subject: Progetto di un grosso data server... |
|
|
Stò inziando a pensare ai vari server che mi serviranno per il mio prossimo lavoro. Avrei bisogno di crearmi un programma che cataloga delle fotografie e che ogni foto è cira 70 mbyte (Il programma deve anche elaborare le foto: piccole cose ma le deve fare). Vorrei fare tutto tramite mysql, apache e php, in modo da poterlo usare su ogni computer.
Per lo stoccaggio di tutte queste foto, stavo pensando di creare la seguente macchina:
Server Dual Xeon con controller SCSI U320 2 Gbyte di ram. Due hard disk da 36 Gbyte SCSI in RAID hardware. Case rack 19".
Ci installo sopra gentoo e come file system pensavo di utilizzare raiserfs. Finita la mia installazione, al controller RAID secondario aggiungo un Array di dischi SCSI (sempore per rack 19") e metto tre dischi da 147 GByte SCSI. L'idea sarebbe di metterne due in mirroring e usare il terzo come spare.
Volevo pensare anche ad un eventuale "allargamento" dello spazio per i dati. Pensavo di usare LVM, in modo da poter allargare lo spazio senza tanti problemi. Ecco uno schema di quello che io avevo pensato, vi ricordo che è solo un esempio!!!
/dev/md0 -> mirroring -> /dev/sda1 /dev/sdb1 = /dev/md0 da 147Gbyte.
Partizione LVM con reiserfs come filesystem.
Al momento che devo allargare lo spazio:
/dev/md1 -> mirroring -> /dev/sda1 /dev/sdb1 = /dev/md0 da 147Gbyte.
LVM /dev/md0 + /dev/md1 Allargando la partizione di md0 estendendola per tutto md1, anche qui lo stesso reiserfs...
Stavo pensando ad una soluzione più facile: al momento che finisco lo spazio faccio il backup di tutti i dati, smonto il raid, aggiungo i dischi e poi ricreo il raid. Da linux poi formatto e reinserisco i dati dentro. Procedura molto lunga però...
Chi ha qualche idea in proposito? Qualche suggerimento? Se ho detto qualche c...ata ditemo, può essere che ancora non ho chiari i concetti...
Ciao a tutti, Keres. |
|
Back to top |
|
|
Frez Apprentice
Joined: 29 Aug 2003 Posts: 166
|
Posted: Mon Dec 05, 2005 11:47 am Post subject: |
|
|
Non sono esperto di raid e non sono "informatico" di professione, ma mi chiedevo: "perche' non usare un RAID5" ?
Avresti il doppio di capacita' (147*2) e comunque una certa affidabilita'.
Visto che usi un controller hardware, dovrebbe farsi carico lui di cose come: bufferizzare, calcolare le informazioni di parita' e ricrearle in caso di sostituzione di un singolo disco.
Riguardo alle probabilita' di perdita dati, in linea approssimativa (credo sarebbe piu' giusto parlare di "intertempi di rottura"):
raid1 = rottura di entrambi i dischi
raid5 a 3 dischi= rottura di 2 dischi su 3, un po' peggio, ma credo non troppo peggio.
sbaglio ? _________________ There is one more thing ... it's been emotional |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31281 Location: here
|
Posted: Mon Dec 05, 2005 12:53 pm Post subject: |
|
|
Se il volume di dati e' grosso solitamente si punta su postgres come db, tanto php gestisce bene anche questo _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Dec 05, 2005 12:58 pm Post subject: |
|
|
Normalmente sui server si predilige un fs più stabile rispetto a reiserfs... _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Mon Dec 05, 2005 1:15 pm Post subject: |
|
|
Kernel78, un file system tipo ext3??? O quale altro potrei usare?
Ciao, Keres. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Dec 05, 2005 1:23 pm Post subject: |
|
|
DGilmour wrote: | Kernel78, un file system tipo ext3??? O quale altro potrei usare? |
La scelta del fs rischia di sfociare in una guerra di religione quindi mi limito ad esprimere quelle che sono le mie personali preferenze...
Sul desktop uso con estrema soddisfazione reiserfs ma su un server penso che userei ext3 che è decisamente più testato.
Esistono però anche altri fs quali XFS o JFS (dei quali però non so dirti granchè).
Se cerchi sul forum trovi dei dibattiti interessanti sulle prestazioni di questi e altri fs, prova a partire da li. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Mon Dec 05, 2005 1:47 pm Post subject: |
|
|
fedeliallalinea wrote: | Se il volume di dati e' grosso solitamente si punta su postgres come db, tanto php gestisce bene anche questo |
Ma ci sono ragioni valide per preferire mysql? Si dovrebbe sempre preferire postgres quando possibile. _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Dec 05, 2005 1:55 pm Post subject: |
|
|
federico wrote: | Ma ci sono ragioni valide per preferire mysql? Si dovrebbe sempre preferire postgres quando possibile. |
... e si dovrebbe sempre preferire linux a windows visto che non ci sono ragioni valide per preferire il secondo ma putroppo la maggior parte delle persone usa windows
P.S. non voglio mica paragonare mysql a windows !!! _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Mon Dec 05, 2005 1:58 pm Post subject: |
|
|
Non intendo postgres perche' e' opensource, ma perche' ha molte funzionalita' e ottimizzazioni rispetto a mysql, ed e' quindi un progetto migliore... Quindi, a meno che ci siano richieste particolari di programmi che utilizzano ottimizzazioni proprietarie di mysql, io sceglierei postgres. Federico _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31281 Location: here
|
Posted: Mon Dec 05, 2005 2:06 pm Post subject: |
|
|
federico wrote: | Ma ci sono ragioni valide per preferire mysql? Si dovrebbe sempre preferire postgres quando possibile. |
Una ragione su tutte e' che trovi diversi hosting che ti danno mysql, e dicamola tutta se devi farti la tua pagina personale mysql e' piu' che valido. _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Mon Dec 05, 2005 2:14 pm Post subject: |
|
|
Stavo valutando di usare postgre. Ho fatto una visita sul sito e sembra molto interessante. Ho detto MySQL gisto perchè fino ad ora ho usato quello visto che il mio WebHosting forniva piattaforme RedHat con MySQL...
Cmq appena mi sposto nel nuovo lavoro inzierò a costruirmi, piano piano, anche la web farm per ospitare il sito internet e il server email...
Ora passo un po' di tempo ad esercitarmi su postgrte sul mio portatile... Devo farmi un programmino per catalogare seriamente i film che ho e colgo l'occasione...
Ciao, Keres. |
|
Back to top |
|
|
stefanonafets l33t
Joined: 10 Feb 2003 Posts: 644
|
Posted: Mon Dec 05, 2005 2:30 pm Post subject: |
|
|
Non so se il budget è un problema, ma al momento io + che per dischi scsi opterei per i sata.
La 3ware produce ottimi controller raid hw, e a parità di quantità di storage paghi MOOOLTO meno i dischi, in cambio di prestazioni comunque sufficienti x la maggior patre delle applicazioni (ed esistono anche unità di storage in rack x gli ide).
Per quanto riguarda il filesystem, appoggio anch'io chi ti sconsiglia il reiser, in pro userei solo ext3 (uso con grande soddisfazione XFS sul mio laptop, ma xche so di poter correre alcuni rischi).
Per il db, non ho capito se ci vuoi mettere dentro direttamente le foto o se lo vuoi usare solo come "appoggio" all'applicativo web. _________________ registered Linux user number #411324
sed 's/ke/che/g'
<The Deployment Slave is initializing> |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Mon Dec 05, 2005 2:42 pm Post subject: |
|
|
fedeliallalinea wrote: | federico wrote: | Ma ci sono ragioni valide per preferire mysql? Si dovrebbe sempre preferire postgres quando possibile. |
Una ragione su tutte e' che trovi diversi hosting che ti danno mysql, e dicamola tutta se devi farti la tua pagina personale mysql e' piu' che valido. |
Giusta osservazione, pero' in questo caso fortunatamente possiamo scegliere, anche i mie hosting sono su mysql, ma quando uno si sta facendo un proprio dedicato... _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Mon Dec 05, 2005 3:15 pm Post subject: |
|
|
federico wrote: | Ma ci sono ragioni valide per preferire mysql? Si dovrebbe sempre preferire postgres quando possibile. |
Credo che, nella maggior parte dei casi, sqlite o picosql siano ben oltre le reali necessità
In generale mysql offre maggior disponibilità in rete (documentazione, esempi, ...) e maggior diffusione (quindi é mediamente più facile che un applicativo si appoggi a mysql piuttosto che a postgresql).
DGilmour, solitamente per lavorare con files di grosse dimensioni é consigliato XFS. Il quanto vada daccordo con il raid però non te lo so dire _________________ Ciao da me! |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Mon Dec 05, 2005 3:31 pm Post subject: |
|
|
Preferivo gli hard disk SCSI su array esterno perchè il secondo passo è di mettere in HA il tutto installando una seconda macchina uguale alla prima...
Il database deve più o meno tenere (per ora è tutto indicativo):
- File RAW orginale;
- File TIFF ottenuto dal RAW originale;
- File jpeg ottenuto dal RAW originale;
- File jpeg formato da 100x150 pixel;
- File jpeg formato da 400x600 pixel;
- Tutti dati exif dello scatto;
- La firma digitale della fotrorgafia e del fotografo;
- Vari campi per l'archiviazione tipo: Festa/Attività - Lugo - Tipo di progetto - Descrizione della foto e altre cose...
Le immagini preferirei "stoccarle" dentro al database, anche se per ora non ho idea di come si faccia...
Una domanda a voi tutti. L'interfaccia grafica del programma mi conviene farla in php oppure usando le librerie qt? Cosa fareste voi?
Ciao, Keres. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Dec 05, 2005 3:36 pm Post subject: |
|
|
DGilmour wrote: | Una domanda a voi tutti. L'interfaccia grafica del programma mi conviene farla in php oppure usando le librerie qt? Cosa fareste voi? |
Bella domanda...
dipende da cosa deve fare il programma _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31281 Location: here
|
Posted: Mon Dec 05, 2005 3:45 pm Post subject: |
|
|
federico wrote: | Giusta osservazione, pero' in questo caso fortunatamente possiamo scegliere, anche i mie hosting sono su mysql, ma quando uno si sta facendo un proprio dedicato... |
Giusto ma non tutti possono avere un server dedicato, anche io per la ditta in cui sono fare il mio progetto uso postgres perche' il server e' nostro e ho potuto scegliere quello che volevo e per questo progetto serviva un DB transizionale (si si anche mysql ora lo e' ma non so fino a che punto) _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31281 Location: here
|
Posted: Mon Dec 05, 2005 3:47 pm Post subject: |
|
|
Kernel78 wrote: | DGilmour wrote: | Una domanda a voi tutti. L'interfaccia grafica del programma mi conviene farla in php oppure usando le librerie qt? Cosa fareste voi? |
Bella domanda...
dipende da cosa deve fare il programma |
Dipende anche se lo vuoi portabile o no per esempio, se fai una webapp questo probelma non sorge visto che basta avere un browser. Comunque sei solo tu che puoi avere uan visione globale del progetto e quindi sapere cosa scegliere _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
DGilmour Tux's lil' helper
Joined: 28 Aug 2005 Posts: 132 Location: Abbadia San Salvatore
|
Posted: Mon Dec 05, 2005 4:06 pm Post subject: |
|
|
Nel mio portatile devo installarmi postgre, apache e php. Per compilare php con il supporto per postgre devo idicare qualche cosa? Oppure è già attivo di default?
Ciao, Keres. |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Mon Dec 05, 2005 4:09 pm Post subject: |
|
|
DGilmour wrote: | Nel mio portatile devo installarmi postgre, apache e php. Per compilare php con il supporto per postgre devo idicare qualche cosa? Oppure è già attivo di default?
|
Scusa ma hai mai usato gentoo ???
Il sistema delle USE serve proprio a questo. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
ProT-0-TypE Veteran
Joined: 20 Dec 2003 Posts: 1624 Location: Cagliari
|
Posted: Mon Dec 05, 2005 4:43 pm Post subject: |
|
|
come ti diceva kernel78 emergi php con la USE postgres (e magari con -mysql)
Comunque anche postgres (come mysql) ha le sue piccole cazzate..
Ad esempio la versione che uso su debian (non mi ricordo il numero) non fa il check dei vincoli sulle chiavi esterne..
EDIT: Forse ho detto una cazzata: inizialmente le mie tabelle erano su mysql e di default erano MyISAM (e di sicuro non viene fatto il check). Su postgres devo riguardarmi com'è strutturato il tutto _________________ [Vuoi guadagnare navigando?] |
|
Back to top |
|
|
IlGab Guru
Joined: 26 Nov 2004 Posts: 486
|
Posted: Mon Dec 05, 2005 5:12 pm Post subject: |
|
|
Frez wrote: | Non sono esperto di raid e non sono "informatico" di professione, ma mi chiedevo: "perche' non usare un RAID5" ?
Avresti il doppio di capacita' (147*2) e comunque una certa affidabilita'.
Visto che usi un controller hardware, dovrebbe farsi carico lui di cose come: bufferizzare, calcolare le informazioni di parita' e ricrearle in caso di sostituzione di un singolo disco.
Riguardo alle probabilita' di perdita dati, in linea approssimativa (credo sarebbe piu' giusto parlare di "intertempi di rottura"):
raid1 = rottura di entrambi i dischi
raid5 a 3 dischi= rottura di 2 dischi su 3, un po' peggio, ma credo non troppo peggio.
sbaglio ? |
Non ho capito bene cosa intendi ma in entrambi i casi (raid1 su 2 dischi o raid5 su 3 dischi) se perdi 2 dischi ti sei fumato il volume...
Il raid1 è più performante in termini di I/O rispetto ad un raid 5 per una semplice questione di meccanica e di modalità di scrittura del dato.
Per quel che riguarda la controller adaptec ha delle bellissime schede. Fossi in te comunque mi affiderei a qualche produttore piuttosto che produrre qualcosa assemblando a mano. |
|
Back to top |
|
|
ProT-0-TypE Veteran
Joined: 20 Dec 2003 Posts: 1624 Location: Cagliari
|
Posted: Mon Dec 05, 2005 5:17 pm Post subject: |
|
|
Ho controllato bene e postgres supporta i vincoli sulle chiavi esterne. Ragione in più per usare postgres _________________ [Vuoi guadagnare navigando?] |
|
Back to top |
|
|
.:chrome:. Advocate
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Mon Dec 05, 2005 5:59 pm Post subject: Re: Progetto di un grosso data server... |
|
|
non posso fare altro che essere d'accordo con quello che ti hanno già detto in molti:
mysql è un giocattolo, non ce lo vedo bene per il trattamento di grossi volumi di dati, mentre postgres è da sempre IL DB serio.
il file system, nel momento in cui la macchina ti serve per lavorare, deve prediligere la stabilità alla velocità, quindi vai di ext2 e ext3 (se proprio vuoi sfruttare bene i grossi volumi potresti fare un pensiero a XFS)
una piccola nota: io punterei sul RAID-5, anche perché il disco di spare non è utilizzabile con il RAID-1 software (o almeno... è quello che mi ha detto mdadm l'ultima volta che ci ho provato).
occhio ad una cosa: LVM permette di ridimensionare le partizioni, ma prendi questo caso: hai una partizione A da 10 GB e una B da 10 GB. vuoi far diventare A da 15 GB e B da 5 GB.
i dati contenuti nei 5 GB che porti via da B verranno persi. in sostanza LVM sposta solo gli indici di inizio e fine delle partizioni, e non i dati contenuti, quindi devi fare sempre e comunque un backup dei dati contenuti nelle partizioni che stai ridimensionando.
il vantaggio è che non richiede la reinizializzazione della tavola delle partizioni, ed è un'operazione che puoi fare on-line, ma non prevede lo spostamento dei dati |
|
Back to top |
|
|
makoomba Bodhisattva
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Mon Dec 05, 2005 6:35 pm Post subject: |
|
|
mysql deficita di una gran quantità di features (triggers, stored procedures, view) che i dev stanno cercando di aggiungere con le nuove versioni.
postgres invece ha tutto e pure da un fracco di tempo.
ciò detto, mysql resta un'ottima scelta in molti casi, è molto diffuso e viaggia spesso alla velocità della luce.
non mi pare un'ottima soluzione memorizzare grossi files direttamente all'interno del db, quando sarebbe molto più semplice utilizzare il fs come backend.
il db diventerebbe enorme, difficile da gestire/replicare e più "esposto" ad eventuali problemi di corruzione.
considerato che i "raw data" non sono utilizzati in alcun modo (indicizzazione, join, etc), mi pare molto più saggio limitarsi a salvare nel db le informazioni e su fs i binari.
in merito ad LVM, i problemi a livello di fs sono più che altro legati allo "shrink" della partizione.
viceversa, l'estensione è un'operazione relativamente sicura con molti fs, reiserfs permette di effuttuarla online, senza neanche smontare il fs. _________________ When all else fails, read the instructions. |
|
Back to top |
|
|
|