A fierce battle rages on in the database industry
When it comes to database structure, companies essentially have a choice: relational (SQL) or non-relational (NoSQL). The former organize the data in a series of tables and have a predefined schema, while the latter have dynamic schemas for unstructured data. But what is better?
With the rise of cloud and container technology, the open-source, relational database system PostgreSQL (or Postgres as it is affectionately known) is showing remarkable versatility. Although he’s been around for over three decades, he’s not afraid to learn new tricks from his younger NoSQL cousins.
TechRadar Pro spoke with Marc Linster, CTO of open source database company EDB, to learn about the benefits of Postgres and the qualities that set it apart from proprietary and non-relational alternatives.
How relevant are relational databases in the era of NoSQL?
NoSQL stands for “not just SQL,” and that is why Postgres is clearly the winner of the DB-Engines Rankings, Stackoverflow Developer Survey, and the Cloud Native Computing Foundation’s Database Technology Radar.
Postgres, unlike other relational databases, is built on an object-relational architecture. This is why it is the 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 over 25 years ago, is driving the rapid adoption of Postgres by developers and DBAs. DB-Engines Ranking Shows Postgres Adoption Outpaces MongoDB; the same is reflected in the CNCF Tech Radar and in the Stackoverflow survey.
Relational-only databases do not exhibit similar adoption trends and may become less relevant over time.
EDB has been a Postgres store 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’ legacy helps make him stronger as he matures. It is the # 1 database in containers and a key component of all cloud provider database services. Cloud native offerings, such as EDB’s Cloud Native Postgres operator for Kubernetes, continue to make Postgres easier and more accessible to a wider audience.
Many traditional, commercial, and proprietary databases have experienced a decline, but Postgres has seen tremendous growth alongside the cloud. The fact that Postgres is open source, cost effective, innovative, powerful and extremely reliable has contributed to this growth. Postgres also operates under the same permissive license everywhere, which is another reason for its growing popularity.
Postgres, open source and cloud adoption, as well as Kubernetes and microservices all have one thing in common: rapid innovation driven by the need for digital transformation, high speed of functionality, and better fit to market. some products.
The key change we’ve seen is the maturation of infrastructure as code, whether through Kubernetes operators or through tools like Ansible, which enable fast and repeatable Postgres deployments on-premises, in the cloud, and in the DevOps environments.
Scalability is one of the advantages that NoSQL databases claim over relational databases. How has Postgres evolved in this aspect?
Over 95+% of all databases today comfortably accommodate advanced computer servers available today in the cloud or on-premises. Very few applications really need horizontal scaling at a time when 96 or more cores are regularly available in the cloud and in most data centers. One argument historically made by supporters of horizontal scaling has been that it is difficult to scale computation and memory up and down.
Infrastructure as code technology, like Kubernetes and Ansible, makes scaling CPU and memory resources very simple and fast – much easier and faster than scaling.
Also, keep in mind that scaling across multiple servers means high latency, as more data travels over the network, which is much slower than a server’s backplane or data bus. of a modern high density chip.
At the same time, with the advent of microservices, we are seeing many more “smart” designs that refactor very large databases into smaller, smarter architectures. It’s much easier to fix issues up front with a good design, rather than trying to fix them afterwards by throwing hardware at them. Fortunately, Kubernetes and micro-services encourage smart designs.
What aspects do relational databases in general and PostgreSQL in particular score against compared to NoSQL databases?
Often, NoSQL is used as a synonym for “term consistency”, and relational actually means “ACID” (atomic, consistent, isolated, durable). ACID-compliant databases are highly reliable and the results of operations in these environments are highly predictable. It is essential for business transactions, accounting operations and any other data management task that requires 100% reliability. Additionally, most analytical tools are designed to work with tables and relationships. Often, NoSQL formats, like documents, must first be mapped into tabular structures in order to perform analysis. This is also true for map reduce, which takes unstructured data and puts it in 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.
As more and more organizations adopt a multi-cloud strategy and mix their cloud databases with those hosted on-premises, how well does PostgreSQL lend itself to such an interoperable environment?
Postgres has chosen the POSIX (Portable Operating System Interface) abstraction layer as its interface to the operating system. This allows it to work virtually anywhere and is why it works in every cloud, in containers, with all key operating systems, and with virtually all hardware platforms. EDB has many customers who have strategically decided to develop based on the Postgres API, as it allows them to build applications that can be deployed wherever needed.
Unlike other commercial databases which limit some of their functionality for high availability to their own cloud, there are no such restrictions with Postgres. EDB Postgres delivers the same highly available and always-on Postgres across all platforms, not just 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 open source PostgreSQL community from the very beginning. How important is this relationship for commercial vendors with a business model based on open source software?
Nothing we do would be possible without a vibrant, independent and innovative Postgres community. EDB is a strong supporter of the community. We have nearly 30 full-time EDBers who are appointed as Postgres contributors, commiters or core team members, and we have 300 dedicated Postgres technologists, the most in the world by far. Being Postgres fanatics means we are relentlessly committed to continuing our investment in open source software and the community where we partner with Microsoft, VMWare, NTT, Fujitsu and many more to create the most transformative open source technology since. Linux.
As my colleague Dave Page, a member of the Postgres core team, says, “We collaborate on the code and we compete in the market.” This collaborative and symbiotic model is extremely important to the success of EDB and to the growing adoption of Postgres.