HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cockroachdb
cockroach
Go2014–2026
cockroachdb / cockroach

cockroach

CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.

114Distinct people
170Mentions
1Explicit recommenders
32.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

CockroachDB — the cloud native, distributed SQL database designed for high availability, effortless scale, and control over data placement.

GitHub

Where it is used

  • DoorDash — DoorDash runs CockroachDB as a fully abstracted internal database service for its engineering organization. DoorDash leverages it to meet availability goals at massive scale. Source
  • City Storage Systems — City Storage Systems uses CockroachDB to run Tier 0 applications, migrating their order management system and user authentication platform to it. They replaced some PostgreSQL use cases with CockroachDB for these critical apps. Source
  • 1 more documented example

What people are saying

Tried it before. Compatibility depends on how complicated your SQL is. There's a detailed list of supported syntax which is getting better every release but it's best for…

manigandham used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 7:24:48 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year170 dated mentions

Observed mentions: 2014-05-26 11:44:43 UTC to 2026-08-11 19:04:13 UTC.

010203040502014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 9 mentions; 6 submissions, 3 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 17 mentions; 2 submissions, 15 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 20 mentions; 0 submissions, 20 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 46 mentions; 1 submissions, 45 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 18 mentions; 1 submissions, 17 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 16 mentions; 0 submissions, 16 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 14 mentions; 1 submissions, 13 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC963
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC17215
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC20020
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC46145
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC808
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC18117
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC16016
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC14113
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC10010
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC312
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
CockroachDB is a cloud-native distributed SQL database designed to build, scale, and manage modern, data-intensive applications. What is CockroachDB? Docs Starting with Cockroach Cloud Starting with CockroachDB Client Drivers Deployment Need Help? Contributing Design Comparison with Other Databases See Also What is CockroachDB? CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data. For more details, see our product overview, FAQ or architecture document. Docs For guidance on installation, development, deployment, and administration, see our User Documentation. Starting with CockroachCloud We can run CockroachDB for you, so you don't have to run your own cluster. See our online documentation: Quickstart with CockroachCloud Starting with CockroachDB Install CockroachDB: using a pre-built executable or build it from source. Start a local cluster and connect to it via the built-in SQL client. Learn more about CockroachDB SQL. Use a PostgreSQL-compatible driver or ORM to build an app with CockroachDB. Explore core features, such as data replication, automatic rebalancing, and fault tolerance and recovery. Client Drivers CockroachDB supports the PostgreSQL wire protocol, so you can use any available PostgreSQL client drivers to connect from various languages. For recommended drivers that we've tested, see Install Client Drivers. For tutorials using these drivers, as well as supported ORMs, see Example Apps. Deployment CockroachCloud - Steps to create a free CockroachCloud cluster on your preferred Cloud platform. Manual - Steps to deploy a CockroachDB cluster manually on multiple machines. Cloud - Guides for deploying CockroachDB on various cloud platforms. Orchestration - Guides for running CockroachDB with popular open-source orchestration systems. Need Help? CockroachDB Community Slack - Join our slack to connect with our engineers and other users running CockroachDB. CockroachDB Forum and Stack Overflow - Ask questions, find answers, and help other users. Troubleshooting documentation - Learn how to troubleshoot common errors, cluster setup, and SQL query behavior. For filing bugs, suggesting improvements, or requesting new features, help us out by opening an issue. Building from source See our wiki for more details. Contributing We welcome your contributions! If you're looking for issues to work on, try looking at the good first issue list. We do our best to tag issues suitable for new external contributors with that label, so it's a great way to find something you can help with! See our wiki for more details. Engineering discussions take place on our public mailing list, cockroach-db@googlegroups.com. Also please join our Community Slack (there's a dedicated #contributors channel!) to ask questions, discuss your ideas, and connect with other contributors. Design For an in-depth discussion of the CockroachDB architecture, see our Architecture Guide. For the original design motivation, see our design doc. Licensing All versions released on or after November 18, 2024 (specifically, major version series v24.3 and later, and patch fixes for v23.1.29+, v23.2.16+, v24.1.7+, and v24.2.5+) are published under the CockroachDB Software License (CSL). Source code in a given file is licensed under the CSL and the copyright belongs to The Cockroach Authors unless otherwise noted in the file or in a LICENSE or README file located in the same or a parent directory of the file. Comparison with Other Databases To see how key features of CockroachDB stack up against other databases, check out CockroachDB in Comparison. See Also Tech Talks (by CockroachDB founders, engineers, and customers!) CockroachDB User Documentation The CockroachDB Blog Key design documents Serializable, Lockless, Distributed: Isolation in CockroachDB Consensus, Made Thrive Trust, But Verify: How CockroachDB Checks Replication Living Without Atomic Clocks The CockroachDB Architecture Document
Read the full README on GitHub

What Hacker News says

18 sources
(Cockroach Labs developer here) In CockroachDB parlance, a "cluster" is just some number of cockroach binaries that have local storage and can connect to one another via TCP/IP. It's entirely feasible to run a multi-node cluster on a single laptop by just starting several instances of cockroach bound to different port numbers. The Kubernetes concept of a "cluster" is a much broader term, encompassing the compute nodes and a lot of control-plane software to make all of the magic happen. Fundamentally, running CockroachDB on a Kubernetes cluster abstracts away the process of getting the cockroach binary running and offers a lot of convenience to the human operator vis-a-vis reliability and service discovery. We like to say that CockroachDB is "Kubernetes native" in that you can easily build a CRDB cluster using only the basic k8s building
Read the rest
blocks, without requiring a separate operator program to manage the deployment. You can `kubectl apply` this config and get a fully-functioning cluster. https://github.com/cockroachdb/cockroach/blob/master/cloud/k... Utilities like Helm et al. are certainly easier than managing a bunch of YAML configs, but they are entirely optional. Some other CockroachDB+Kubernetes synergies to consider: 1) When using a StatefulSet and PersistentVolumes, a CockroachDB node will easily survive being rescheduled off of its underlying host (e.g. due to maintenance or hardware failure) with no human effort needed. 2) All cockroach instances are, from the perspective of a client, homogenous. That is, a client can send a SQL query to any member of a CockroachDB cluster and get a meaningful response. This maps exactly onto the k8s Service abstraction. 3) Federated k8s clusters and multi-region network fabrics do exist, although they're not exactly common yet. CockroachDB can maintain its clustering across "non-uniform network architectures" that exist within- and cross-region.
In CockroachDB 19.2
Last month I tried to deploy cockroachdb in Kubernetes and I felt the documentation wanted to treat me like a 5-year-old. I don't think the your product documentation has to explain what Kubernetes is or its terminologies[1]. The worst part is that it does not tell the cluster admins what need to be setup in the Kubernetes cluster at all, instead, it wraps a bunch of `kubectl` commands in a Python script and says "just download the script and run it"[2]. I know a simple `python setup.py` command is easier for novice to just try out. But it could really gives seasoned Kubernetes admins some headache...Our clusters enforce GitOps and nothing can bypass pull requests. Running some random `kubectl` commands is simply impossible. I ended up spending my day reading and translating the script into Kubernetes object definitions by hand and I didn
Read the rest
In CockroachDB 19.2
Agreed, we should be talking about the "timestamp cache" in more detail generally. While I'm here, looking at [1] helped me confirm how everything is kosher despite being in-memory. The timestamp cache pessimistically maintains a "low water mark", this always ratchets up monotonically and represents the earliest access timestamp of any key in the range. Writes happening at timestamps lower than this water mark are not let through, and bumping this watermark past the point of the observed write intent's timestamp is how slow inflight write intents are aborted by recovering read requests. On server restart, the timestamp cache is initialized with a low water mark of the current system time + maximum clock offset, so "future" write intents (or more accurately: write intents sent in the past but previously stuck in transit) are simply rejecte
Read the rest
In Parallel Commits: A New Atomic Commit Protocol for Distributed Transactions
Reading any software and taking inspiration from it is risky, because software patents inhibit the Progress of Science and useful Arts. Here's cockroachdb's version of the BSL: https://github.com/cockroachdb/cockroach/blob/master/license... You may be right that this doesn't allow modification. I hope sentry words their Additional License Grant better. > Consider yourself happy Torvalds didn't think this way. Or Guido. Yes I'm generally happy when I get new stuff for free, but I don't expect that to always happen.
In Re-Licensing Sentry
manigandham·Jul 18, 2019Recommendation phrase
Tried it before. Compatibility depends on how complicated your SQL is. There's a detailed list of supported syntax which is getting better every release but it's best for simpler OLTP scenarios. [1] Horizontal scaling and reliability are great. Security setup and certificate management is horrible, and if you don't use certificates then you also can't set passwords for any user so its all or nothing for some reason. [2] Performance for OLTP queries with high-selectivity using primary keys/indexes is pretty good. Will not be as fast as PostgreSQL because there's consensus required to get the latest data, although it now supports timestamped queries so you can get stale data from replicas for faster reads. Complex queries can slow down or stall the server. Deletes are handled by tombstones so heavy update/delete workloads will cause increas
Read the rest
ing amounts of slowness in queries until compaction happens so it needs tuning for your workload. [3] Treats all the servers as one giant global cluster instead of multiple sub-clusters for each regional location so there will be very high latency for writes if you're running in multiple regions. I recommend sticking to a single region with multiple zones instead, or very close regions like US east + central. Overall its a good solid database choice for core operational data that you want safe. Skip it if you need fast low-latency key/value (use redis or scylla) or large analytical queries (use numerous data warehouse options). 1. https://www.cockroachlabs.com/docs/stable/detailed-sql-suppo... 2. https://github.com/cockroachdb/cockroach/issues/32448 3. https://github.com/cockroachdb/cockroach/issues/32522
In Ask HN: Anyone Using CockroachDB in Production?
(Cockroach Labs founder) The details are in the "additional usage grant" clause: https://github.com/cockroachdb/cockroach/blob/8acfe8ffd0028c... We decided to draw the line at whether the end user has direct control over table schemas. If users can specify the schema to be used, it's a database service and needs a license. If you're fitting everything into a generic schema (even if the user can specify things that look like new columns in the UI), it's an application and doesn't need a special license.
In Relicensing CockroachDB
Definitely. That’s why cockroach & yugabyte that speak Postgres but are black magic underneath are a great target. However, it’s not fully compatible quite yet https://github.com/cockroachdb/cockroach/issues?q=is%3Aopen+... Citus / timescale / pipelinedb are much easier and we already support timescale and pipelinedb well. Citus with native support for their distribution columns is going to happen soon too! These are packaged as Postgres extensions which is definitely first priority for us before moving to databases that speak Postgres and eventually to other databases as well. :)
In Scaling to 1M active GraphQL subscriptions on Postgres

Showing the 15 most recent of 18 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.