Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Progetto di un grosso data server...
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
DGilmour
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2005
Posts: 132
Location: Abbadia San Salvatore

PostPosted: Mon Dec 05, 2005 11:24 am    Post subject: Progetto di un grosso data server... Reply with quote

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
View user's profile Send private message
Frez
Apprentice
Apprentice


Joined: 29 Aug 2003
Posts: 166

PostPosted: Mon Dec 05, 2005 11:47 am    Post subject: Reply with quote

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
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31283
Location: here

PostPosted: Mon Dec 05, 2005 12:53 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Dec 05, 2005 12:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
DGilmour
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2005
Posts: 132
Location: Abbadia San Salvatore

PostPosted: Mon Dec 05, 2005 1:15 pm    Post subject: Reply with quote

Kernel78, un file system tipo ext3??? O quale altro potrei usare?

Ciao, Keres.
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Dec 05, 2005 1:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
federico
Advocate
Advocate


Joined: 18 Feb 2003
Posts: 3272
Location: Italy, Milano

PostPosted: Mon Dec 05, 2005 1:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Dec 05, 2005 1:55 pm    Post subject: Reply with quote

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 :lol:

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
View user's profile Send private message
federico
Advocate
Advocate


Joined: 18 Feb 2003
Posts: 3272
Location: Italy, Milano

PostPosted: Mon Dec 05, 2005 1:58 pm    Post subject: Reply with quote

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
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31283
Location: here

PostPosted: Mon Dec 05, 2005 2:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
DGilmour
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2005
Posts: 132
Location: Abbadia San Salvatore

PostPosted: Mon Dec 05, 2005 2:14 pm    Post subject: Reply with quote

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
View user's profile Send private message
stefanonafets
l33t
l33t


Joined: 10 Feb 2003
Posts: 644

PostPosted: Mon Dec 05, 2005 2:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
federico
Advocate
Advocate


Joined: 18 Feb 2003
Posts: 3272
Location: Italy, Milano

PostPosted: Mon Dec 05, 2005 2:42 pm    Post subject: Reply with quote

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
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Mon Dec 05, 2005 3:15 pm    Post subject: Reply with quote

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à :roll:

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
View user's profile Send private message
DGilmour
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2005
Posts: 132
Location: Abbadia San Salvatore

PostPosted: Mon Dec 05, 2005 3:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Dec 05, 2005 3:36 pm    Post subject: Reply with quote

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 :wink:
_________________
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
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31283
Location: here

PostPosted: Mon Dec 05, 2005 3:45 pm    Post subject: Reply with quote

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
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 31283
Location: here

PostPosted: Mon Dec 05, 2005 3:47 pm    Post subject: Reply with quote

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 :wink:

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
View user's profile Send private message
DGilmour
Tux's lil' helper
Tux's lil' helper


Joined: 28 Aug 2005
Posts: 132
Location: Abbadia San Salvatore

PostPosted: Mon Dec 05, 2005 4:06 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Mon Dec 05, 2005 4:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
ProT-0-TypE
Veteran
Veteran


Joined: 20 Dec 2003
Posts: 1624
Location: Cagliari

PostPosted: Mon Dec 05, 2005 4:43 pm    Post subject: Reply with quote

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 :D
_________________
[Vuoi guadagnare navigando?]
Back to top
View user's profile Send private message
IlGab
Guru
Guru


Joined: 26 Nov 2004
Posts: 486

PostPosted: Mon Dec 05, 2005 5:12 pm    Post subject: Reply with quote

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
View user's profile Send private message
ProT-0-TypE
Veteran
Veteran


Joined: 20 Dec 2003
Posts: 1624
Location: Cagliari

PostPosted: Mon Dec 05, 2005 5:17 pm    Post subject: Reply with quote

Ho controllato bene e postgres supporta i vincoli sulle chiavi esterne. Ragione in più per usare postgres :D
_________________
[Vuoi guadagnare navigando?]
Back to top
View user's profile Send private message
.:chrome:.
Advocate
Advocate


Joined: 19 Feb 2005
Posts: 4588
Location: Brescia, Italy

PostPosted: Mon Dec 05, 2005 5:59 pm    Post subject: Re: Progetto di un grosso data server... Reply with quote

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
View user's profile Send private message
makoomba
Bodhisattva
Bodhisattva


Joined: 03 Jun 2004
Posts: 1856

PostPosted: Mon Dec 05, 2005 6:35 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum