PostgreSQL database

EDB / PostgreSQL: evolution and versatility

When it comes to database structure, companies basically have two options: relational (SQL) or non-relational (NoSQL). The former organizes data in a series of tables and has a predefined schema, while the latter has a dynamic schema for unstructured data. But which is better? 

With the rise of cloud and container technology, the relational and open source database system PostgreSQL (or Postgres, as it is affectionately called) is showing remarkable versatility. Despite having been around for more than three decades, it's not afraid to learn new tricks from its younger NoSQL cousins.

How important are relational databases in the NoSQL era?

NoSQL stands for "Not Just SQL", and that explains why Postgres is the clear winner in the DB-Engines ranking in Stackoverflow's developer survey.

Postgres, unlike other relational databases, is based on an object-relational architecture. That is why it is a leader in combining relational data with geospatial data, key-value pairs, document data and custom data types.

This key design decision, made by Mike Stonebraker more than 25 years ago, is driving the rapid adoption of Postgres by developers and database administrators. DB-Engines rankings show that Postgres adoption outpaces MongoDB.

Databases that are relational do not show similar adoption trends and may lose relevance over time.

EDB has been a commercial front end to Postgres since the early 2000s. What changes has the advent of cloud-native services had on traditional databases like PostgreSQL over the years?

Postgres has stood the test of time surprisingly well. In fact, Postgres' heritage helps strengthen it as it matures. It is the number one containerized database and a key component of all cloud vendor database services. Cloud-native offerings, such as EDB's Cloud Native Postgres operator for Kubernetes, continue the push to make Postgres easier and more accessible to a wider audience.

Many traditional, commercial, proprietary databases have experienced a decline, but Postgres has experienced tremendous growth in parallel with the cloud. The fact that Postgres is open source, cost-effective, innovative, powerful and extremely reliable has contributed to that growth. Postgres also runs everywhere under the same permissive license, which is another reason for its growing popularity.

Postgres, open source and cloud adoption, along with Kubernetes and microservices, have one thing in common: rapid innovation driven by the need for digital transformation, high feature velocity and better product market fit.

The key change we've seen is the maturation of infrastructure-as-code, either through Kubernetes operators or through tools like Ansible, which enable fast and repeatable Postgres deployments on-premises, in the cloud and in DevOps environments.

One of the advantages that NoSQL databases claim over relational databases is scaling. How has Postgres evolved in this regard?
More than 95% of all databases today fit comfortably on the advanced compute servers that are available today in the cloud or on-premises. Very few applications really need horizontal scaling at a time when 96 cores or more are routinely available in the cloud and in most data centers. One argument historically presented by horizontal scaling advocates has been that it is difficult to scale compute and memory up and down.

Infrastructure as code technology, such as Kubernetes and Ansible, makes scaling out CPU and memory resources very easy and fast, much easier and faster than scaling up.

Also, keep in mind that scaling to multiple servers means adding significant latency as more data travels across the network, which is much slower than the backplane of a server or the data bus of a modern high-density chip.

At the same time, with the advent of microservices, we are seeing a lot more "smart" designs that refactor large databases into smaller, smarter architectures. It's much easier to solve problems up front with a good design, rather than trying to solve them later by throwing hardware at them. Fortunately, Kubernetes and microservices encourage smart designs.

What are some aspects in which relational databases in general and PostgreSQL in particular score over NoSQL databases?

NoSQL is often used as a synonym for "eventual consistency", and relational is really intended to mean " ACID" (atomic, consistent, isolated, durable). ACID-compliant databases are highly reliable and the results of operations in these environments are highly predictable. This is key for business transactions, accounting operations and any other data management task that requires 100% reliability. In addition, most analytical tools are designed to work with tables and relationships.

\"EDB/PostgreSQL".
Database - ACID

Often, NoSQL formats, such as documents, must first be mapped into tabular structures to perform analysis. This is also true for map reduction, which takes unstructured data and puts it into a structured tabular and relational format to support queries.The nature of the relational model, especially the use of normal forms, provides the developer with a very powerful tool to avoid data redundancy and create data models that are not specific to a single use case.

With more and more organizations adopting a multi-cloud strategy and mixing their cloud and on-premises hosted databases, how well does PostgreSQL lend itself to such an interoperable environment?
Postgres has chosen the Portable Operating System Interface (POSIX) abstraction layer as its interface to the operating system. That allows it to run virtually everywhere and explains why it works in every cloud, in containers, with every key operating system, and with virtually every hardware platform. EDB has many customers who have strategically chosen to develop against the Postgres API, as it allows them to create applications that can be deployed wherever needed.Unlike other commercial databases that limit some of their features for high availability to their own cloud, there are no such restrictions with Postgres. EDB Postgres offers the same always-on, highly available Postgres on all platforms, not just on select hardware lines or proprietary clouds.

This extreme portability makes Postgres the ideal platform for hybrid or multi-cloud strategies.

EDB has had a symbiotic relationship with the PostgreSQL open source community since the beginning. How important is this relationship for commercial vendors with a business model based on open source software?

None of what EDB does would be possible without a vibrant, independent and innovative Postgres community. EDB is a strong supporter of the community. EDB developers nearly 30 full-time EDBers are named as contributors, committed or core Postgres team members, and with a community of 300 programmers dedicated to Postgres or should I say fanatical. Being fanatical about Postgres means being relentlessly committed to continuing the investment in open source software and the community in which other organizations such as Microsoft, VMWare, NTT, Fujitsu participate in creating the most transformative open source technology since Linux.

This is how I close this article, leaving the reader with the curiosity to think about how this transformation developed from bases built more than 25 years ago may today be the beginning of a new model for data management.

\Ò

Carlos Villaronga

Technical Lead

Scroll to Top