Blog
Engineering
|Product
After choosing CockroachDB as your next-generation storage system, you may wonder, “How do we move our organization’s data into CockroachDB?”
Ryan Luu
July 17, 2024
Engineering
Unlocking Enterprise Scale with CockroachDB on Microsoft Azure
Welcome to our new blog series, "Unlocking Enterprise Scale with CockroachDB on Microsoft Azure." We'll explore how CockroachDB, our cloud-native distributed SQL database, can be leveraged on Microsoft Azure to achieve unprecedented scalability, resilience, and performance for enterprise applications.
David Joy
June 27, 2024
Engineering
A Powerful Partnership: How Cockroach Labs and mLogica Accelerate Mainframe and Legacy Database Modernizations
Moving past mainframes is a big decision, but it’s the right choice for a growing number of enterprises. The agility and scalability of cloud architectures are proving too advantageous for organizations to ignore, as they race to gain a competitive edge.
David Weiss
June 6, 2024
Engineering
Admission Control in CockroachDB: How It Protects Against Unexpected Overload
Admission control is the system in CockroachDB that prioritizes work during different types of node overload. In a properly sized cluster, where the work does not exceed the resource capacity, all work proceeds uninterrupted and effectively receives equal priority.
Jon St. John
May 14, 2024
Engineering
Raft is so fetch: The Raft Consensus Algorithm explained through "Mean Girls"
Raft is a consensus algorithm used in distributed systems to ensure that data is replicated safely and consistently. That sentence alone can be confusing. Hopefully the analogy in this post can help people understand how it works. In honor of national Mean Girls day (“on October 3rd he asked me what day it was”), I present the Raft Consensus Algorithm as explained through the movie Mean Girls. (For a great, more technical overview of Raft, we recommend The Secret Lives of Data).
Mikael Austin
Oct 3, 2023
Engineering
How to optimize garbage collection in Go
After publishing \\[a post about why we chose Go for CockroachDB](https://www.cockroachlabs.com/blog/why-go-was-the-right-choice-for-cockroachdb/), we received questions about how we deal with some of Go’s known issues — especially those related to performance, garbage collection, and deadlocks.
Jessica Edwards
Sept 26, 2023
Community
Engineering
Product
How to solve the `abandoned cart problem` using row-level TTL
We’ve all done it. Imagine you’re browsing around the AllSaints online shop, dreaming about refreshing your fall wardrobe. You find a couple items and add them to your cart. You continue browsing but then, for some reason, you don’t check out. Instead, you close the browser tab and move on. In the e-commerce world, this is what’s known as shopping cart abandonment.
Aydrian Howard
July 26, 2023
Engineering
Time, TIMETZ, Timestamp, and TimestampTZ in PostgreSQL
At Cockroach Labs, we’ve spent a lot of time getting our SQL semantics to match PostgreSQL as much as possible - all so that you can use the awesome PostgreSQL language with a powerful, distributed backend like! Getting this right involves getting the Time, TimeTZ, Timestamp and TimestampTZ types right - which has proven quite the quest! Numerous bugs have been filed and fixed - and with it, our mastery of these types in PostgreSQL (and the Go time library) has increased! In this blog post, we’ll explore some intricacies we’ve found with these data types in PostgreSQL, and look at how we reproduce some of these features using Go and its ecosystem. We’ll share our recommendations for using these types along the way.
Oliver Tan
July 10, 2023
Engineering
3 common foreign key mistakes (and how to avoid them)
Foreign keys are an important element of any relational database. But when you’re setting up your database schema, it’s relatively easy to create problems for yourself if the foreign keys aren’t set up correctly. Here are three of the most common mistakes made with foreign keys, and a little advice on how to avoid them!
Charlie Custer
June 28, 2023
Engineering
Performance Benefits of NOT NULL Constraints on Foreign Key Reference Columns
NOT NULL constraints are a ubiquitous tool for upholding data integrity. However, their performance benefits are less obvious. NOT NULL constraints provide a query optimizer with additional context that unlocks optimizations that significantly reduce query latency. In this post we’ll examine a few of these optimizations that transform query plans involving foreign key relationships.
Marcus Gartner
June 27, 2023