E-Handbook: Open source database software finally gets down to business Article 1 of 4

Open source options get another look for database uses

Open source databases are hardly a new technology. On the relational side of the database ledger, MySQL and PostgreSQL both emerged in the mid-1990s. By 2008, MySQL had gained enough cachet that Sun Microsystems -- since absorbed by Oracle -- was willing to pay $1 billion for MySQL AB, the driving force behind the technology.

But while open source database software was widely used in web applications at that point, there was much less clamor for it in the traditional business world.

"Within mainstream enterprises 10 years ago, open source databases were generally regarded as a non-factor," RedMonk analyst Stephen O'Grady wrote in a March 2018 blog post. Many organizations deemed the transactional databases that supported core business applications "a bridge too far" for open source technologies, he added.

To quote the title of O'Grady's post: "What a difference a decade makes." Enterprise users are more readily adopting cloud database services, including open source ones, O'Grady wrote. He recounted seeing presentations at two conferences in 2017 by IT execs from large financial services firms that had fully migrated to the cloud-based PostgreSQL implementation offered by AWS.

In June 2018, Amazon CTO Werner Vogels wrote in his blog that Amazon Aurora, a relational database that's compatible with both MySQL and PostgreSQL, continues to be the fastest-growing service rolled out by AWS thus far. That's particularly noteworthy at a time when, as Vogels noted, a multitude of NoSQL databases has diminished the one-size-fits-all hegemony of relational software.  

Most NoSQL technologies are open source themselves, which is further helping to increase the open source model's footprint in database applications. This handbook examines the evolution of open source database software, its potential uses versus commercial database management systems and issues to consider before starting a deployment.