Featured Blog Texture

Blog

View all

highavailabilityincockroachdb blog art by christinachung-1

Culture

From 5 to 500: Lessons learned hiring for startups

Most founders agree that one of the greatest challenges that they face isn’t raising money or closing deals or finding partners. It’s finding people. In particular, finding great people who are interested and eager to take a chance on a startup. Turns out, hiring for startups is hard.

Lindsay Grenawal

Lindsay Grenawalt

April 27, 2016

Choosing-Index-Keys

System

Index selection in CockroachDB

In an earlier post we discussed how CockroachDB maps SQL table data and table indexes to key-value storage. In this post, we will go over some of the factors involved in choosing the best index to use for running a certain query.

Radu Berinde

April 21, 2016

10bxhb

testing

DIY Jepsen testing CockroachDB

We at Cockroach Labs absolutely love Aphyr’s work. We are avid readers of the Jepsen series – which some know as a high quality review of the correctness and consistency claims of modern database systems, but which we really know as “Aphyr’s hunting tales about the highest profile bugs in our industry.” Most of us read each new blog entry with a mix of thrill, excitement, and curiosity about which new system will be eviscerated and which exotic error will be discovered next.

Raphael Kena Poss

April 14, 2016

cockroachdb beta is here-1

Product

CockroachDB skitters into beta

``` We introduced Cockroach Labs last June with a simple yet ambitious mission: Make Data Easy. ``` We’ve spent the intervening months moving CockroachDB from an alpha stage product to launching CockroachDB beta. In the process, the team has nearly tripled in size and development has accelerated to a blistering pace. We’ve supplemented our original investment led by Peter Fenton of Benchmark with an additional round of funding, led by Mike Volpi of Index Ventures. We’re lucky to also count GV (formerly Google Ventures), Sequoia, FirstMark, and Work–Bench as investors.

 Spencer Kimball

Spencer Kimball

March 30, 2016

github digest for cockroachDB featured-2

Community

Creating a digestible GitHub digest

If you’ve ever “watched” a busy GitHub repository, your email inbox has discovered what it feels like to step in front of a firehose. If the project in question has active code reviewers, the problem is often worse by an order of magnitude. Every comment yields another email to all watchers. The CockroachDB repository’s weekly average is at 81 pull requests and 440 notification-generating comments. Most of us who once paid close attention to incoming changes have since lost the ability to do so; these days, monitoring the stream requires a superhuman effort. The mere mortals among us can only pay attention to the pull requests we’ve authored or are tasked with reviewing. What’s surprising is that the watching functionality provided by GitHub is so coarse-grained. The dial apparently only has settings for “0” and “11”.

 Spencer Kimball

Spencer Kimball

March 23, 2016

sqllite sql grammar diagram-e1457554225628

Engineering

Efficient documentation using SQL grammar diagrams

As CockroachDB approaches beta, user documentation has become increasingly important, and one of the meatiest requirements is documentation of our SQL implementation. For inspiration, I researched how other databases have documented SQL. The most effective example I found was SQLite’s grammar diagrams.

Matt Jibson

March 16, 2016

blog

Performance

Adventures in performance debugging

As we’ve built CockroachDB, correctness has been our primary concern. But as we’ve drawn closer to our beta launch, we’ve had to start paying significantly more attention to performance. The design of CockroachDB always kept performance and scalability in mind, but when you start measuring performance, there are inevitably surprises. This is the story of the detection, investigation, and fix of just one performance bug.

Peter Mattis

Peter Mattis

March 11, 2016

2020-cloud-report-header-bg

Engineering

Could CockroachDB ever replace Redis? An experiment

The goal of CockroachDB is to “make data easy,” and while it seems like a stretch now, we eventually want CockroachDB to be able to act as the entire state layer for web applications. We are currently addressing the SQL layer, and a full-text search like ElasticSearch is somewhere ahead on the product horizon. Since Cockroach Labs offered a flexible policy for work on experimental projects, I decided to use mine to experiment with implementing the Redis protocol on top of CockroachDB, attempting to answer the question: Could CockroachDB ever replace Redis?

Matt Jibson

February 4, 2016

gorm 1200x400 (1)

System

The cost and complexity of Cgo

Cgo is a pretty important part of Go: It’s your window to calling anything that isn’t Go (or, more precisely, anything that has C bindings). For CockroachDB, cgo lets us delegate a lot of the heavy lifting at the storage layer to RocksDB, for which no suitable replacement within the Go ecosystem exists, at least to the best of our knowledge. After some iterations, we’ve found that the right way to deal with these external libraries – of which we have quite a few – is to outsource them in Go wrapper packages:

Tobias Grieger

December 10, 2015

Get started for Free

bg callout one