YugabyteDB tempts devs with read-committed isolation levels
It's easier than retraining PostgreSQL devs, says distributed relational database startup
YugabyteDB, the self-styled double-decker distributed relational database, has introduced a read-committed isolation level, allowing for more flexibility for devs and bringing it into step with its more established RDBMS rivals.
With the general availability of YugabyteDB 2.15, the company behind the PostgreSQL-compatible database, said to be inspired by Google Spanner, claims to be adding performance enhancements and dynamic workload optimization.
Speaking to The Register, CTO Karthik Ranganathan, a former Facebook technical lead, said Yugabyte was the first and only distributed SQL vendor to offer all three PostgreSQL isolation levels, making it that much easier to shift existing applications to a distributed database with advanced support for the default PostgreSQL isolation level.
DB newbie? This is what we mean by isolation levels
Database isolation levels give users a guarantee of what data a transaction can see when it is running in parallel with other transactions. PostreSQL offers four levels of isolation. From strongest to weakest, they are:
- read repeatable,
- read committed,
- and read uncommitted.
YugabyteDB already offers the highest two levels of isolation, but developers wanted greater flexibility, Ranganathan said.
"We supported serializable and repeatable read, and all of our [distributed SQL] competitors only serializable. But the market said the default for every traditional relational database including Oracle, SQL Server, PostgreSQL, MySQL, and so on is read committed. We argued they're not cloud-native databases: they're older; we're modern. We don't want to do stuff that's unnecessary. They didn't relent at all.
"We had big customers telling us they could not move to 300 applications and retrain our developers to think in a new isolation model. They were saying they knew how to make applications safe using the isolation model, which gives them some level of guarantees and some level of flexibility and they didn't want to give that up. So finally, we capitulated and we built that.
"They want to have to support for the third – and a slightly weaker level of isolation – because that's the default in PostgreSQL. That's what most people use and what makes application building without handling restarts and failure cases much easier, even if it's inefficient."
- Rows, columns, and the search for a database that can do everything
- NoSQL player Aerospike links up with Starburst for SQL-based access to edge data
- Cassandra vendor DataStax secures $115m investment for $1.6b valuation
- Snowflake pledges row-based storage engine for transactional data
According to last week's StackOverflow survey, PostgreSQL was the most popular database among professional developers, although MySQL was almost on par.
YugabyteDB is available on the Apache 2.0 license after the company "went full open source mid-2019," Ranganathan said.
The 2.15 update also introduces dynamic workloads, which the company said would help organizations cover the widest set of existing and new transactional workloads with a single, unified database. It includes features such as dynamic app-aware database sharding, enhanced quality of service (QoS), and support for multi-tenancy.
Also new to the database is a built-in performance advisor that offers performance analytics and tailored recommendations, which the company said offered 20x faster data loading performance.
Filling in the gaps
Merv Adrian, Gartner research VP, data and analytics, said that YugabyteDB had secured nearly $250 million in funding over its last two rounds, and the tech announcements were designed to "fill a lot of the gaps that they and many of the other [distributed] vendors have in terms of enhanced Postgres."
"It's very important they target the developers. They care about those isolation levels. Read committed has been in PostgreSQL for a long time. But they've also got things like Change Data Capture, as well as the Cassandra API, which is a big deal," he said.
Not only would YugabyteDB have to compete with other database companies but also the cloud platform providers, each of which has PostgreSQL-like databases.
"If you don't have a pretty robust, maturing product, and a reasonable set of high-profile customers who are relying on you, it's going to be very difficult to compete with those platforms. YugabyteDB is getting there on all of these fronts. It's a horse race, they're on the track, and they've got a chance," Adrian said. ®