mrkeyoor.com_
Thu 17 Sept 04:01 UTC
Dataevaluationupdated 17 Sept 2026

cockroach review

CockroachDB is a source-available distributed SQL database that accepts PostgreSQL client connections and copies data across nodes while keeping transactions strongly consistent. It is built for applications that need one SQL system to span machines or regions without making the application shard its own data.

Verdict

Our 396-second test run ended with 1,026 of 1,126 Go test entries failing even though install and build passed, so a generic source checkout is a poor adoption shortcut. CockroachDB deserves a pilot when surviving node or region failure with SQL matters enough to fund a 3-node-or-larger, TLS-secured cluster. Small apps, mixed-architecture clusters, and teams unwilling to accept the license-key and telemetry terms should choose something simpler.

We ran it

Lab card: what happened when we ran cockroachScreenshot of cockroach (www.cockroachlabs.com)
Install✓ · 183s1167 packages
Build✓ · 37s
Tests✗ · 396s100 passed · 1026 failed of 1126 (go test)
Repo25505 files~4,700,432 lines of source · 636.5 MB · 27 CI workflows

Answers from our run

Does cockroach build from source?

Dependencies installed in 183 seconds (1167 packages), and the build succeeded in 37 seconds. We cloned commit 6079877 into a clean Debian container with 3 CPUs and no project-specific setup.

Do cockroach's tests pass?

Not all of them: 100 of 1126 passed and 1026 failed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use cockroach?

Small applications that only need one database server: the production guide calls for at least 3 nodes to tolerate 1 node failure.

What are the alternatives to cockroach?

PostgreSQL, YugabyteDB, TiDB. Our 396-second test run ended with 1,026 of 1,126 Go test entries failing even though install and build passed, so a generic source checkout is a poor adoption shortcut.

Setup2/5Build passed, but 1,026 tests failed and production needs a cluster
Docs5/5Detailed deployment, security, hardware, and SQL guidance
Community5/532,531 stars, a September 16 push, and daily issue activity
Maturity5/5Long release history and deep operations guidance

Discussed on

  1. hnEx-Googlers CockroachDB: A Scalable, Geo-Replicated, Transactional Datastore98 points
  2. hnThe SQL layer in CockroachDB85 points
  3. hnCockroachDB: A Scalable, Geo-Replicated, Transactional Datastore77 points
  4. hnCockroachDB has changed their license, again27 points
  5. hnCockroach: A Scalable, Geo-Replicated, Transactional Datastore8 points

Who it’s for

Teams whose database must keep serving through a node or availability-zone failure.
Organizations prepared to run at least 3 database nodes, TLS, monitoring, backups, and capacity planning.
Applications that want PostgreSQL drivers with distributed transactions and can test their actual SQL behavior.
Buyers who want CockroachDB's model but would rather pay for Cockroach Cloud than operate the cluster.

Who it’s NOT for

Small applications that only need one database server: the production guide calls for at least 3 nodes to tolerate 1 node failure.
Organizations unwilling to accept license-key and telemetry conditions: the CockroachDB Software License limits unkeyed use to non-production or a single node.
Mixed amd64 and s390x clusters on v26.2.5: open issue 173047 reports that the s390x node joins, panics, and crash-loops with vectorized execution enabled.
Contributors expecting go test ./... to pass in a stock Go container: our run reported 1,026 failures out of 1,126, with workload packages marked as build failures in the log tail.

Setup reality

Our sandbox installed 1,167 Go packages in 183 seconds and built commit 6079877 in 37 seconds. The test step failed after 396 seconds: 100 passed and 1,026 failed out of 1,126. The final log lines mark workload packages as build failures but do not show their cause.

The README makes a prebuilt binary or Cockroach Cloud the normal start. Self-hosted production needs separate nodes, stable network addresses, TLS certificates for nodes and clients, locality settings, monitoring, and a license key. The license also requires telemetry unless your key permits disabling it.

The source checkout was 636.5 MB with 25,505 files and about 4,700,432 source lines. It had 27 CI workflow files, no root Dockerfile, and no tests directory. Cockroach Labs recommends glibc-based Linux and matching hardware and operating systems across nodes, so a laptop build is far from a production rehearsal.

Three nodes buy fault tolerance and an operating job

CockroachDB's production guide says at least 3 nodes are needed to tolerate 1 node failure with the default replication factor. Each node should run on a separate machine, because several processes on one host leave that host as a single point of failure. The database then spreads strongly consistent SQL data across those nodes and rebalances it as the cluster changes. That is useful infrastructure when losing a machine cannot mean losing the database.

The trade is visible in the source tree. Our commit 6079877 checkout contained 25,505 files, roughly 4,700,432 lines of source, and occupied 636.5 MB before installation. CockroachDB includes a transactional key-value layer, SQL execution, replication, rebalancing, backup, change feeds, and operational tooling in one repository. A small application that only needs one dependable SQL server would inherit a large system while using little of the reason it exists.

A 37-second build is the easy part of self-hosting

Our sandbox built CockroachDB in 37 seconds after a 183-second install pulled 1,167 packages. The README still directs ordinary users toward a prebuilt executable or Cockroach Cloud, while source builders go to a separate development wiki. That split makes sense. Compiling one binary in an 8 GB container proves much less than running a secure cluster through upgrades, node loss, backup restoration, and application traffic.

Production setup reaches well beyond a connection string. The official checklist calls for TLS certificates for the certificate authority, every node, and each client or user. Operators also choose stable listen and advertised addresses, locality labels, storage, memory, load balancing, and monitoring. The same guide recommends matching hardware and operating systems across nodes. CockroachDB automates data placement, but your team still owns the machines and the failure drills.

What happened when we ran it

Our fresh Debian sandbox installed 1,167 Go packages in 183 seconds, then completed the build in 37 seconds. We used 3 CPUs, 8 GB of RAM, the golang:1.24-bookworm image, no secrets, and an unprivileged container. The 636.5 MB checkout had 27 CI workflow files, no Dockerfile, and no dedicated tests directory. Install and build both returned success.

The test step returned exit code 1 after 396 seconds. Go test reported 100 passed and 1,026 failed out of 1,126. The log tail lists roachmart, tpcc, tpcds, tpch, ycsb, and other workload packages as build failures before the final FAIL. Those lines do not identify the underlying error, so we cannot say whether code, missing system software, generated files, or another prerequisite caused it.

That result does not mean 1,026 database behaviors were proven wrong. It means the repository-wide command did not produce a clean test signal in the stated container. For an adoption trial, use the documented binary or cloud path first, then test your schema, transactions, failover, and restore procedure. Contributors should reproduce the source build with CockroachDB's own development instructions rather than treating our generic 396-second run as a diagnosis.

Version 24.3 and later use a production license key

The README says the CockroachDB Software License applies to major series v24.3 and later, plus named patches in earlier series. Its terms allow operation without a key only for limited non-production use or a database running solely on 1 node. Multi-node production therefore involves a key from Cockroach Labs. The license also says the software sends telemetry and allows disabling it only when the issued key permits that choice.

Those conditions make CockroachDB source-available, but they do not give an operator the same freedom as a permissive database license. A company with rules against mandatory telemetry or vendor-issued runtime keys should settle the contract before a technical proof of concept. The same caution applies to modified builds because the license requires protective measures to remain. A passed 37-second build does not change the permission to run the result.

Open v26.2.6 reports deserve workload-specific regression tests

Issue 175540 reports a narrow wrong-result case on v26.2.6 and v26.3.1. With vectorized execution off, a partially ordered query using LIMIT 5 OFFSET 100 returned 105 rows in the reporter's reproduction. The issue was open and triaged on September 16, 2026. Teams using pagination should add that query shape to acceptance tests, especially if support has advised disabling vectorized execution for another problem.

Issue 173047 covers different hardware. Its reporter could run all-amd64 and all-s390x clusters on v26.2.5, but an s390x node joining an amd64 cluster crashed while deserializing an Arrow batch. Turning off vectorized execution let the node join, at a stated performance cost. Neither report describes every deployment. Both show why PostgreSQL wire compatibility and a successful 37-second compile are starting points, not substitutes for testing the exact topology and SQL paths you plan to use.

September 16 activity is high despite an empty release endpoint

The repository was pushed on September 16, 2026, and GitHub showed 32,531 stars. A separate search found 7,395 open issues and 1,018 open pull requests, with automated test failures and user bug reports updated the same day. That queue is noisy, but the dated activity rules out the idea that the project is dormant. It also gives evaluators a large public record to search for their query and hardware patterns.

GitHub's latest-release endpoint returned no release record, while the tags list began with v26.2.6. Use CockroachDB's documented release and download channels rather than reading the empty endpoint as abandonment. The decision comes back to need: if 3-node failure tolerance and distributed SQL solve a real business constraint, the operational cost may be justified. If they do not, PostgreSQL leaves your team with far less machinery to own.

Alternatives

ProjectWhat it isPick it when
PostgreSQL gh↗The standard relational database with the broad PostgreSQL extension and tooling ecosystem.pick this instead when one primary database plus replicas meets your failure and scaling needs.
YugabyteDBA distributed SQL database with a PostgreSQL-compatible API.pick this instead when you want to compare another PostgreSQL-style distributed design and its operating model.
TiDB gh↗A distributed SQL database aimed at MySQL-compatible applications.pick this instead when MySQL clients and query behavior fit your application better than PostgreSQL compatibility.

What people are saying

  1. [github-trending] cockroachdb/cockroach

Sources

  1. CockroachDB README and repository
  2. CockroachDB Software License
  3. CockroachDB production checklist
  4. Issue 175540: LIMIT and OFFSET wrong-result report
  5. Issue 173047: mixed amd64 and s390x cluster crash
  6. CockroachDB tags

More data reviews

fonts · dbt · GeoLibre · TradingView-API · os-taxonomy · Lean · the whole board →