Blog
applications
How distributed SQL databases solve scale in the healthcare industry
Healthcare industry companies count on their database solutions to protect sensitive data and to deliver consistent performance. They also need the database to streamline communication between a complicated backend full of disparate systems. For most of the last 30 years this meant relying on Oracle because Oracle delivers the consistency required in an industry where lives are at stake and data must always be correct. The rise of cloud-native, distributed SQL database technology that offers a high level of consistency and horizontal scale is giving the healthcare industry a more flexible option.
Dan Kelly
June 29, 2020
Engineering
When and why to use SELECT FOR UPDATE in CockroachDB
We didn’t implement SELECT FOR UPDATE to ensure consistency. Unlike Amazon Aurora, CockroachDB already guarantees serializable isolation, the highest isolation level provided by the ANSI SQL standard. Contention happens. And application developers shouldn’t need to risk the integrity of their data when transactions contend. To combat this, CockroachDB must occasionally return errors prompting applications to retry transactions that would risk anomalies, such as write skews. This means that just like with PostgreSQL in serializable isolation, developers need to implement retry-loops for contended transactions. For developers accustomed to relational databases with lower isolation levels, this can be an unfamiliar pattern.
John Kendall
June 22, 2020
Product
Build an app with Active Record + CockroachDB
To make CockroachDB as accessible as possible, we’ve worked hard over the past six months to add compatibility with various Object Relational Mapping tools (ORMs). We started with ORMs for Python, Java, and Go. Now, we’re excited to announce full CockroachDB compatibility with Active Record, our first ORM for Ruby developers.
Meagan Goldman
June 17, 2020
Engineering
Nested transactions in CockroachDB 20.1
CockroachDB 20.1 introduces support for nested transactions, a SQL feature which simplifies the work of programmers of certain client applications. In this post, we'll explore when and where to use nested transactions, when not to use them, and how they work in a distributed environment.
Raphael Kena Poss
June 15, 2020
Product
How to get zero-downtime scaling from single-region to multi-region applications
CockroachDB offers a number of features aimed at making it easy to support your application in multiple regions. In CockroachDB 20.1, we introduced a new feature Online Primary Key Changes that allows you to upgrade your application from a single-region to multi-region with zero downtime. We wrote a bit recently about the technical challenges involved in building online primary key changes and in this blog post, we'll walk through some of the use cases and benefits the feature can lead to.
Andy Woods
June 11, 2020
Engineering
SIGMOD 2020: Cockroach Labs publishes research paper on CockroachDB
Over the past few months, a team of our engineers, technical writers, product managers, and sales engineers codified the research and learnings of CockroachDB and are now contributing this knowledge back into the very system from which we have benefited with the hope of further advancing distributed systems research and design. The research paper, "CockroachDB: The Resilient Geo-Distributed SQL Database", is a labor of love that we are honored to have published by SIGMOD, the Association for Computing Machinery's (ACM) Special Interest Group on Management of Data, which specializes in large-scale data management problems.
Jessica Edwards
June 10, 2020
Company
Louder than words: How to create positive change
Many of our employees, customers, partners, and the communities where we work and live are hurting. The Black community in America has already suffered disproportionately from COVID-19 through illness and unemployment. Exacerbating this, we are extremely saddened by the killings of Ahmaud Arbery, Breonna Taylor, George Floyd, and countless others across the United States. The murder of George Floyd has, again, highlighted the desperate need for police reform and racial justice in this country.
Spencer Kimball
June 4, 2020
Product
Cockroach University: Free, engaging online curriculum on modern database technology
Around 6 months ago, we launched Cockroach University to provide a way for people to learn CockroachDB in a structured environment with opportunities for hands-on experience. Since then, we have learned that it’s actually much more than that.
Will Cross
May 28, 2020
Engineering
How online primary key changes work in CockroachDB
As of our 20.1 release, CockroachDB supports online primary key changes. This means that it is now possible to change the primary key of a table while performing read and write operations on the table. Online primary key changes make it easier to transition an application from being single-region to multi-region, or to iterate on the schema of an application with no down time. Let’s dive into the technical challenges behind this feature, and our approach to solving them. As part of the deep dive, let’s review how data is stored in CockroachDB, and how online schema changes work in CockroachDB.
Rohan Yadav
May 21, 2020