Blog
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
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
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
Product
Announcing CockroachDB 20.1: New features let you build fast and build to last
At Cockroach Labs, we want to give you a database that allows you to quickly and simply build and manage data-intensive applications in the cloud—without worrying about the performance, scale or resilience of those apps. To support that mission, our latest release includes updates that let you build fast and build to last.
Product
Cockroach Labs raises $87 million of new investment, capping a year of exceptional growth
Cockroach Labs was founded on a hypothesis: modern, cloud-native applications will need a new type of database built on a distributed architecture to provide bulletproof resilience and elastic, effortless scale, and we can deliver it. We’ve been humbled and encouraged to see validation of our hypothesis over the past four years, from buzz and feedback on Hacker News, to open source adoption, to Github stars. Since launching our commercial product in 2018, we’ve seen companies large and small (including Equifax, Bose, and Comcast) adopt CockroachDB as their database of choice for mission-critical applications. And in the last twelve months, we’ve seen our first-year customers on average more than double the size of their CockroachDB deployments.
Product
Improving application performance with Duplicate Indexes
* As of CockroachDB 23.1 we no longer use the duplicate indexes topology pattern. Instead, we use global tables. When you’re distributing a SQL database geographically, it can be tough to get fast application performance. Data often has to make long, round trip journeys across the world and is restricted by a speed limit (the speed of light).
Piyush Singh
April 14, 2020
Product
Build a Go app with GORM for CockroachDB
Back in 2015 the early Cockroach Labs engineers made a decision to write this massive, complex application in Go. Since then we have, on many occassions, discussed our use of Go in blogs and on stage.
Dan Kelly
March 18, 2020
Product
What are hash sharded indexes and why do they matter?
I ended an amazing internship this past fall on the KV (Key-Value) team at Cockroach Labs (responsible for the transaction, distribution and replication layers of CockroachDB). This blog post delves into my work on adding native support for creating hash sharded indexes in CockroachDB, as a way to significantly improve performance on sequential workloads. CockroachDB uses range partitioning by default, as opposed to hash partitioning. As explained in our CTO Peter Mattis’s blog post, a key-value store with range partitioning resembles a distributed balanced tree whereas one with hash partitioning is closer to a distributed hash map. In particular, range partitioning outperforms hash partitioning for the most common SQL workloads like range scans. However, load under range partitioning can become imbalanced for access patterns that focus on a specific range of data, since all traffic is served by a small subset of all the ranges. Sequential insert traffic is a common example of such an access pattern and is much better suited to hash partitioning.
Aayush Shah
March 13, 2020
Product
Build a Java app with CockroachDB and jOOQ
As of jOOQ's 3.13.0 release, jOOQ fully supports CockroachDB. The CockroachDB SQL dialect is now fully supported for future jOOQ and CockroachDB versions.
Charlotte Dillon
February 19, 2020