tizianocavigliablog

PostgreSQL

Geek   13.04.06  

Se state valutando l'uso di un database relazionale ad oggetti, che sia sviluppato sotto licenza in stile BSD, ma Firebird SQL e MySQL non vi piacciono potreste puntare decisi su PostgreSQL.

PostgreSQL nasce a Berkely con il nome di Ingres, solo nel 1985 evolve in Postgres (post-Ingres) grazie a Michael Stonebraker che punta a migliorare i limiti dei DBMS concorrenti di quegli anni.

Il progetto venne poi abbandonato dal team di sviluppo intorno al 1993, per poi risorgere qualche anno dopo grazie al mondo Open Source.
Yu e Chen, due studenti di Berkely, inserirono un interprete SQL in Postgres dando il via a quello che sarebbe divenuto Postgres95 e successivamente PostgreSQL.
Da allora si è imposto con un certo favore nella comunità dei DBMS.

Cerchiamo di capire i punti di forza della programmabilità di PostgreSQL.

Incremento delle prestazioni: viene ridotto il passaggio di informazioni tra il client ed il server.
PostgreSQL rende molto più semplice sviluppare applicazioni partendo dai dati grezzi immagazzinati.
Un database SQL normale utilizza delle "tabelle piatte" (flat tables) per contenere dati, sta poi all'applicazione prelevare questi dati attraverso una serie di query.
Questo processo richiede un tempo notevole di elaborazione.
PostgreSQL risolve l'intoppo permettendo la definizione di nuovi tipi di dati SQL, rendendo comprensibili al databese anche dati complessi.

PostgreSQL permette l'ereditarietà dei tipi di dati, questo permette di riutilizzare i tipi di dati sia all'interno dello stesso progetto sia per scopi futuri.

Grazie all'inserimento di livelli di astrazione dei dati sul server il codice del client risulta essere più semplice, pulito e snello.

Incremento dell'affidabilità: grazie alla centralizzazione del codice di controllo sul server.
Questo fa sì che non si debba gestire la sincronizzazione della logica tra più client e i dati memorizzati sul server.

PostgreSQL supporta molti linguaggi, partendo dai più diffusi Python, Perl, Ruby, Tlc fino al linguaggio nativo PL/PgSQL (molto simile al suo quasi omonimo PL/SQL di Oracle).
Le procedure che lo richiedono possono utilizzare la famiglia dei linguaggi C: C, C++ e C#.
Esiste infine anche un'interfaccia per il linguaggio di statistica e calcolo matriciale, R.

Ulteriore punto di forza è la possibilità da parte dello sviluppatore di inserire il codice sul server come se fossero funzioni, in questo modo il codice diventerà riutilizzabile come stored procedure e quindi potrà essere richiamato attraverso funzioni scritte in altri linguaggi.

Crosspost su Rhadamanth.net Weblog, Voice over IT.

LEGGI ALTRO...
Condividi il post di Tiziano Caviglia Blog su Facebook Condividi il post di Tiziano Caviglia Blog su Twitter Condividi il post di Tiziano Caviglia Blog su WhatsApp Condividi il post di Tiziano Caviglia Blog su Telegram Condividi il post di Tiziano Caviglia Blog via Email