CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters.
- What is CockroachDB?
- Docs
- Quickstart
- Client Drivers
- Deployment
- Need Help?
- Contributing
- Design
- Comparison with Other Databases
- See Also
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 FAQ or architecture document.
For guidance on installation, development, deployment, and administration, see our User Documentation.
- Install CockroachDB.
- Start a local cluster and talk 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.
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 our Hello World Example Apps.
- CockroachCloud - Steps to deploy a free CockroachCloud cluster on public Cloud platforms.
- 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.
- 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.
See our wiki for more details.
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 discussion takes place on our public mailing list, cockroach-db@googlegroups.com, and feel free to join our Community Slack (there's a dedicated #contributors channel!) to ask questions, discuss your ideas, or connect with other contributors.
For an in-depth discussion of the CockroachDB architecture, see our Architecture Guide. For the original design motivation, see our design doc.
Current CockroachDB code is released under a combination of two licenses, the Business Source License (BSL) and the Cockroach Community License (CCL).
When contributing to a CockroachDB feature, you can find the relevant license in the comments at the top of each file.
For more information, see the Licensing FAQs.
To see how key features of CockroachDB stack up against other databases, check out CockroachDB in Comparison.
- Tech Talks (by CockroachDB founders and engineers)
- CockroachDB User Documentation
- The CockroachDB Blog
- Key design documents