<!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ù 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ù grandi di 200 GB</A></H2> <P>PostgreSQL è già 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, è 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à gestire database enormi, e grandi query. Inoltre le prestazioni di PostgreSQL, per query su grandi tabelle e grandi database, saranno molto più rapide che su macchine con cpu a 32 bit. Il vantaggio di una macchina a 64 bit, è che potete avere un grandissimo spazio di indirizzamento di memoria, e il sistema operativo può supportare file system molto estesi, può fornire migliori prestazioni con grandi database, può supportare memoria (RAM) molto maggiore, ha maggiori funzionalità, ecc.. <P> <H2><A NAME="ss9.2">9.2 CPU Multiple</A> </H2> <P>Per database estesi è 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à su un box separato. Ogni CPU sarà 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 è un'alternativa economica a un box di CPU a 4 vie. Per realizzare ciò, dovreste effettuare <B>'Interrogazioni su database multipli'</B>, il montaggio di NFS nella LAN, e 'CREATE VIEW' per tabelle in sola lettura. Così ogni CPU "può vedere" tutti i database, cioè tutte le 200 tabelle. In futuro PostgreSQL potrà fornire supporto per <B>'Query su database multipli'</B>; questa funzionalità (già presente nella lista TODO), potrà 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 è 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 è venduta ($$$$) commercialmente da PostgreSQL Inc. Utilizzate un server di duplicazione per fornire ridondanza ed elevata disponibilità. Un server di duplicazione è 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>