PostgreSQL cresce, abbraccia Windows

Alla sua quasi ventennale storia, uno dei più noti database open source aggiunge ora una pietra miliare, la versione 8.0. La prima a supportare nativamente la piattaforma Microsoft

New York (USA) - "La più importante release di sempre". Così Gavin Sherry, uno dei maggiori collaboratori del progetto open source PostgreSQL, ha definito la nuova versione 8.0 del celebre server di database. Tale entusiasmo, secondo gli sviluppatori, è giustificato dal fatto che PostgreSQL 8.0 introduce novità tecniche rilevanti, tra cui la capacità di girare nativamente sotto Windows e il supporto a funzionalità mutuate dai costosi rivali closed source.

Fra le novità più in vista di PostgreSQL 8.0 c'è senza dubbio il supporto nativo per le versioni di Windows con kernel NT, una caratteristica che gli consente di girare sotto la piattaforma di Microsoft senza più bisogno di uno strato di emulazione software (Cygwin). Il risultato, a detta del team di sviluppo, è che il database fornisce ora prestazioni alla pari o superiori a quelle di molti prodotti proprietari che girano sotto Windows.

"Windows ha una base installata molto grande e PostgreSQL non può permettersi di ignorarla", ha detto lo sviluppatore Claudio Natoli. "Nel mio caso, l'azienda per cui lavoro necessitava di una singola soluzione di database che girasse su tutte le piattaforme dei nostri clienti, incluso Windows".
La nuova release di PostgreSQL include poi alcune nuove funzionalità che promettono di migliorarne scalabilità, funzionalità, affidabilità e prestazioni. Le tre più importanti sono:

- Punti di salvataggio (savepoints): una caratteristica che fa parte dello standard SQL e che permette l'annullamento di singole parti di una transazione senza dover interrompere l'intera operazione. È di beneficio agli sviluppatori di applicazioni business che possono aver bisogno di transazioni complesse con possibilità di recupero dagli errori;
- Ripristino da un punto nel tempo (point in time recovery): permette il completo recupero dei dati a partire dagli archivi delle transazioni (scritti ed archiviati automaticamente e continuamente). Fornisce un'alternativa alle copie di sicurezza giornaliere od orarie per servizi mission critical;
- Spazi di tabella (tablespaces): consentono la memorizzazione di tabelle ed indici su dischi dedicati o su insiemi di questi, migliorando i tempi di esecuzione delle query. Sono spesso fondamentali per l'amministrazione di database molto grandi, nell'ordine di svariati gigabyte.

In PostgreSQL 8.0 gli sviluppatori sostengono poi di aver migliorato l'utilizzo della memoria e dell'I/O grazie all'adozione di nuovi algoritmi e funzioni per la gestione della cache e della scrittura su disco. Queste migliorie dovrebbero tradursi in una maggiore prevedibilità dei carichi di lavoro e in un incremento delle prestazioni durante i picchi di massimo utilizzo.

A dimostrazione del crescente interesse riservato dall'industria a PostgreSQL, lo sviluppo della nuova versione del database è stata finanziata da oltre una dozzina di aziende, tra cui Red Hat e Fujitsu.

"Crediamo che le nuove caratteristiche orientate alle imprese attrarranno un gran numero di nuovi utenti su PostgreSQL", ha affermato Takayuki Nakazawa, responsabile del gruppo di sviluppo di database open source per la Fujitsu. "Fujitsu è orgogliosa di sponsorizzare i contributi allo sviluppo di PostgreSQL e di lavorare con la sua comunità. Il nostro scopo è rendere PostgreSQL il server di database di riferimento."

Tutte le maggiori novità di PostgreSQL 8.0 sono elencate qui, mentre la sezione dei download è qui.
166 Commenti alla Notizia PostgreSQL cresce, abbraccia Windows
Ordina
  • Scusate se lo posto qui, purtroppo sui SW patents su PI fino a lunedì ci sarà solo il trafiletto fra le "Ultime flash" e sarebbe troppo tardi.

    C'è poco tempo, lunedì il consiglio d'Europa cercherà di fregare i ministri della pesca e dell'agricoltura infilandogli i SW patents nell'ordine del giorno.
    http://www.groklaw.net/article.php?story=200501210...

    La petizione ai ministri dell'agricoltura per chiedere che respingano questa ennesima furbata su http://www.ffii.org/
    non+autenticato
  • stavolta mi sa che ce la fanno... (purtroppo)
    non+autenticato
  • Salve..
    premetto che sono ignorante in materia di DataBase... ma che differenza ci sono fra i due Database, cioè sono due programmi che fanno la stessa cosa, quindi in diretta concorrenza fra loro o sono proprio diversi ?
    bye
    non+autenticato
  • Completamente diversi. MySQL (almeno nella sua incarnazione attuale) punta tutto alla velocità, a discapito di altre feature più evolute. Postgres appartiene ad una famiglia di RDBMS di molto più alto livello e mette a disposizione caratteristiche fondamentali per lo sviluppo di applicativi più complessi. Al pari dei migliori RDBMS Postgres mette a disposizione trigger, viste, query annidate, transazioni, funzioni definibili dall'utente e una miriade di altre caratteristiche. MySQL, da parte sua, è molto più semplice da utilizzare, probabilmente molto più veloce nell'esecuzione e molto più adatto a sviluppare piccoli applicativi (va per la maggiore per le applicazioni web based, infatti): ma va in crisi già quando deve eseguire una query annidata e, per avere un abbozzo di transazione, deve utilizzare le tabelle InnoDB che gli fanno perdere quel primato di velocità di esecuzione che lo rendeva così interessante.

    In sostanza, MySQL e PosteGres appartengono a due categorie molto distanti di RDBMS. C'è da dire, però, che MySQL AB non resta a guardare la concorrenza, ed ha sviluppato un RDBMS compatibile con MySQL, MaxDB, che promette tutte le caratteristiche che mancano a MySQL.
    non+autenticato
  • supporta anche le transazioni e le query super annidatissime, certo non è il top in velocità, me per applicativi medi anche web, non noti la differenza

    direi che mysql va bene per semplici soluzioni che richiedono molti accessi simultanei, ma ad esempio non sarebbe adatto nemmeno per un gestionale classico

    PostgreSQL l'ho provato una volta e mi sembra abbastanza completo, almeno delle funzioni essenziali, peccato che abbia qualche bug di troppo
    non+autenticato

  • - Scritto da: Anonimo
    > supporta anche le transazioni e le query
    > super annidatissime, certo non è il
    > top in velocità, me per applicativi
    > medi anche web, non noti la differenza
    >
    > direi che mysql va bene per semplici
    > soluzioni che richiedono molti accessi
    > simultanei, ma ad esempio non sarebbe adatto
    > nemmeno per un gestionale classico
    >
    > PostgreSQL l'ho provato una volta e mi
    > sembra abbastanza completo, almeno delle
    > funzioni essenziali, peccato che abbia
    > qualche bug di troppo

    L'hai provato UNA volta e spari sentenze su qualcosa che é appena stato rilasciato ex novo???

    Access un database?

    Sei un mito!A bocca aperta
    non+autenticato
  • > Salve..
    > premetto che sono ignorante in materia di
    > DataBase... ma che differenza ci sono fra i
    > due Database, cioè sono due programmi
    > che fanno la stessa cosa, quindi in diretta
    > concorrenza fra loro o sono proprio diversi
    > ?

    Per potere comprendere appieno le differenze serve una conoscenza più che approfondita dei gestori di banche dati, altrimenti rimane la solita insulsa lista di parole e paroloni che lasciano un pò il tempo che trovano.

    Scusa, non è per essere polemico, ma è l'argomento che è complesso nonostante sia pieno di ragazzetti presunti espertoni che fanno gara a chi ce l'ha più duro.
    non+autenticato
  • > Salve..
    > premetto che sono ignorante in materia di
    > DataBase... ma che differenza ci sono fra i
    > due Database, cioè sono due programmi
    > che fanno la stessa cosa, quindi in diretta
    > concorrenza fra loro o sono proprio diversi
    > ?
    > bye

    Per semplificare si puo' dire che Mysql e' stato sviluppato tenendo presenti la semplicita' d'utilizzo e la velocita', PostgreSQL ha come obiettivo di incorporare piu' funzionalita' possibili.
    non+autenticato
  • Da non dimenticare che postgres gestisce allo stesso modo senza degrado di prestazioni stringhe e varchar : in fase di progettazione db è una grandissima comodità impostare un campo text di lunghezza indefinita senza stare a spallarsi coi varchar (campo testo su cui si possono fare delle ricerche con espressioni regolari oltre alle vecchie like)
    non+autenticato
  • e aggiungo che ha superato da tempo il limite degli 8k per record che mssql mi risulta avere ancora
    non+autenticato
  • > e aggiungo che ha superato da tempo il
    > limite degli 8k per record che mssql mi
    > risulta avere ancora

    8k per record ed ancora meno per gli indici

    ci sono due considerazioni da fare:

    1) puoi usare i campi TEXT/IMAGE che supportano fino a 2GB di testo/valori (o NTEXT fino a 1GB di testo Unicode)

    vero che non è pratico ne trasparente usarli fino alla prossima versione dove ci sarà il varchar(max) che arriva ad avere le stesse dimensioni ma può essere usato ovunque e con tutte le funzioni che operano sui varchar (per inciso mssql non supporta regular expressions e non credo siano incluse nello standard, cosa auspicabile ma che va trattata con la dovuta delicatezza perché la gente tende ad abusare di queste cose... a buon intenditor...)

    2) a parte casi estremi e patologici (che ci sono e quindi si tratta comunque di una limitazione) uno schema di più di 8k di larghezza (non tenendo conto dei blob) spessisimo implica che chi lo ha modellato dovrebbe tornare sui banchi di scuola
    non+autenticato
  • Quello che ostacola enormememnte l'uso di questi
    "motori" per DataBase nelle piccole e medie imprese;
    che si occunpano dello sviluppo della maggioranza applicazioni ...

    e' la mancanza di tool per la realizzazione rapida
    delle applicazioni ...

    e la scarsa qualità dei driver odbc (velocità) per interfacciarsi a questi motori .....
    Ho provato a usate Access o Visual Basic come front end ma sono una vera ciofeca in quanto a prestazioni


    Adesso sto usando :

    http://www.fabforce.net/dbdesigner4/

    un programma bellissimo ma:

    1) Lo sviluppo del medesimo e' stato interrotto e i bug che ci sono non verrano mai risolti...
    e' stato scritto in kilinx e diosacosa

    2) Funziona decentemente solo su Windows

    3) L'applicazione e' solo lato server (Apache+Mysql+PhP)

    4) manca la gestione dei report di stampa



    Soluzione:

    L'ideala sarebbe che Open Office si interfacciasse direttamente a questi motori ...
    non come fa adesso tramite odbc che oltre che compromettere la portabilità dell'applicazione ...
    la rente talmente lenta che e' inutilizzabile


    Saluti

    non+autenticato

  • - Scritto da: Anonimo
    > Quello che ostacola enormememnte l'uso di
    > questi
    > "motori" per DataBase nelle piccole e medie
    > imprese;
    > che si occunpano dello sviluppo della
    > maggioranza applicazioni ...
    >
    > e' la mancanza di tool per la realizzazione
    > rapida
    > delle applicazioni ...
    >
    > e la scarsa qualità dei driver odbc
    > (velocità) per interfacciarsi a
    > questi motori .....
    > Ho provato a usate Access o Visual Basic
    > come front end ma sono una vera ciofeca in
    > quanto a prestazioni

    Per un momento ho letto JDBC, ma mi rendo conto che le altre accozzaglie sono instrinsecamente più lente
    non+autenticato

  • - Scritto da: Anonimo
    >
    > Per un momento ho letto JDBC, ma mi rendo
    > conto che le altre accozzaglie sono
    > instrinsecamente più lente

    JDBC ....

    neppure lui e' un fulmine di guerra ....

    IMHO

    Finchè non nascono dei RAD che gestiscono la connessione in maniera Nativa il Collegamento con il DBMS (MySQL o PostgreSQL)

    le applicazioni per la piccola impresa ...
    Contabilità Fatturazione e Magazzino ...

    Saremo costretti a sorbircele ancora in VisualBasic e/o Access   ancora per molti anni ..


    Saluti


    non+autenticato

  • >
    > Saremo costretti a sorbircele ancora in
    > VisualBasic e/o
    > Access   ancora per molti

    secondo me .NET è eccezionale, altro che java, vabbè in fondo hanno fatto un copia e incolla di java; perchè utilizzare access quando c'è sql server msde?
    non+autenticato

  • - Scritto da: Anonimo
    >
    > >
    > > Saremo costretti a sorbircele ancora in
    > > VisualBasic e/o
    > > Access   ancora per molti
    >
    > secondo me .NET è eccezionale, altro
    > che java, vabbè in fondo hanno fatto
    > un copia e incolla di java; perchè
    > utilizzare access quando c'è sql
    > server msde?

    e' illogico ...
    oltre che meno efficente ...
    sparare alle mosche con i canonni di una corazzata !!!
    non+autenticato

  • - Scritto da: Anonimo
    >
    > - Scritto da: Anonimo
    > >
    > > >
    > > > Saremo costretti a sorbircele
    > ancora in
    > > > VisualBasic e/o
    > > > Access   ancora per
    > molti
    > >
    > > secondo me .NET è eccezionale,
    > altro
    > > che java, vabbè in fondo hanno
    > fatto
    > > un copia e incolla di java;
    > perchè
    > > utilizzare access quando c'è sql
    > > server msde?
    >
    > e' illogico ...
    > oltre che meno efficente ...
    > sparare alle mosche con i canonni di una
    > corazzata !!!

    te l'appoggio
    non+autenticato
  • - Scritto da: Anonimo
    > L'ideala sarebbe che Open Office si
    > interfacciasse direttamente a questi motori

    dba.openoffice.org/drivers/postgresql/
    non+autenticato

  • - Scritto da: Anonimo
    > - Scritto da: Anonimo
    > > L'ideala sarebbe che Open Office si
    > > interfacciasse direttamente a questi
    > motori
    >
    > dba.openoffice.org/drivers/postgresql/

    Molto interessante ...
    grazie !!!

    Questo Open Office 2.0 si annuncia interessantissimo !
    non+autenticato

  • > e' stato scritto in kilinx e diosacosa

    in kylix! cioè il delphi per linux infatti il programma funziona su windows come su linux......
    ....wake up..
    non+autenticato

  • - Scritto da: Anonimo
    >
    > > e' stato scritto in kilinx e diosacosa
    >
    > in kylix! cioè il delphi per linux
    > infatti il programma funziona su windows
    > come su linux......
    > ....wake up..

    Funziona in linux e' una parola grossa ....


    non+autenticato

  • - Scritto da: Anonimo
    >
    > - Scritto da: Anonimo
    > >
    > > > e' stato scritto in kilinx e
    > diosacosa
    > >
    > > in kylix! cioè il delphi per
    > linux
    > > infatti il programma funziona su windows
    > > come su linux......
    > > ....wake up..
    >
    > Funziona in linux e' una parola grossa ....
    >
    >

    da me funziona
    non+autenticato
  • Ora io sarò un po' principiante ma lavoro tutti i giorni sia con postgresql che con ms sql server 2003. Non mi posso interessare per evidente incompetenza sull'argomento del lato prestazioni delle query, ma certamente una osservazione la posso fare e cioè che mssql per girare decentemente richiede macchine molto potenti e con una vasta quantità di ram, mentre postgresql si accontenta del mio "umile" portatile centrino e di umili 512 mb di ram. Francamente il paragone non è fattibile, per far girare bene il server di microsoft ci vuole necessariamente una vera macchina server, in più ha tutte le complicazioni tipiche di un sistema microsoft (esempio: se voglio fare uno script bash che rinomina tutte le stored procedure o che cerca tutte le stored che contengono un certo termine, con postgresql ci metto trenta secondi, mentre con enterprise manager non si può _neanche_ cercare nel testo di una singola stored durante la modifica!).
    non+autenticato
  • > con ms sql server 2003.

    non esiste, o 2000 o 2005 beta

    > Non mi posso
    > interessare per evidente incompetenza
    > sull'argomento del lato prestazioni delle
    > query, ma certamente una osservazione la
    > posso fare e cioè che mssql per
    > girare decentemente richiede macchine molto
    > potenti e con una vasta quantità di
    > ram

    dipende dalle versioni e da come è configurato, il footprint alla partenza è di una 50ina di MB

    prova ad installarti la versione personal ed imposta per ogni database non di sistema la proprietà "autoclose" che rilascia le risorse allocate per il database alla chiusura dell'ultima connessione che vi accedeva (nota: da non utilizzare in ambiente di produzione)

    > mentre postgresql si accontenta del mio
    > "umile" portatile centrino e di umili 512 mb
    > di ram.

    dovresti vedere il footprint della developer di Oracle su un portatile...

    > Francamente il paragone non è
    > fattibile, per far girare bene il server di
    > microsoft ci vuole necessariamente una vera
    > macchina server,

    questo non è vero, su una macchina come la tua va bene MSDE o la Personal (io sul mio portatile uso la Developer e neppure con quella mi lamento)

    > in più ha tutte le
    > complicazioni tipiche di un sistema
    > microsoft (esempio: se voglio fare uno
    > script bash che rinomina tutte le stored
    > procedure

    monti cygwin ed usi osql.exe per processare le query, non ci vuole molto a tirare fuori la lista dei nomi delle procedure che devi rinominare e concatenarle con i comandi per fare il rename

    mi rendo conto che non sia la stessa cosa, ma ci si arrangia in quattro e quattro otto

    poi non capisco perché non dovresti farlo direttamente in Transact-SQL da Query Analizer, si tratta di un miserrimo ciclo su un cursore con la lista delle procedure che fa la EXEC della sp_rename... vedi tu

    > o che cerca tutte le stored che
    > contengono un certo termine, con postgresql
    > ci metto trenta secondi, mentre con
    > enterprise manager non si può
    > _neanche_ cercare nel testo di una singola
    > stored durante la modifica!).

    1) Infatti nessuno che sviluppi con SQL Server seriamente si sogna di usare Enterprise Manager per farlo basta usare il Query Analyzer dove puoi scriptare il comando di ALTER PROCEDURE nella finestra di edit dove puoi fare tutte le ricerche che vuoi. Impara ad usarlo.

    2) Non si capisce per quale motivo tu voglia fare una ricerca di un termine in tutte le procedure usando script e smanettamenti vari quando esiste un metodo standard ANSI per farlo, ad esempio per cercare tutte le procedure che contengono la stringa "CREATE TABLE":

    SELECT    *
    FROM INFORMATION_SCHEMA.ROUTINES
    WHERE ROUTINE_DEFINITION
    LIKE '%CREATE TABLE%'

    mi sa che prima di tirare giudizi sarebbe meglio studiare...
    non+autenticato

  • mssql per
    > > girare decentemente richiede macchine
    > molto
    > > potenti e con una vasta quantità
    > di
    > > ram
    >
    > dipende dalle versioni e da come è
    > configurato, il footprint alla partenza
    > è di una 50ina di MB

    A parte che il "girare decentemente" a cui ci si riferisce difficilmente sara' quantificabile dal footprint alla partenza e che io non giudico non avendo mai provato altri db ma, tanto per fare un confronto, i tre processi di cui consta il Postgresql 7.4 che ho sul portatile debian linux occupano in totale 36 Mb. Non ho grosse tavole.
  • > A parte che il "girare decentemente" a cui
    > ci si riferisce difficilmente sara'
    > quantificabile dal footprint alla partenza e

    Genio, il gira decentemente lo decidi in base a quanta memoria decidi di allocare per la cache.

    Se non lo configuri, di default SQL Server versione developer/standard ed enterprise si pappa tutta la memoria se ne ha bisogno, la personal ed MSDE sono meno aggressive.

    Come sempre RTFM visto che i Books Online di SQL Server sono pure fatti bene (scaricarsi la versione aggiornata però!)

    > che io non giudico non avendo mai provato
    > altri db ma

    vedo
    non+autenticato

  • - Scritto da: Anonimo
    > > A parte che il "girare decentemente" a
    > cui
    > > ci si riferisce difficilmente sara'
    > > quantificabile dal footprint alla
    > partenza e
    >
    > Genio, il gira decentemente lo decidi in
    > base a quanta memoria decidi di allocare per
    > la cache.

    ??? Lapalissiano. Nel thread si stava discutendo di rapporto performance - consumo di memoria, quindi non vedo cosa centri questa tua osservazione se non per dare ragione al parent...

    Tra l'altro, genio, la mia osservazione era a favore di MS perche' intendevo dire che un database che occupa meno memoria in partenza, in questo caso postgres, non e' necessariamente migliore solo per quello. Tanto per chiarire, il "girare decentemente" per me significa sorbirsi picchi di richieste rallentando se necessario (il meno possibile ovvio), ma senza crashare e trovarmi con dati inconsistenti.

    > Se non lo configuri, di default SQL Server
    > versione developer/standard ed enterprise si
    > pappa tutta la memoria se ne ha bisogno, la
    > personal ed MSDE sono meno aggressive.

    E su postgres analogamente cambi l'"effective cache size" a seconda delle tue esigenze. Bei discorsi ma cosa caspita c'entrano? mah.

    > Come sempre RTFM visto che i Books Online di
    > SQL Server sono pure fatti bene (scaricarsi
    > la versione aggiornata però!

    Mah se mssql gira sul mio desktop linux powerpc e diventa free software ne possiamo anche parlareOcchiolino

    > > che io non giudico non avendo mai
    > provato
    > > altri db ma
    >
    > vedo

    Colpa mia se postgres ha tutto quanto ho bisogno e centinaia di features che non usero' mai?Sorride Tu che di db hai molta piu' esperienza puoi tranquillamente tornare in topic e discutere della performance di mssql+win contro pg, sotto linux magari.
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 9 discussioni)