CockroachDB is a distributed SQL database built on a transactional, strongly-consistent key-value store. It's aimed at teams building data-intensive applications that need to scale horizontally, survive hardware and datacenter failures, and keep using SQL rather than switching to a NoSQL model. If you're running Postgres today and hitting scaling or availability limits, this is the kind of project worth evaluating.
The database speaks the PostgreSQL wire protocol, so existing drivers and ORMs generally work without a rewrite. It's written in Go and developed in the open on GitHub, with a public issue tracker and a "good first issue" label for new contributors.
CockroachDB fits applications that need a relational data model but also need to survive node or region failures without downtime, such as financial systems, multi-region SaaS platforms, or any service where losing a database node can't mean losing availability. It also suits teams that expect to outgrow a single-node Postgres instance and want to scale by adding nodes instead of re-sharding manually.
It's a reasonable choice if you already rely on PostgreSQL drivers or ORMs and want to keep that tooling while moving to a distributed backend. Teams building multi-region or globally distributed apps that need data locality controls alongside strong consistency are also a good match.
It is not a good fit for simple, single-node applications where the operational overhead of running a distributed cluster outweighs the benefit. Teams with strict low-latency, single-digit-millisecond requirements on every query in a single region may find a traditional single-node database simpler and faster. It's also not the right pick if you need full PostgreSQL feature parity (extensions, stored procedures, specific PostgreSQL-only features) since compatibility is at the wire-protocol and SQL level, not a full drop-in replacement for every PostgreSQL capability.
There are two main paths to get started: run a managed cluster, or run CockroachDB yourself.
Managed option (CockroachCloud):
Follow the CockroachCloud Quickstart to create a free cluster on your preferred cloud platform, no local install required.
Self-hosted option:
cockroach start-single-node --insecure --listen-addr=localhost
cockroach sql --insecure --host=localhost
For production deployments, the project documents manual multi-machine deployment, cloud-specific deployment guides, and orchestration guides for running CockroachDB under systems like Kubernetes.