
Blog
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
Performance
AWS, Azure, and GCP respond to the 2020 Cloud Report
In December 2019, we published the 2020 Cloud Report and an accompanying blog post, which summarized original research we conducted benchmarking the performance of Amazon Web Services (AWS), Microsoft Azure (Azure), and the Google Cloud Platform (GCP).
Paul Bardea
March 12, 2020
Company
In the wake of COVID-19: Virtual badge scans for Women Who Code
This past year, the Cockroach Labs marketing team introduced a novel way of collecting leads at large events. Instead of giving away swag (socks, tshirts, pens, etc.) to every person we met, we donated money to a non-profit. Our “contacts for charity” program was wildly successful, and at AWS Reinvent and KubeCon North America last year, we more than tripled our lead capture goals and donated over $14,500 to Women Who Code, the largest and most active community for technical women in the world.

Jim Walker
March 12, 2020
Tutorials
Tutorial: Build an app with Spring, Java, Hibernate, Gradle, and CockroachDB
Application development frameworks like SpringBoot have done a good job a giving developers a quick start to developing applications with Java. Layering object-relational mapping to SQL to remove proprietary syntax has further simplified the development of database applications. CockroachDB allows developers to take advantage in the evolution of globally distributed data with a simple SQL interface. But each database can bring it’s own specific syntax and cause developers to hesitate when getting started with a new database.

Glenn Fawcett
March 4, 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
Improving data imports in CockroachDB with `nodelocal`
This past fall, I had the opportunity to intern on the relatively new Bulk I/O team at Cockroach Labs. Our team’s focus is to improve bulk data operations on CockroachDB. My work involved creating a better experience when importing or backing up data without using an external storage service like Amazon’s S3 or Azure’s Blob Service. CockroachDB supports interacting with files in a node’s local storage system, through a feature called nodelocal. However, this has caused confusion and misuse due to its implementation, and the project I took on involved refining the user experience around nodelocal.
Georgia Hong
February 13, 2020
Product
How to use CockroachDB with your Django application on Ubuntu
Django is a high-level flexible framework for building Python applications quickly. Applications run on Django store data, by default, into a SQLite database file, but lots of Django users find themselves needing to switch to a more performant database in production, one with better availability or scalability.
Artem Ervits
February 10, 2020
Culture
Welcome Docs: Getting started at Cockroach Labs
Welcome, New Roacher! That’s how all of our Welcome Documents start, though you can expect yours to start with your name on top. Welcome Docs are how we help our new teammates get started and get past the natural new job jitters at Cockroach Labs. We understand there’s nothing worse than not knowing what to do or where to go on your first day, so we use Welcome Docs as a nice roadmap for this transition. In a previous blog about onboarding, I share how we structure Your First Weeks at Cockroach. We designed our onboarding process to be robust and informative, covering information about best practices at Cockroach Labs and providing an overview of our product, CockroachDB. However, it doesn’t account for the various nuances of each role, team, or department. That’s why our People team makes an effort to create personalized Welcome Docs to account for those specific role differences. In a partnership with hiring managers, we build the docs to make sure there’s clarity in what’s expected of you in your first 90 days. Here’s a bit more on what they look like:
Chelsea Lee
February 5, 2020
