HOME

TheInfoList



OR:

CockroachDB is a source-available
distributed SQL A distributed SQL database is a single relational database which replicates data across multiple servers. Distributed SQL databases are strongly consistent and most support consistency across racks, data centers, and wide area networks including c ...
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
developed by Cockroach Labs. The relational functionality is built on top of a distributed, transactional, consistent key-value store that can survive a variety of different underlying infrastructure failures, and is wire-compatible with
PostgreSQL PostgreSQL ( ) also known as Postgres, is a free and open-source software, free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. PostgreSQL features transaction processing, transactions ...
which means users can take advantage of a wide range of drivers and tools from the extensive PostgreSQL ecosystem. A CockroachDB cluster consists of a number of nodes that can be spread across failure domains such as data centres or public cloud regions. A cluster can be scaled both horizontally (by adding nodes) and vertically (by increasing the resources allocated to the existing nodes). It can provide high levels of resilience and availability and can be run in a variety of environments such as bare metal, VMs, containers and
Kubernetes Kubernetes (), also known as K8s is an open-source software, open-source OS-level virtualization, container orchestration (computing), orchestration system for automating software deployment, scaling, and management. Originally designed by Googl ...
, both in private data centers and in the cloud. CockroachDB gets its name from cockroaches, as they are known for being disaster-resistant.


History

Cockroach Labs was founded in 2015 by ex-
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
employees Spencer Kimball,
Peter Mattis Peter Mattis is an American computer programmer, entrepreneur, and business executive. He is the CTO and co-founder for Cockroach Labs, a company he co-founded in 2014. His work as a programmer includes launching GNU Image Manipulation Program ( ...
, and
Ben Darnell Ben Darnell is an American computer programmer, entrepreneur, and business executive. He is the chief technology officer for Cockroach Labs, a company he co-founded in 2015. Prior to his work at Cockroach Labs, he worked for tech companies t ...
. Kimball and Mattis had been key members of the
Google File System Google File System (GFS or GoogleFS, not to be confused with the GFS Linux file system) is a proprietary distributed file system developed by Google to provide efficient, reliable access to data using large clusters of commodity hardware. Go ...
team, while Darnell was a key member of the
Google Reader Google Reader was an RSS/Atom feed aggregator operated by Google. It was created in early 2005 by Google engineer Chris Wetherell and launched on October 7, 2005, through Google Labs. Google Reader grew in popularity to support a number of pr ...
team. While at Google, all three had used Google-owned DBMS’s
Bigtable Bigtable is a fully managed wide-column and key-value NoSQL database service for large analytical and operational workloads as part of the Google Cloud portfolio. History Bigtable development began in 2004.. It is now used by a number of Goo ...
and its successor,
Spanner A wrench or spanner is a tool used to provide grip and mechanical advantage in applying torque to turn objects—usually rotary fasteners, such as Nut (hardware), nuts and screw, bolts—or keep them from turning. In the United Kingdom, UK, ...
. After leaving Google, they wanted to design and build something similar. Spencer Kimball wrote the first iteration of the design in January 2014, and began the open-source project on
GitHub GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
in February 2014, allowing outside access and contributions. Development on GitHub attracted substantial contributions, which earned the project the ''Open Source Rookie of the Year'' award by Black Duck Software. The co-founders supported the project with conferences, networking, meet-ups, and fund-raising financial rounds. In June 2019, Cockroach Labs announced that CockroachDB would change its license from the
free Free may refer to: Concept * Freedom, the ability to act or change without constraint or restriction * Emancipate, attaining civil and political rights or equality * Free (''gratis''), free of charge * Gratis versus libre, the difference betw ...
software license A software license is a legal instrument governing the use or redistribution of software. Since the 1970s, software copyright has been recognized in the United States. Despite the copyright being recognized, most companies prefer to sell lic ...
Apache License 2.0 to its source-available license, known as the Business Source License (BuSL), which forbids “offer nga commercial version of CockroachDB as a service without buying a license,” while remaining free of charge for community use.


Features

CockroachDB stores copies of data in multiple locations to deliver quick access. It is described as a scalable, consistently-replicated, transactional data store. A single instance can scale from a single laptop to thousands of servers. CockroachDB is designed to run in the cloud and has a high
fault tolerance Fault tolerance is the ability of a system to maintain proper operation despite failures or faults in one or more of its components. This capability is essential for high-availability, mission-critical, or even life-critical systems. Fault t ...
. According to popular news outlets, it is described as “almost impossible” to take down. CockroachDB has a consistency model that is designed to match as closely as possible to the capabilities of
Google Spanner Spanner is a distributed SQL database management and storage service developed by Google. It provides features such as global transactions, strongly consistent reads, and automatic multi-site replication and failover. Spanner is used in Google F1, ...
, but without a dependence on specialized hardware for time synchronization. "No stale reads" is the simplest way to describe this consistency model which has deliberately made the trade-off of having non-linearizable transaction histories. Transactions containing overlapping keys are guaranteed to have external consistency. And so, in practice, systems relying on CockroachDB are very unlikely to reproduce consistency issues because nodes with high variations in clock skew can be removed from clusters, applications can rely on external consistency provided by overlapping keys and writing to the same range, and writes propagate changes to followers' timestamp caches.


See also

*
Comparison of relational database management systems The following tables compare general and technical information for a number of relational database management systems. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are ba ...
*
List of tech companies in the New York metropolitan area Technology companies in the New York City metropolitan area represent a significant and growing economic component of the New York metropolitan area, the most populous combined statistical area in the United States and one of the most populous ...
*
YugabyteDB YugabyteDB is a high-performance transactional distributed SQL database for cloud-native applications, developed by Yugabyte. History Yugabyte was founded by ex-Facebook engineers Kannan Muthukkaruppan, Karthik Ranganathan, and Mikhail Bau ...
*
TiDB TiDB (/’taɪdiːbi:/, "Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing ( HTAP) workloads. Designed to be MySQL compatible, it is developed and supported primarily by Ping ...


References


External links

* {{Official website, https://www.cockroachlabs.com/ Cloud databases Distributed computing NewSQL Distributed data stores Software using the Business Source License