Featured Blog Texture

Blog

View all

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

roachmates onboardingatcockroachlabs

press

The new stack: Meet CockroachDB, the resilient SQL database

The goal of CockroachDB is to make data easy. If you could take all the energy wasted wrestling with database shortcomings, and invest that time, money and engineering into making your company stronger and your product better, everyone would be better off.

jessica headshot

Jessica Edwards

October 30, 2015

System

SQL in CockroachDB: Mapping table data to key-value storage

<!–– Outdated blog post alert! CockroachDB no longer stores each non-primary-key column in a separate value by default. By default, all data in a table is stored in the same column family. Gory details available here. ––!>

Peter Mattis

Peter Mattis

September 16, 2015

Parallel-Commits-01-1

System

How CockroachDB does distributed, atomic transactions

Editor's Note - April 23, 2021: This article was written in 2015 when CockroachDB was pre-beta. The product has evolved significantly since then. We will be updating this post to reflect the current status of CockroachDB. In the meantime, the transaction section of the Architecture Document provides a more current description of CockroachDB's transaction model.

Matt Tracy

September 2, 2015

multinode3

System

Scaling Raft

In CockroachDB, we use the Raft consensus algorithm to ensure that your data remains consistent even when machines fail. In most systems that use Raft, such as etcd and Consul, the entire system is one Raft consensus group. In CockroachDB, however, the data is divided into ranges, each with its own consensus group. This means that each node may be participating in hundreds of thousands of consensus groups. This presents some unique challenges, which we have addressed by introducing a layer on top of Raft that we call MultiRaft.

Ben Darnell

Ben Darnell

June 12, 2015

CL Blog image 05-1

Company

Hello, world

Databases are the beating heart of every business in the world, running the gamut from humble spreadsheets to thousands of servers linked into vast supercomputers. And they’ve been evolving rapidly. Most of us at Cockroach Labs have spent our careers watching them progress, often actively struggling to overcome their limitations when the task at hand outstripped their capabilities. But first, why “Cockroach”? If you can get past their grotesque outer aspect, you’ve got to give them credit for sheer resilience. You’ve heard the theory that cockroaches will be the only survivors post-apocalypse? Turns out modern database systems have a lot to gain by emulating one of nature’s oldest and most successful designs. Survive, replicate, proliferate. That’s been the cockroach model for geological ages, and it’s ours too. It doesn’t hurt that the name itself is resilient to being forgotten.

Spencer Kimball

Spencer Kimball

June 4, 2015

Webinar resource image basic Scale Happens

Scale & Resilience

How DoorDash manages 1.9PB and 1.2M QPS across 300 clusters

How does DoorDash keep 1.9PB of data and 1.2M QPS highly available? That’s the kind of question that keeps enterprise engineers up at night. And while the right database software can make it easier, achieving high availability at scale is never easy.

charlie

Charlie Custer

February 7, 2024

warped downtime

System

The Costs of Planned vs Unplanned Downtime

Ever been cruising along on some work that’s going really well when your laptop suddenly bricks? Or maybe you’re about to join an important meeting when Zoom announces it has to update right now and takes itself offline to install and restart? We’ve all been there. Which means we have all experienced first hand the disruption, the frustration, and occasionally the keyboard-pounding rage of downtime. Now imagine 100000 x’ing that pain up to full-scale organization level where downtime happens for everyone, all at the same time. We’ve all seen the headlines: Airline Cancels Thousands of Flights Due to Network Outages or Cloud Region Failure Makes Retailer Websites Go Dark on Black Friday, Busiest Shopping Day of the Year. The technical definition of downtime is “a period of time when technology services are unavailable to users”. This elegant simplicity, however, completely misses both the potentially serious business impacts and the deeply human pain that results whenever downtime disrupts work. The online sports betting service whose customers simply switch their wagers to a competing platform (and then never come back) The business traveler parent who misses their kid’s birthday party because their flight got canceled, or the small artisan counting on Black Friday sales to take their business into the black.

 Michelle Gienow

Michelle Gienow

March 13, 2024

Page 87 of 98

Get started for free

bg callout one