Per chi mi conosce nel mondo professionale, sa benissimo che considero PostgreSQL come il migliore database in circolazione e che lo utilizzo in quasi tutti i progetti in cui posso decidere il database in cui appoggiare i dati .
Sono passati dieci anni dalla prima volta che l’ho conosciuto per puro caso.
La storia d’amore è iniziata nel 2012, quando sviluppando un sistema informatico basato interamente su Visual FoxPro e, dovuto alle dimensioni che stavano assumendo i dati storici, era già necessario utilizzare un motore di database più potente di quello incluso in modo nativo in Visual FoxPro.
Fino ad allora avevo lavorato con MS-SQL, MySQL e la neonata MariaDB.
Dovevo decidere a quale dei suddetti RDBMS affidare i dati del sistema gestionale che sviluppavo e gestivo per una società privata in quel momento.
Prove di Rendimento
Così ho iniziato ad allestire un piccolo server dove installar il database, con hardware non eccellente.
L’idea era quella di provare ad installare separatamente su dispositivi con una configurazione identica e simulare uno stress di dati per verificare quale dei database otterrebbe un risultato migliore.
Pochi giorni prima dell’inizio del test, sono stato contattato da un programmatore esterno a cui l’azienda per cui lavoravo aveva incaricato di creare un’applicazione per i dispositivi Windows CE.
Tra le altre cose, abbiamo parlato un po’ di gestione dei dati e mi ha detto che per ragioni di costo, quando un cliente non voleva investire in licenze MS-SQL, si affidava a PostgreSQL.
È stata la prima volta che ho sentito parlare di PostgreSQL. Per questo, ho iniziato a cercare più informazione su questo database e ho imparato come installarlo per i test che stavo per iniziare.
Essendo che era l’ultimo della lista, l’ho provato per ultimo, non ostante che per motivi economici nella mia mente ero già propenso ad usare MySQL o MariaDB.
Risultati sorprendenti
I risultati mi sorpresero, perché credevo davvero che MySQL avrebbe avuto prestazioni migliori nel mio scenario, ma è stato PostgreSQL a fornire risultati migliori in termini di prestazioni e velocità di scrittura dei dati.
Un altro dettaglio che ho analizzato durante il test di ciascun database è stato il prezzo.
Apparentemente MySQL è gratuito, ma leggendo attentamente la licenza d’uso, indica chiaramente che è gratuito solo se il suo utilizzo è non commerciale, cioè se un’azienda svolge attività a scopo di lucro (quale azienda no!?) la licenza va pagata, non tanto quanto il prodotto Microsoft, ma va pagata.
La licenza di PostgreSQL è 100% Open Source.
Inizio con PostgreSQL
Per questo motivo ho iniziato ad approfondire lo studio di questo database, che all’epoca dei fati, se non ricordo male, era alla versione 8.23.
Ogni volta che ho studiato le cose che questo database potrebbe fare, sono rimasto molto colpito dalla sua semplicità nel fare cose che negli altri database sono a volte un po’ più problematiche e complesse.
Un esempio? vediamo, in MySQL non c’è (almeno quando ho fatto i test) il tipo di dato booleano (vero/falso) ma il programmatore deve gestire (per quello ci pagano!) e utilizzare un valore numerico intero per attribuire 1 o 0 .
Nessun problema mi dirette, si ma non è un dato nativo del database e questo può complicare le cose se per errore scriviamo (in qualsiasi modo) un valore diverso da 0/1 (sempre possibile nel tipo di dato integer) e allora possono sorgere dei problemi.
PostgreSQL, d’altra parte, ha quel tipo de dato in modalità nativa (vero/falso) e non c’è modo di assegnargli un altro valore.
Un altro esempio? la gestione delle date all’inizio mi ha lasciato senza parole per la semplicità come interpreta il valore attribuito, dando la corretta interpretazione dell’ordine giorno/mese/anno.
Di più? La conversione del tipo di dato è semplicissima, senza la necessità di utilizzare comandi complessi, è sufficiente posizionare un simbolo :: seguito dal tipo di dato e boom! lo fa senza problemi.
Studiando PostgreSQL
Mi sono iscritto ad un corso nella città di Prato nella Toscana, dove ho avuto il piacere di incontrare e condividere opinioni con sviluppatori che partecipano attivamente alla scrittura del codice PostgreSQL e da allora sponsorizzo e utilizzo questo potente database .
PostgreSQL è un DBRMS open source, cioè puoi usarlo gratuitamente, rispettando i principi dell’Open Source che sono dettagliati nella sua licenza d’uso
In questi 10 anni di lavoro con PostgreSQL non sono mai stato deluso dalle sue prestazioni, e per questo motivo tutti i dati nei miei sistemi, salvo rarissime eccezioni, sono affidati a questo motore di dati.
In questo Blog troverai molti articoli che toccano vari aspetti che potrebbero essere utili quando si lavora con PostgreSQL.
Quando non utilizzo PostgreSQL?
Quando non è possibile farlo.
Questo blog è un esempio. Poiché l’azienda che fornisce l’hosting del mio dominio non offre PostgreSQL come database, ho dovuto affidarmi a MySQL per la gestione dei dati di questo BLOG.
Ma come detto prima, quando tocca a me, la scelta sarà sempre PostgreSQL come database!