Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 918

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Database-SQL-RDBMS HOW-TO document for Linux (PostgreSQL Object Relational Database System): PostgreSQL gestisce Database Estremamente Estesi, pi&ugrave; grandi di 200 GB</TITLE>
 <LINK HREF="PostgreSQL-HOWTO-10.html" REL=next>
 <LINK HREF="PostgreSQL-HOWTO-8.html" REL=previous>
 <LINK HREF="PostgreSQL-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="PostgreSQL-HOWTO-10.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-8.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc9">Indice</A>
<HR>
<H2><A NAME="s9">9. PostgreSQL gestisce Database Estremamente Estesi, pi&ugrave; grandi di 200 GB</A></H2>

<P>PostgreSQL &egrave; gi&agrave; utilizzato da molte aziende che si appoggiano a grandi database.
Si suggeriscono le seguenti tecniche:
<H2><A NAME="ss9.1">9.1 Tipi di CPU: a 32-bit o 64-bit</A>
</H2>

<P>Quando la dimensione del database supera i 5 GigaByte, le prestazioni delle macchine con cpu a 32 bit
decadranno rapidamente. Potete far girare database di 30 GB su cpu a 32 bit, ma le
prestazioni saranno scadenti.
Le macchine con cpu a 32 bit impongono una limitazione di 2 GB alla RAM, di 2 GB alla dimensione del file system,
e altre limitazioni al sistema operativo. Usate il file system speciale per Linux,
realizzato da SGI, IBM o HP oppure ext3-fs, per supportare file di dimensioni maggiori
di 2 GB su macchine a 32 bit con Linux.
<P>Per database estremamente estesi, &egrave; fortemente consigliato
l'uso di macchine a 64 bit come le Digital Alpha, Sun Ultra-sparc con cpu a 64 bit,
Silicon graphics con cpu a 64-bit, Intel Merced con cpu IA-64,
macchine HPUX a 64bit o macchine IBM a 64-bit. Compilate PostgreSQL per cpu a 64-bit,
e potr&agrave; gestire database enormi, e grandi query. Inoltre le prestazioni di
PostgreSQL, per query su grandi tabelle e grandi database, saranno molto pi&ugrave;
rapide che su macchine con cpu a 32 bit. Il vantaggio di una macchina a 64 bit,
&egrave; che potete avere un grandissimo spazio di indirizzamento di memoria, e il sistema operativo
pu&ograve; supportare file system molto estesi, pu&ograve; fornire migliori prestazioni con
grandi database, pu&ograve; supportare memoria (RAM) molto maggiore, ha maggiori funzionalit&agrave;, ecc..
<P>
<H2><A NAME="ss9.2">9.2 CPU Multiple</A>
</H2>

<P>Per database estesi &egrave; consigliabile utilizzare box SMP che abbiano 4, 16 o
32 CPU. Alternativamente potete usare box con 4 o 5 CPU singole; in questo caso
si deve ripartire il database in 4 o 5 database separati, ed ogni database girer&agrave;
su un box separato. Ogni CPU sar&agrave; connessa con una scheda fast ethernet NIC (100MBit).
Per esempio: se avete 200 tabelle in un database,
potete distribuire 200 tabelle in 4 database da 50 tabelle l'uno.
In tal modo, potete distribuire il carico di lavoro equamente tra 4 macchine diverse.
Questa &egrave; un'alternativa economica a
un box di CPU a 4 vie. Per realizzare ci&ograve;, dovreste
effettuare <B>'Interrogazioni su database multipli'</B>,
il montaggio di NFS nella LAN,
e 'CREATE VIEW' per tabelle in sola lettura.
Cos&igrave; ogni CPU "pu&ograve; vedere" tutti i database, cio&egrave; tutte le
200 tabelle.
In futuro PostgreSQL potr&agrave; fornire supporto per <B>'Query su database
multipli'</B>; questa funzionalit&agrave; (gi&agrave; presente nella lista TODO), potr&agrave; apparire nell'imminente versione 7.1.
Ad esempio, le query tra database multipli, che usano gli alias a e b per i nomi delle tabelle,
possono apparire come segue:
<HR>
<PRE>
select a.col1, a.col2, b.col4, b.col7
from
        database1.mia_tabellaa a, database2.mia_tabellab b
where
        a.col1 = b.col3 and
        a.col4 = b.col9;

update mia_tabellaa
set
        col1 =  b.col2
from
        database1.mia_tabellaa a, database2.mia_tabellab b
where
        a.col4 = b.col9;
</PRE>
<HR>
<H2><A NAME="ss9.3">9.3 Server di duplicazione</A>
</H2>

<P>Un server di duplicazione per grandi aziende &egrave;
disponibile presso 
<A HREF="http://www.erserver.com">http://www.erserver.com</A>, e da 
<A HREF="http://www.pgsql.com">http://www.pgsql.com</A>.
L'assistenza &egrave; venduta ($$$$) commercialmente da
PostgreSQL Inc. Utilizzate un server di duplicazione per fornire ridondanza
ed elevata disponibilit&agrave;. Un server di duplicazione &egrave; un prodotto complesso e sofisticato.
<HR>
<A HREF="PostgreSQL-HOWTO-10.html">Avanti</A>
<A HREF="PostgreSQL-HOWTO-8.html">Indietro</A>
<A HREF="PostgreSQL-HOWTO.html#toc9">Indice</A>
</BODY>
</HTML>