You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
craig[bot] 3e03176583 Merge #89014 #89026 #89030 6 hours ago
.github codeowners: add test-eng to owners of pkg/workload 1 day ago
build vendor: bump Pebble to 8b2af8f1a105 2 days ago
c-deps bazel: new versions of prebuilt `c-deps` 3 months ago
cloud cloud/kubernetes: update version to v22.1.8 1 day ago
docs sql: turn plan sampling back on by default 1 day ago
githooks Merge #84509 #86757 #87196 #87203 #87287 #87298 3 weeks ago
licenses util/quantile: import quantile library 4 months ago
monitoring monitoring: renovate grafana dashboards 1 year ago
pkg Merge #89014 #89026 #89030 6 hours ago
scripts scripts/bench: update benchstat install instructions 1 week ago
tools bazel: revert change to enable parallel output bases by default 2 months ago
vendor@afeada3058 vendor: bump Pebble to 8b2af8f1a105 2 days ago
.bazelignore bazel: add unused lint 3 months ago
.bazelrc bazel: add explanatory top-level comment to .bazelrc 2 weeks ago
.bazelversion bazel: upgrade to bazel 5.1.0 6 months ago
.editorconfig opt: use 4 space indentation for .opt files 3 years ago
.gitattributes git: remove `distdir_files.bzl` from `git` text diffs 5 months ago
.gitignore build: add configurations for Antithesis build instrumentation 3 months ago
.gitmodules ui: revert yarn-vendor and node modules offline installation 1 year ago
.node-version build: match .node-version to Bazel-installed Node version 6 months ago
AUTHORS authors: add Ganeshprasad Rajashekhar Biradar to authors 3 weeks ago
BUILD.bazel build: tell Gazelle to ignore more node_modules directories 1 month ago
CODE_OF_CONDUCT.md toplevel: add reference to code of conduct 5 months ago
CONTRIBUTING.md toplevel: add reference to code of conduct 5 months ago
DEPS.bzl vendor: bump Pebble to 8b2af8f1a105 2 days ago
EXTERNAL-CONTRIBUTORS-HALL-OF-FAME.md update external contributor hall of fame 2 years ago
LICENSE licenses: Add BSL.txt 3 years ago
Makefile eventpb: add storage event types; log periodically per-store 2 weeks ago
README.md DOC-4629: Update SQL diagrams surrounding storage parameters 3 months ago
TEAMS.yaml ccl/jwtauthccl: Implement JWT based auth for CRDB SSO 1 week ago
WORKSPACE bazel: upgrade `rules_go` 1 week ago
dev dev: ensure libdir is created and populated when running roachprod-stress 3 weeks ago
go.mod vendor: bump Pebble to 8b2af8f1a105 2 days ago
go.sum vendor: bump Pebble to 8b2af8f1a105 2 days ago

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 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

  • 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?

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

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.

Comparison with Other Databases

To see how key features of CockroachDB stack up against other databases, check out CockroachDB in Comparison.

See Also