Distributed SQL database vendor Cockroach Labs has updated its CockroachDB database with new automation and scalability features.
CockroachDB 22.1 became generally available on May 24 and is the first major update for the database since the CockroachDB 21.2 release in November 2021.
Based in New York, Cockroach Labs has raised $633 million in venture capital, including a $160 million round in January 2021. The basic idea behind CockroachDB is to enable a distributed and highly resilient database that can't easily fail or die, much like how it's hard to kill a cockroach in the physical world.
The CockroachDB 22.1 update integrates a new administrative API that aims to make it easier for developers to programmatically access the database in DevOps and automation tools. The new update also includes more visibility into database operations to improve performance and operational efficiency.
The market for distributed SQL databases is growing as vendors look to help organizations scale out deployments. Among the key players competing in the market is distributed SQL database vendor Yugabyte, which raised $188 million in October 2021. Google recently released its AlloyDB database as a new entrant in the niche.
AlloyDB, Yugabyte and CockroachDB all have varying degrees of compatibility with the open source PostgreSQL database. A gap that CockroachDB has said it is working to fill is enabling even more PostgreSQL compatibility.
CockroachDB users set to employ distributed SQL database updates
Among CockroachDB's users is digital product development firm RapidOps, based in Charlotte, N.C., which uses the distributed SQL database to power its Salesmate custom sales platform.
Dipesh PatelCo-founder and CTO, RapidOps
The company started out using MySQL, but that database wasn't able to scale to meet the demands of Salesmate as usage grew, said Dipesh Patel, CTO and co-founder of RapidOps.
CockroachDB now serves as a system of record for Salesmate because it addresses the company's needs in a distributed database that includes horizontal scaling capabilities, efficient backup and restore processes. It also includes the ability to tie data to a specific geographic location, Patel said.
A key challenge for Patel is enabling automation across the RapidOps environment, which wasn't quite as easy as he said he might have wanted in previous releases of CockroachDB.
"When it comes to 22.1 specifically, we are most excited about the new API because it will enable our engineering teams to programmatically control the provisioning, scaling and monitoring of our clusters," Patel said.
CockroachDB 22.1 distributed SQL database adds admission control
One of the capabilities in the CockroachDB 22.1 update is a feature the vendor calls admission control.
Admission control was available as a preview in an earlier release, but it wasn't turned on by default, said Peter Mattis, CTO and co-founder of Cockroach Labs.
The capability is important because it allows the system to automatically deprioritize certain operations when it gets overloaded. A system can get overloaded for a number of reasons, including bugs in software that cause resource contention or a database operation failure.
Admission control works by providing the ability to delay database operations like a schema change when the overload condition is triggered, in order to give higher priority to maintaining availability and performance for the database as a whole.
The CockroachDB 22.1 distributed SQL database, in addition to turning on admission control by default, provides configurable quality-of-service options for running workloads.
"If you have multiple microservices running on a cluster, you can prioritize the traffic of one of those microservices over another," Mattis said.
Time-to-Live capabilities bring new data management option
One of the more esoteric, yet significant, features in CockroachDB 22.1 is a capability known as Time to Live (TTL), which specifies how long a given row or data entry should exist in the database before it is deleted.
"It's very common that you have a table that you want to insert into and the data is only useful for some period of time, " Mattis explained. "Maybe the data is only useful for a week, and then a report is run and then the data is no longer useful."
Before the CockroachDB 22.1 distributed SQL database update, users had to manually delete the old data or write a custom script to remove data that was no longer useful. With TTL, users can now automatically have older data removed.
But deleting data with TTL also uses resiliency capabilities in the database, just in case the data that was removed is needed at some future point, with a feature called multi-version concurrency control, Mattis said.
"So when you delete a piece of data, it still exists for a period of time," he said.
Filling the PostgreSQL compatibility gap in the future
A key goal for Cockroach Labs is to create as much compatibility as possible with the open source PostgreSQL database.
One missing piece is support for user-defined functions, which enable users to execute custom operation on data inside a SQL query, such as a data transformation.
"We strive for full Postgres compatibility, and we're gradually approaching it," Mattis said.