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, 10:49:33 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

14 sources
I don't think this scheme provides the "monotonic reads" property discussed in the blog post. Specifically, it would be possible for a reader to observe a new value from r2 (who received a timely heartbeat), then to later observe an older value from r3 (who received a delayed heartbeat). This would be a violation of linearizability, which mandates that operations appear to take place atomically, regardless of which replica is consulted behind the scenes. This is important because linearizability is compositional, so users of CockroachDB and internal systems within CockroachDB can both use global tables as a building block without needing to design around subtle race conditions. However, for the sake of discussion, this is an interesting point on the design spectrum! A scheme that provides read-your-writes but not monotonic reads is essent
Read the rest
ially what you would get if you took global tables as described in this blog post, but then never had read-only transactions commit-wait. It's a trade-off we considered early in the design of this work and one that we may consider exposing in the future for select use cases. Here's the relevant section of the original design proposal, if you're interested: https://github.com/cockroachdb/cockroach/blob/master/docs/RF....
In Back from the Future: Global Tables in CockroachDB
Just yesterday I was comparing managed serverless postgres offers and was sad to temporarily end my investigation with a compromise of using managed aws RDS for development, hoping that a fully serverless postgres with a nice free tier would pop up before going to production, and here we are! Congrats to the team for what feels like an amazing product. Signed up for the early access, can't wait to get my hands on this! For anyone interested, these ere the DB offers I looked into: * DO managed postgres, no free tier but price scaling was not too aggressive, the issue is that it's not natively serverless and we're gonna get 100s of ephemeral connections. * Cockroach, was the best option for our use case but it doesn't support triggers and stored procedures, so we can't use it right now (closely following https://github.com/cockroachdb/cockr
Read the rest
oach/issues/28296) * Fly.io price scaling is too aggressive 6$ -> 33 -> 154 -> 1000s a month and no free tier that I could find. * Aurora serverless v2 is only for aws internal access and we are using gcp. * Aurora v1 was what we were gonna go with, but a lot of people online have showed their negative opinion around slow scaling. I didn't investigate enough but I'm thinking we'd need to setup RDS proxy for it handle all our connections, which would've bumped up the price by a good amount. Also no free tier. * Alloydb looked promising but also no free tier and starting price is a bit much for our current phase of development, but it was definitely something we'd look into in the future. And now Neon, natively serverless with a (hopefully) good free tier to test things out and some hints about cross region data replication, amazing stuff!
In Neon – Serverless Postgres
> The Licensor may make an Additional Use Grant, above, permitting limited production use. See the text of the Additional Use Grant for CockroachDB [1]: > Additional Use Grant: You may make use of the Licensed Work, provided that you may not use the Licensed Work for a Database Service. > A “Database Service” is a commercial offering that allows third parties (other than your employees an contractors) to access the functionality of the Licensed Work by creating tables whose schemas are controlled by such third parties. (disclaimer: I work at Cockroach Labs) [1] - https://github.com/cockroachdb/cockroach/blob/master/license...
In A database for 2022
Director of engineering for CockroachDB SQL here. One of the major pain points we have with Go is the lack of language support for monomorphization. We rely on a hand-built monomorphizing code generator [0] to compile CockroachDB's vectorized SQL engine [1]. Vectorized SQL is about producing efficient, type and operator specific code for each SQL operator. As such, we rely on true monomorphization to produce a performant SQL query engine. I have a hope that, eventually, Go Generics will be performant enough to support this use case. As the author points out, there is nothing in the spec that prevents this potential future! That future is not yet here, but that's okay. There are probably some less performance-sensitive use cases within CockroachDB's code base that could benefit from generics, but we haven't spend time looking into it yet.
Read the rest
In Generics can make your Go code slower
There are advantages to embedding. You can retain the host language type system and and object model. If you have a great query language and model but have to write a ton of code to marshal back and forth, it might not be adding that much value (classic impedance mismatch). While go’s compile time metaprogamming is virtually non-existent, it’s runtime metaprogramming with reflection is more or less complete. There’s a runtime cost to using it, but that can be mitigated. See https://github.com/cockroachdb/cockroach/tree/master/pkg/sql... for a reflection-driven, embedded logic query language in go that achieves pragmatic goals of writing logic queries over data structure graphs at reasonable performance and pretty good expressibility.
In An embeddable Prolog scripting language for Go

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.