Anirban Ghoshal
Senior Writer

YugabyteDB 2.19 gets new PostgreSQL-compatibility features

news
Sep 19, 20243 mins
DatabasesPostgreSQLRelational Databases

Yugabyte is evolving its database with the addition of a cost-based optimizer, bimodal query execution, and smart data distribution.

database, data management, ORM, object-relational mapping
Credit: alphaspirit.it/Shutterstock

Yugabyte is adding new features to the latest release of its database, YugabyteDB 2.19, aimed at evolving it from a Postgres-compatible distributed database to a distributed PostgreSQL database.

That seems like a fine distinction, but according to Yugabyte it means providing support for developers to run Postgres applications more easily on top of the database.

Karthik Ranganathan, co-CEO and co-founder of Yugabyte, told InfoWorld that his company wanted to provide a better lift-and-shift experience, allowing developers to run their existing Postgres apps on YugabyteDB without additional work, being able to scale when they need to without having to migrate to a different database.

YugabyteDB started its Postgres-compatible journey in 2017, initially building out a distributed database that reused the PostgreSQL query layer so that it looked and behaved just like Postgres.

“YugabyteDB retains all the power and familiarity of PostgreSQL while evolving it to an enterprise grade distributed database with built-in resilience, dynamic scalability, and multi-site distribution. In essence, we had built a Postgres-compatible distributed database,” Ranganathan said.

However, some developers faced challenges with query performance when porting applications from Postgres to YugabyteDB, prompting the company to continue innovating.

“Developers had to spend extra cycles optimizing their existing Postgres apps for YugabyteDB’s distributed nature,” Ranganathan explained, adding that the new features added to the latest version of the database address developers’ concerns, pushing it to behave more like a distributed PostgreSQL database.

The new features of YugabyteDB 2.19 includes a cost-based optimizer, bimodal query execution, and smart data distribution among others.  

Bimodal query execution engine for supporting scalable apps

The bimodal query execution feature, which is made possible by co-locating tables, helps developers with the lift-and-shift migration of small and midsize applications to YugabyteDB, the company said.

The new feature brings single-node PostgreSQL execution and classic distributed SQL execution together. While single-node PostgreSQL offers local execution for low latency, but no distributed execution, classic distributed SQL, on the other hand, offers distributed execution for resilience and scale, but with higher latency.

“Midsize applications running on single-node database instances can now effortlessly move to a fully distributed database environment,” Ranganathan explained, reiterating that as the app grows, YugabyteDB shifts seamlessly to fully distributed mode to provide the massive scaling benefits of distributed SQL, without needing to change databases.

Further, the company said that it had added a new distribution-aware cost-based optimizer (CBO) to the latest version of YugabyteDB in order to deliver PostgreSQL-like performance for any application.

The CBO was built to fully capitalize on YugabyteDB’s unique distributed storage layer and includes support for query pushdowns, LSM indexes, and batched nested loop joins, the company said, adding that the CBO was underpinned by a query optimizer testing framework that could be used to plan queries.

The CBO is available in preview presently, Ranganathan said.

Other updates include the introduction of PostgreSQL extension-pgvector in preview, transaction semantics just like PostgreSQL, transactional Async Replication, and simplified Disaster Recovery Workflows.