Skip to content
CockroachDB - the open source, cloud-native distributed SQL database.
Go TypeScript C++ Yacc CSS C Other
Branch: master
Clone or download

Latest commit

3 authors Merge #49763 #49834
49763: kv: introduce a rate limiter for the range consistency checker r=lunevalex a=lunevalex

Closes #47290

This commit introduces a new flag server.consistency_check.max_rate to control the rate at which the consistency checker may scan through the range to compute it's checksum. Without a rate limit in place the checker cmay overwhelm the cluster with sufficiently large nodes. For example on a 10B node the checker is expected to produce 120MB/second of disk reads. The flag is defined as bytes/second and set to 8MB/s by default. We expect the customers to continue to use it in conjunction with server.consistency_check.interval, which will givem the ability to control both the frequency and speed of checks.

Release note (performance improvement): Introduce a new flag server.consistency_check.max_rate expressed in bytes/second to throttle the rate at which cockroach scans through the disk to perform a consistency check. This control is necessary to ensure smooth performance on a cluster with large node sizes (i.e. in the 10TB+ range)

49834: .github: add geospatial code owners r=rytaft a=otan

Release note: None

Co-authored-by: Alex Lunev <alexl@cockroachlabs.com>
Co-authored-by: Oliver Tan <otan@cockroachlabs.com>
Latest commit fd1bccf Jun 3, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github .github: add geospatial code owners Jun 3, 2020
build Merge #49593 Jun 1, 2020
c-deps roachpb: non-nullable field in error Jun 1, 2020
cloud cloud: bump version to 20.1.1 May 26, 2020
docs Merge #49763 #49834 Jun 3, 2020
githooks build: disable required release justifications Mar 30, 2020
licenses licenses: Update BSL change date for master/20.2 Mar 30, 2020
monitoring monitoring: add expiration alerts for optional certificates. Aug 13, 2018
pkg Merge #49763 #49834 Jun 3, 2020
scripts scripts: add a plandiff script Apr 20, 2020
vendor @ 9f418e5 vendor: bump Pebble to 4887c526300055e1c30635c53fd16b3fe9d9e132 Jun 1, 2020
.editorconfig opt: use 4 space indentation for .opt files Apr 11, 2020
.gitattributes sql: clean up the `array` logic test Mar 13, 2019
.gitignore c-deps/geos: add geos Mar 30, 2020
.gitmodules c-deps/proj: bump PROJ to compile on more systems Jun 1, 2020
.node-version build: upgrade to node 12 LTS Jan 22, 2020
AUTHORS Merge #47502 #49807 Jun 2, 2020
CONTRIBUTING.md docs: enhance the contributor guide Jun 3, 2020
Gopkg.lock vendor: bump Pebble to 4887c526300055e1c30635c53fd16b3fe9d9e132 Jun 1, 2020
Gopkg.toml deps: switch over from raven-go to sentry-go May 26, 2020
LICENSE licenses: Add BSL.txt Jun 4, 2019
Makefile geo: remove geoproj dependency for now Jun 1, 2020
README.md docs: enhance the contributor guide Jun 3, 2020

README.md


CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters.

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.

Quickstart

  1. Install CockroachDB.
  2. Start a local cluster and talk 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

  • Test Deployments - Easiest way to test an insecure, multi-node CockroachDB cluster.
  • Production Deployments
    • 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 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.

Design

For an in-depth discussion of the CockroachDB architecture, see our Architecture Guide. For the original design motivation, see our design doc.

Comparison with Other Databases

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

See Also

You can’t perform that action at this time.