Postgres is moving on up! But why?
In this blog post, we pull together some of the most important reasons – and show you how OtterTune can help improve one of the few important gaps in the Postgres story.
The origins of Postgres date back to 1986. It started as the POSTGRES project at Cal, led by Professor Michael Stonebraker, and now has more than 35 years of active development. Thanks to the dedicated, vendor-neutral community that continues to improve it, Postgres is on the rise.
OnGres founder Álvaro Hernández charts it: Postgres continues to climb the rankings compared to other established relational databases.
DB-Engines charts the popularity of databases, based on a number of components. Data has gravity, so the rankings tend to change slowly. (And commercial databases, unlike open source Postgres, have sales and marketing teams to promote them.) But Postgres has rocketed upward, relatively speaking, going from the sixth most popular database in 2012 to the fourth most popular in 2022.
The Postgres renaissance, especially during the last five years, continues as strong as ever due to several factors: Postgres’ rich set of features, mixing object storage and relational capabilities; its extensibility; and its status as an open source project, with a permissive open source license, giving users the right to use, copy, modify, and distribute the software and documentation for any purpose. Part of the reason the licensing is so important is that it allows private companies, including the cloud providers, to sell Postgres upstream (the unchanged open source code) and derivatives without permission or fees.
Another factor fueling Postgres’ ongoing resurgence is its ability to scale horizontally to meet the demands of giants like Google and Amazon. That wasn’t always the case for Postgres – or for most other relational databases, for that matter. But with Citus, an open-source extension to Postgres, it’s now easy to scale out Postgres across multiple nodes and intelligently distribute transactions and SQL queries to get massive parallelism.
An important reason that Postgres is popular with developers is that there are few surprises. Elija Zupancic, Director of Solutions Engineering at Joyent, cites great documentation, a wealth of relational database experience among developers, and familiar data types as the reasons Postgres is a “pleasure to use.” Postgres is also thriving because the datasets are “obscenely relational” – and there are benefits to database consistency.
Low cost never goes out of style
Perhaps the most important factor in Postgres’ popularity is cost. Many companies are migrating their databases from expensive legacy DBMSs like Oracle to less expensive open source alternatives such as Postgres and MySQL. According to Gartner, 70% of greenfield application development projects by 2022 are built on open source DBMSs instead of costly legacy databases.
Open source licensing is a lot less expensive than Oracle licensing. Oracle costs roughly $47,500 per CPU versus $0 for Postgres open source, or a few thousand dollars per CPU for commercially supported versions. Here’s a comparison of the costs, ease-of-use, and functionality.
Can you really rely on the open-source community and the Postgres community to fix bugs and get new features implemented? Yes. More than 35 years of active development has earned Postgres a strong reputation for reliability, feature robustness, and performance. Another concern for people familiar with Oracle: they often think Postgres has a steep learning curve. They wonder if it has detailed documentation (it does) – but especially for beginners, it may still seem daunting.
Can you configure and tune Postgres?
The other big question is whether you can tune Postgres to optimize its performance. After all, there’s no single company behind open source Postgres to help you tune it for each specific situation you use Postgres in.
Significant benefits can be realized by tuning the configuration settings for Postgres to fit your specific needs. However, with hundreds of settings to consider, most database users must rely on time-consuming trial and error tuning or boilerplate configuration settings that can leave databases well short of optimal performance. In contrast, OtterTune’s machine learning-based system automates tuning and continually adjusts the configuration to optimize the database for its specific, evolving workload.
Proof OtterTune Can Help
We ran a test that compared TPC-C benchmark performance for:
· Oracle using default configuration
· Oracle tuned by OtterTune
· Postgres default config
· Postgres tuned by OtterTune
The results show that OtterTune can automatically configure Postgres to run competitively with Oracle. It does this without you, the database owner, having to learn all the Postgres configuration knobs, or spending time tweaking them (via trial and error) to optimize Postgres performance. And you don’t risk the service interruptions that might occur if you mistakenly change the settings too much.
Migrate to open source with confidence, and OtterTune
If you’re considering moving your database workloads off expensive legacy databases and onto a lower cost, open-source DBMS such as Postgres, don’t let the open-source database learning curve or performance worries be a blocker. OtterTune automatic configuration can help. And this all happens safely—OtterTune does not need to access your user data.