[an error occurred while processing this directive]
diff logo Informatica e sistemi alternativi
su questo sito sul Web
    Home   Chi siamo    Contattaci    Scrivi per diff    Proponi un argomento 08/12/24
    Cos'è diff    Come accedere    F.A.Q.    Promuovi    Dicono di diff    Amici di diff    
AmigaOS
Linux
FreeBSD
BeOS
OpenSource
Java
Database
Informatica
Hardware
E-Commerce
Narrativa

PostgreSQL:
Portando l'E-Business a un nuovo livello
di Ned Lilly
traduzione di Gianluca Torta

Articolo originale  in lingua inglese apparso su WebTechniques.com  in data 1 gennaio 2001.


I DBMS (DataBase Management Systems) sono di importanza cruciale per il commercio sul Web, con un mercato di 11,1 miliardi di dollari nel 1999, secondo la International Data Corporation (IDC).
Attualmente, le grandi compagnie private dominano il mercato, con Oracle, IBM e Microsoft che da sole si sono spartite il 70% delle vendite dello scorso anno. I DBMS open-source, però, stanno migliorando costantemente, e le funzionalità da essi offerte saranno presto comparabili a quelle dei prodotti commerciali.
Ognuno dei 3 maggiori database open-source - PostgreSQL, InterBase e MySQL - ha ormai stabilito una sua base di utenti ed è orientato verso specifiche esigenze di business. PostgreSQL è il più avanzato dei tre, e anche quello con maggiori possibilità di sfidare la supremazia dei database commerciali.

I maggiori competitori

Molte compagnie Web che necessitano di sistemi informativi con maggiori funzionalità, potenza e flessibilità stanno volgendo la loro attenzione alle opzioni offerte dall'open-source.
Dal sistema operativo al Web server, al DBMS, un numero crescente di business sta realizzando che le applicazioni open-source sono non solo perfettamente adatte all'e-commerce, ma costituiscono anche attraenti alternative ai costi stellari delle licenze e alla lentezza del ciclo di sviluppo delle applicazioni proprietarie.

Tra le opzioni open-source per un DBMS, PostgreSQL è la più robusta oltre che l'unica a supportare il modello object-relational.
PostgreSQL (conosciuto anche semplicemente come Postgres) è stato sviluppato in open-source fin dall'inizio e sta evolvendo velocemente grazie al supporto di una comunità di sviluppatori appassionata e molto attiva.
Da una release alla successiva, Postgres aggiunge nuove importanti funzionalità nel tempo di qualche mese, equivalenti a quelle che richiedono anni per essere implementate da una compagnia privata.
Test e manutenzione vengono effettuati in modo esaustivo da centinaia di fedeli e entusiasti sviluppatori e utenti che fissano i bug e riportano risultati di uso in ogni tipo di applicazioni, configurazioni e piattaforme. L'ultima versione di PostgreSQL, 7.0.3 (novembre 2000), è ormai vicina a rimuovere gli ultimi ostacoli per una vasta adozione del prodotto a livello enterprise. La successiva release, 7.1 (febbraio/marzo 2001), si posizionerà molto probabilmente come seria minaccia ai giganti commerciali regnanti oggi. La licenza di distribuzione di questo software, che deriva dalle sue radici alla Università di Berkeley in California, è tra le più semplici e meno limitanti tra quelle open-source, il che costituisce un altro aspetto di attrazione per l'uso da parte dei business.

Un altro contendente è InterBase, un maturo database relazionale che inizialmente era una applicazione closed-source. Con l'obiettivo di ottenere l'aiuto di sviluppatori di talento e di estendere la base di utenti, la Inprise Corporation ha rilasciato InterBase 6.0 per Linux, Solaris e NT sotto una variante della Mozilla Public License.
La release include un maggiore supporto dello standard ANSI SQL e tool di amministrazione e configurazione migliorati. Quando gli utenti che accedono contemporaneamente sono pochi, InterBase è veloce sia su semplici letture che su join complesse, ma la sua efficienza degrada drasticamente sotto lo stress di molte query e molti utenti in contemporanea.
Poiché InterBase usa una architettura senza condivisioni, quando il numero di utenti aumenta esso deve partizionare i dati in lotti sempre più piccoli, il che porta a un degrado di prestazioni. Questo grave problema verrà quasi certamente risolto se InterBase riuscirà ad attirare l'attenzione di sviluppatori open-source esperti. Purtroppo, il programma è nuovo per il mondo open-source e ancora manca di una base di sviluppatori consistente.

MySQL è fondamentalmente un diverso prodotto da Postgres o InterBase, con diversi punti di forza e scopi. È un database semplificato che serve velocemente dati a un numero limitato di utenti. La sua velocità in lettura, insieme alla facile integrazione con linguaggi di Web scripting quali Perl e PHP, lo rende il favorito dai Webmasters.
MySQL è adatto a processare semplici dati su siti Web ed è una buona scelta per la creazione di siti a traffico relativamente limitato. Il progetto è recentemente passato da uno schema di licenze piuttosto limitante alla Gnu Public License (GPL) adottata da molti progetti open-source, e ha cominciato ad aggiungere elementi presi da altro software esistente per colmalare i suoi limiti rispetto a PostgreSQL e InterBase.

I tempi di Berkeley: storia di PostgreSQL

Il più diretto antenato di PostgreSQL è stato Ingres, sviluppato alla Università di Berkeley in California (dal 1977 al 1985). Il codice di Ingres fu ampliato da Relational Technologies, successivamente chiamata Ingres Corporation, produttrice di uno dei primi database server relazionali di successo commerciale. Michael Stonebraker, anche lui alla UC Berkeley, guidò lo sviluppo di un database object-relational chiamato Postgres (dal 1986 al 1994). Due studenti post-laurea di Berkeley, Jolly Chen e Andrew Yu, aggiunsero più tardi un parser SQL a Postgres. Gli utenti iscritti alla sempre più popolare mailing list del programma (di pubblico dominio) continuarono ad inviare bug fix e miglioramenti.

Nell'estate del 1996, in risposta all'esigenza di un database SQL open-source, si formò un gruppo per continuare lo sviluppo di Postgres.
Mark Fournier di Toronto accettò di ospitare la mailing list e fornire un server per il source tree, e tre altri sviluppatori si fecero fortemente coinvolgere nel loro tempo libero. Con un migliaio di iscritti alla mailing list, c'era un server configurato per dare ad alcuni sviluppatori l'accesso per applicare patch al codice sorgente.
Più avanti in quello stesso anno, il nome del sistema fu cambiato da Postgres95 a PostgreSQL per onorare sia le sue origini a Berkeley che il suo supporto per SQL. Inizialmente il progetto ebbe difficoltà nell'attrarre sviluppatori capaci, poiché il codice era ben strutturato ma altamente complesso. Alla fine, però, la stimolante sfida rappresentata dal progetto, insieme alla coesione del gruppo fondatore e una buona organizzazione, iniziarono ad attrarre sviluppatori esperti.
Una comunità di appassionati utenti, progettisti e sviluppatori di PostgreSQL fu stabilita e continua a prosperare. (La "sede" online di PostgreSQL si trova a PostgreSQL.org).

Uno sguardo più approfondito a PostgreSQL

Nella sua ultima release, PostgreSQL è totalmente compatibile con l'entry level dello standard ANSI-SQL-92, e supporta la maggior parte dei costrutti SQL, inclusi transazioni, sub-select, e tipi e funzioni definiti dall'utente.
La compatibilità con gli standard è critica perché un database open-source sia accettato, ed è un altro modo in cui le tecnologie open-source possono ulteriormente differenziarsi dalle soluzioni chiuse e proprietarie della competizione.
Le infrastrutture aziendali, spesso gestite da diverse generazioni di esperti IT, devono essere in grado di interoperare con il codice e le applicazioni attuali. PostgreSQL supporta un numero di sistemi operativi open-source e proprietari, inclusi Linux, i diversi sistemi BSD (Berkeley Software Development), Solaris, HP-UX, AIX, Irix e Windows NT/2000.
PostgreSQL è attualmente in grado di fornire una potente infrastruttura tecnologica ad un vasto insieme di aziende che necessitano di un sito Web, una intranet, una extranet, e applicazioni e-commerce per condurre il loro business.

PostgreSQL è cresciuto in modo significativo dalla versione 6.5 alla 7.0.
Molte delle migliorie riducono drasticamente o eliminano limitazioni presenti nella versione precedente. La nuova release conta più di 70 bug fix, 100 aggiunte funzionali e più di 30 migliorie di prestazioni, molte delle quali sono trasparenti all'utente, ma enormemente utili agli sviluppatori e amministratori del database, e illustrano il crescente divario qualitativo tra PostgreSQL e i suoi più lenti competitori closed-source. Alcune di queste migliorie includono:

  • Chiavi Esterne (Foreign Keys): sono completamente implementate, con l'eccezione delle chiavi esterne PARTIAL MATCH
  • Ottimizzatore: l'ottimizzatore offre una migliore esecuzione delle query e relative prestazioni con minore uso di memoria
  • Update di psql: il terminal monitor interattivo (psql) ha nuove funzionalità
  • Razionalizzazione dei tipi date/time: i tipi date/time sono ora compatibiliti son lo standard SQL, rimpiazzando le precedenti implementazioni parziali con una implementazione completa.
    La visualizzazione di default dei valori date/time è ora in stile ISO (International Organization for Standardization)
  • Limitazione ad 8 argomenti: è stata rimossa sia sugli indici delle chiavi che sulle funzioni. Il massimo numero di chiavi in un indice o argomenti ad una funzione è ora configurabile, con un default di 16, al posto del valore costante 8 presente nella precedente release
  • Ordinamenti e hash: ora funzionano con più di 2GB di dati. I file temporanei possono essere partizionati allo stesso modo delle relazioni troppo grandi, dunque il volume di dati è limitato solamente dallo spazio disponibile su disco anzichè dalla dimensione massima di un singolo file

Con la versione 7.1 Postgres diventerà un serio competitore, eliminando le attuali barriere funzionali all'area delle applicazioni di enterprise business.
Finora, una sua adozione in larga scala è stata impedita da preoccupazioni circa la sua flessibilità, integrità dei dati, e capacità di memorizzazione i dati di grandi siti Web. Postgres è il primo database open-source a supportare certi "esotici" tipi di dati custom e modi di analisi, per esempio la visualizzazione di dati geometrici tridimensionali, per le informazioni geospaziali usate nelle applicazioni di crittografia.
Per assicurare che i dati non possano essere persi, la prossima versione di Postgres includerà un logging "write-ahead" per il re-do (ripetizione) delle operazioni, una rete di sicurezza per i dati persi, e la gestione di dati "mission-critical" sarà un obiettivo prioritario. Rimuoverà anche il limite di block-size per le righe, e includerà il supporto per i comandi OUTER JOIN.

PostgreSQL al lavoro nel mondo reale

La maggior parte degli utenti di database open-source sono sviluppatori di software (soprattutto Web), e-business di piccola o media dimensione, integratori di sistemi, e rivenditori a valore aggiunto. Queste aziende integrano i database con altre applicazioni open-source, anche se molti database open-source possono essere installati su piattaforme proprietarie.

Wireless Developer Network (wirelessdevnet.com), un portale online per sviluppatori nel campo delle tecnologie di comunicazione wireless, si basa su 12 server con PostgreSQL, Linux Red Hat, Web server Apache, e scripting PHP. Questa rete usa PostgreSQL 7.0 per la gestione del contenuto e come nucleo per le applicazioni e-commerce come la vendita di libri, bacheche, mailing list, e condivisione di software. Insieme a GeoCommunities (geocomm.com), suo "fratello" che usa la stessa piattaforma, serve 150.000 utenti ogni mese. Questi siti non hanno finora subito crash o perdita di dati, secondo l'editore capo della rete Bryan Morgan.

Inizialmente, WDN e GeoCommunity erano basate su piattaforme Oracle e Microsoft. Morgan racconta di aver incontrato problemi di efficienza e sicurezza con Microsoft IIS, e che non necessitava realmente di tutti gli "abbellimenti" - né degli alti costi delle licenze - del sistema Oracle.
Quando WDN e GeoCommunity decisero di unificare le loro piattaforme, scelsero di creare un sistema completamente basato su open-source. Morgan sostiene che Linux Red Hat 6.2 e PHP si integrano perfettamente con Postgres.

Ready Set Net ((readysetnet.com), una azienda di sviluppo Web che crea sistemi informativi e offre servizi di Web-hosting a clienti appartenenti a Fortune 5000, rappresenta un buon esempio di come i prodotti open-source possano soddisfare una grande varietà di clienti.
I clienti spaziano dalla catena di ristoranti California Pizza Kitchen, al leader industriale Nordisk Aviation, a giganti nel settore delle rivendite come Just Sports. Risulta che il 98% dei clienti di Ready Set Net che dipende da siti Web con database, basi il suo sistema sul database PostgreSQL 7.0, con sistema operativo Linux Slackware 7.0.
Il co-fondatore e direttore tecnologico Gavin Roy afferma che Postgres gestisce milioni di richieste al giorno sulla sua rete di siti.

Tempo di cambiamenti

I business Web necessitano applicazioni di database sempre più complesse e mission-critical, dalla gestione delle relazioni con la propria supply-chain e i propri clienti all'analisi e data mining, il tutto insieme ad un vasto numero di funzionalità e-commerce.
Con la crescita della dimensione e delle esigenze di tali business, molti si stanno accorgendo che lo sviluppo proprietario closed-source non è sufficientemente flessibile né dinamico per tenere il passo. I database open-source offrono alle aziende un maggior controllo sul software, e permettono di adattarlo alle richieste in continuo cambiamento dei loro modelli di business.

Così tante aziende stanno realizzando il potenziale del software open-source, che la Forrester Research ha recentemente predetto che i prodotti open-source cambieranno radicalmente l'industria del software entro il 2004.
Internet stessa si è sviluppata in un ambiente open-source, quindi non dovrebbe sorprendere che il modello di sviluppo open-source abbia generato alcune delle migliori applicazioni e tool per i business Web-based. Gli analisti della Forrester Research hanno suggerito che entro pochi anni, gli sviluppatori "imprigionati" nei sistemi proprietari non saranno più capaci di competere con le "orde di rivoluzionari armati da Internet" che costituiscono le comunità di sviluppo open-source, implicando un futuro collasso del modello di sviluppo closed-source. Uno dei sostenitori di tali modelli, il presidente di Oracle Larry Ellison, ha recentemente stupito i suoi ascoltatori dicendo che "la scelta non è necessariamente una cosa positiva quando si tratta di configurare soluzioni di business". Il mercato dei database open-source sul Web è pronto alla sfida.


Ned è vice presidente dello sviluppo open-source alla Great Bridge LLC, una nuova azienda che si occupa a livello professionale di marketing, supporto e servizi per sistemi PostgreSQL e altre competitive applicazioni open-source.

DATABASE
OPENSOURCE
E-Commerce


Dott. Gianluca Torta
Laureato con il massimo dei voti in Scienze dell'Informazione presso l'Università degli Studi di Torino con una tesi di ricerca sui formati di interscambio di documenti ed informazioni.
Appassionato di informatica e IT, ha alle spalle anni di consulenza presso aziende del gruppo FIAT e IBM, ha svolto attività di ricerca presso lo CSELT a Torino dove ha approfondito gli studi sui Workflow.
Dopo alcuni anni trascorsi a Redmond presso la Microsoft dove ha partecipato allo sviluppo di BizTalk, è tornato in Italia come ricercatore presso l'Università di Torino dove si occupa di sistemi di diagnostica automatica per l'industria aerospaziale.

Puoi contattare l'autore scrivendo a:
torta@diff.org


 


La tua opinione su quest'articolo ci sarà utile per la scelta dei contenuti dei prossimi articoli, per cortesia lasciaci un tuo parere su quello che hai letto:
nome:
email:
eta:
Professione
Commento:
Gradimento:
Utile Interessante Continuate con quest'argomento

© 1999,2000,2001,2002 NonSoLoSoft di Ferruccio Zamuner (Italia)- tutti i diritti sono riservati