Yugabyte Improves Postgres Compatibility |
Written by Kay Ewbank |
Tuesday, 24 September 2024 |
YugabyteDB has been upgraded with what the developers describe as enhanced Postgres capability in the form of new capabilities and architectural enhancements that allow a broader range of Postgres apps to run on YugabyteDB. In practical terms, YugabyteDB now offers transactional semantics, retry logic, and change data capture (CDC) that works like Postgres. There's also a new Adaptive Cost-Based Optimizer (CBO), and smart data distribution. YugabyteDB already supported all PostgreSQL features, and is designed for cloud-native OLTP applications that need scalability, high tolerance to failures, or globally-distributed deployments. The updated version, YugabyteDB 2.19, is described as having evolved from a Postgres-compatible distributed database to a distributed PostgreSQL database. The Yugabyte team says this will offer developers better support for running Postgres applications on top of YugabyteDB. Karthik Ranganathan, co-CEO and co-founder of Yugabyte, says the latest release of YugabyteDB enables lift-and-shift portability; in other words offers the ability to run existing Postgres apps without having to change them: "We realized early on that it is infeasible to achieve runtime compatibility by building the PostgreSQL API from scratch. Instead, YugabyteDB reuses the PostgreSQL query layer to achieve full PostgreSQL compatibility." Yugabyte uses vanilla Postgres as-is for the query layer and replaces Postgres storage with YugabyteDB's own distributed storage engine. This means that when you connect to any node in a YugabyteDB cluster, you're actually connecting to a Postgres postmaster process. When your app executes a SQL query, a Postgres backend process handles and executes that request over a distributed cluster. The drive to ensure Postgres compatibility means developers can make use of the extensive ecosystem of tools, libraries, and frameworks built for Postgres, and can use existing knowledge and experience of Postgres. It also offers a safe option as there's always Postgres and other compatible databases available as a fallback plan. Yugabyte's new adaptive CBO is described by the Yugabyte team as extending the range of PostgreSQL's CBO for high-scale and multi-region applications. It determines an optimal query plan that considers whether data is co-located, automatically sharded, or even distributed across zones or regions. It also implements core Postgres capabilities including extended table statistics, parallel plans, and bitmap scans Another improvement is that YugabyteDB now automatically decides whether to colocate tables for lower latency, or shard and distribute them for scaling. This improvement is important because in the previous version of YugabyteDB, some apps didn’t achieve higher performance because of "subtle storage differences" between standard Postgres and YugabyteDB. The developers say that they had to give up on certain internal Postgres capabilities (such as bitmap scans or parallel queries), especially those tightly coupled with the Postgres storage layer. This has been overcome, and the developers have added back those elements of the intersection of the storage and query layers. To achieve this they say they have "taught" Postgres how to use Yugabyte's new cost-based optimizer, and how to run parallel queries, and make use of shared memory. YugabyteDB 2.19 is available now.
More InformationRelated ArticlesYugabyte Enhances Cluster Replication Hasura Unveils Data Delivery Network It's 2024. Why Does PostgreSQL Still Dominate? PostgreSQL 14 Is Here - A Look At Its Past And Future The Enduring Influence Of Postgres
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info |