cockroach README

The project's README from github.com/cockroachdb/cockroach. As one markdown file: README.md.


CockroachDB is a cloud-native distributed SQL database designed to build, scale, and manage modern, data-intensive applications.

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

  1. Install CockroachDB: using a pre-built executable or build it from source.
  2. Start a local cluster and connect to it via the built-in SQL client.
  3. Learn more about CockroachDB SQL.
  4. Use a PostgreSQL-compatible driver or ORM to build an app with CockroachDB.
  5. 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.

Deployment

Need Help?

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, [email protected]. 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

cockroach (cockroachdb/cockroach)

nosql
Searching Database…

32.6K ·GitHub
What is this?CockroachDB is a distributed SQL database built on a transactional, strongly-consistent key-value store, designed for high availability, horizontal scale, and surviving hardware failures without manual intervention.
Is this a database server I run myself, or a managed cloud service?Both: you can self-host a CockroachDB cluster on your own machines, or use CockroachCloud, a managed version run by the company.
How do I get a cluster running?Install CockroachDB from a pre-built executable or build it from source, then start a local cluster and connect to it using the built-in SQL client.
Do I need a special client library to connect to it?No special driver is required: CockroachDB speaks the PostgreSQL wire protocol, so any existing PostgreSQL client driver or ORM works.
Is it still fully open source?Not entirely anymore: versions released on or after November 18, 2024 (v24.3+ and certain patch releases) switched to the CockroachDB Software License (CSL) instead of a traditional open-source license.
How does it stay consistent across failures?CockroachDB uses a transactional, strongly-consistent distributed key-value store underneath, giving serializable ACID transactions even as nodes fail or data is rebalanced.
Can I deploy it on cloud orchestration tools?Yes, the README lists guides for manual multi-machine deployment, major cloud platforms, and popular open-source orchestration systems, in addition to the managed CockroachCloud option.
Size
2.6 GB
Stars
32.6K
Updated
CommitSep 23
Age
12y
Commits · 90 Days