Correva l'estate 2004 quando, per un mio progetto, mi misi a cercare un database gratuito...
Per prima cosa valutai lo strafamigerato MySql... imbattendomi subito in cocenti delusioni. Le prime furono tecniche: niente stored procedures, niente triggers, niente viste, niente UDTs... e infine... udite udite: addirittura niente check constraints! Le seconde stilistiche... mai vista niente di più lontano dagli standard SQL! Dulcis in fundo una bella nota sulla licenza: non risultava free per progetti di stampo commerciale...
Allora decisi di valutare il buon vecchio colosso PostgreSql... niente male, veramente cool l'eredità tra tabelle! La mia mente OOP già immaginava folli idee, ma non tardai a scoprire che le caratteristiche object oriented erano incomplete e vagamente inutili...
Per ultimo venne FirebirdSql... da quando mi sono ritrovato tra le mani questo "giocattolino" non ho più smesso di usarlo! Leggero, veloce, multipiattaforma... sintassi SQL/DDL/PL-SQL elegante e tutte le funzionalità che un developer può desiderare: stored procedures, user defined functions (C++/Delphi), triggers, views, domains (~ agli UDTs di SqlServer), events... per i SysAdmin quella fantastica feature chiamata online backup....
Giusto... e stavo dimenticando il meccanismo di two-phase-commit... mai visto niente di più ACID oriented...
Cosa avrei potuto desiderare di più?
Ovvio, un buon data provider .NET... e c'era anche quello...