CockroachDB

Original author(s)Spencer Kimball, Peter Mattis, Ben Darnell
Developer(s)Cockroach Labs
Initial release2015; 9 years ago (2015)
Stable release
23.1.1 / May 18, 2023; 11 months ago (2023-05-18)
Repository
Written inGo
Available inEnglish
TypeRDBMS
Licensemultiple
Cockroach Labs, Inc.
Company typePrivate
IndustrySoftware
Founded2015; 9 years ago (2015)
FounderSpencer Kimball, Peter Mattis, Ben Darnell
HeadquartersNew York City
Key people
Spencer Kimball (CEO)
Peter Mattis (VP of Engineering)
Ben Darnell (CTO)
Nate Stewart (Chief Product Officer)
Lindsay Grenawalt (Chief People Officer)
ServicesCommercial database management systems
Websitecockroachlabs.com

CockroachDB is a commercial distributed SQL database management system developed by Cockroach Labs.[1][2] CockroachDB is a distributed SQL database built on top of a transactional and consistent key-value store that can withstand datacenter failures. It scales horizontally,[3] offers high availability and can be ran in a variety of environments such as Virtual machines, containers and cloud applications.[4] CockroachDB gets its name from cockroaches, as they are known for being disaster-resistant.[4] As all other databases, there are three goals of the database system.[5]

  1. Provide Long-Term Storage - Databases should be able to store data for long periods of time.
  2. Organization - The data should be organized & described
  3. Shareability - The data within the database should be shared and not excusive to a single user.

History[edit]

Cockroach Labs was founded in 2015 by ex-Google employees Spencer Kimball, Peter Mattis, and Ben Darnell. Kimball and Mattis had been key members of the Google File System team,[6] while Darnell was a key member of the Google Reader team.[7]

While at Google, all three had used Google-owned DBMS’s Bigtable and its successor, Spanner.[2] After leaving Google, they wanted to design and build something similar.[8] Spencer Kimball wrote the first iteration of the design in January 2014, and began the open-source project on GitHub in February 2014, allowing outside access and contributions.[9]

Development on GitHub attracted substantial contributions, which earned the project the Open Source Rookie of the Year award by Black Duck Software.[10]

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 software license Apache License 2.0 to its source-available license, known as the Business Source License (BSL), which forbids “offer[ing] a commercial version of CockroachDB as a service without buying a license,” while remaining free for community use.[11][12]

Features[edit]

CockroachDB stores copies of data in multiple locations to deliver quick access.[8][13]

It is described as a scalable, consistently-replicated, transactional data store.[14] A single instance can scale from a single laptop to thousands of servers.[2]

CockroachDB is designed to run in the cloud and has a high fault tolerance. According to popular news outlets, it is described as “almost impossible” to take down.[15][16][13]

CockroachDB has a consistency model that is designed to match as closely as possible to the capabilities of Google Spanner, 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.[17] 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.[18]

See also[edit]

References[edit]

  1. ^ Ovide, Shira (June 4, 2015). "CockroachDB Scampers Off With $6.3 Million to Tackle Database Shortcomings". The Wall Street Journal. Retrieved February 22, 2020.
  2. ^ a b c Finley, Klint (June 4, 2015). "Ex-Googlers Get Millions to Help You Build the Next Google". Wired. Retrieved February 22, 2020.
  3. ^ Heller, Martin (January 4, 2018). "CockroachDB review: A scale-out SQL database built for survival". InfoWorld. Retrieved March 19, 2024.
  4. ^ a b Pina, Eduardo; Sá, Filipe; Bernardino, Jorge (January 2023). "NewSQL Databases Assessment: CockroachDB, MariaDB Xpand, and VoltDB". Future Internet. 15 (1): 10. doi:10.3390/fi15010010. ISSN 1999-5903.{{cite journal}}: CS1 maint: unflagged free DOI (link)
  5. ^ Huawei Technologies Co., Ltd (2023). Database Principles and Technologies – Based on Huawei GaussDB. Springer Nature. ISBN 978-981-19-3032-4.
  6. ^ Metz, Cade (July 10, 2012). "Google Remakes Online Empire with 'Colossus'". Wired. Retrieved February 22, 2020.
  7. ^ Wauters, Robin (July 28, 2009). "Steal! Ben Darnell Leaves Google Reader Team, Joins FriendFeed". TechCrunch. Retrieved February 22, 2020.
  8. ^ a b Novet, Jordan (June 4, 2015). "Peter Fenton's latest investment is a database startup called Cockroach". VentureBeat. Retrieved February 22, 2020.
  9. ^ Ewbank, Kay (June 9, 2015). "CockroachDB Released". I Programmer. Retrieved February 22, 2020.
  10. ^ Finleey, Klint (January 28, 2015). "These are the hottest new open-source projects right now". Wired. Retrieved February 22, 2020.
  11. ^ Mattis, Peter; Darnell, Ben; Kimball, Spencer (June 4, 2019). "Why We're Relicensing CockroachDB". CockroachLabs.com. Retrieved February 22, 2020.
  12. ^ "CockroachDB Community License". Cockroach Labs. Retrieved July 28, 2020.
  13. ^ a b Babcock, Charles (June 4, 2015). "CockroachDB: Ultimate in Database Survival". InformationWeek. Retrieved February 22, 2020.
  14. ^ Darfler, Benjamin (August 29, 2014). "CockroachDB: A Scalable, Geo-Replicated, Transactional Datastore". InfoQ. Retrieved February 22, 2020.
  15. ^ Finley, Klint (July 22, 2014). "CockroachDB is the resilient cloud software built by ex-Googlers". Wired. Archived from the original on May 14, 2015. Retrieved February 22, 2020.
  16. ^ Finley, Klint (July 21, 2014). "Out in the Open: Ex-Googlers Building Cloud Software That's Almost Impossible to Take Down". Wired. Retrieved February 22, 2020.
  17. ^ Matei, Andrei. "CockroachDB's consistency model".
  18. ^ Cordell, Evan. "The One Crucial Difference Between Spanner and CockroachDB".

External links[edit]