CockroachDB, with Peter Mattis
Peter Mattis is a creator of the CockroachDB open source database and co-founder and CTO of Cockroach Labs. His history in open source goes back to the creation of the GIMP image editor and UI toolkit Gtk at university in 1995, and his history at Google saw him work on storage and build systems. Hosts Craig and Adam ask him about all of the above.
Do you have something cool to share? Some questions? Let us know:
web: kubernetespodcast.com
mail: kubernetespodcast@google.com
twitter: @kubernetespod
Chatter of the week Storm Ciara: Trampoline
Leaves
Big jets
News of the week Docker Index
Apache Aurora: Proposal to archive
Summary from Stephan Erb
New GitHub repo announcement
containerd Project Journey Report Episode 71, with Derek McGowan
CoreOS End-of-Life Fedora CoreOS
Flatcar Linux Episode 79, with Chris Kühl
Developing in Production by Will Sargent at Terse Systems
Thanos Operator from BanzaiCloud Kubernetes sidecars in 1.18
Clear Linux OS now Certified Kubernetes
Helm 3 in Real Life by Dawid Ziolkowski
Kubernetes storage patterns by Nitish Tiwari
Integrate Cloud Foundry with Kubernetes using the cf-operator and kubecf kubecf
Deploying External OpenStack Cloud Provider with Kubeadm
Frame.io Falco case study
Supporting developers as they scale: a free Kubernetes eBook from DigitalOcean
Register Now: KubeCon + CloudNativeCon EU Day Zero Events That discount code again again: KCEUGKP15
Links from the interview GIMP, the GNU Image Manipulation Program Pre-history
GTK, the GIMP Toolkit
Inktomi Episode 49, with Eric Brewer
Colossus
Bazel
Square Acquires Ex-Googler Team Behind Viewfinder To Help Grow Its NYC Presence
CockroachDB article
Spanner and F1 papers
CAP theorem
Google Cloud Spanner
Ticktock Networks and the HUYGENS paper
Cockroach Labs
Orchestration with Kubernetes
Relicensing CockroachDB Business Source License
Geospatial indexing
CockroachDB on GitHub
Peter Mattis on Twitter
CockroachDB In Depth with Peter Mattis - Episode 35
Summary
With the increased ease of gaining access to servers in data centers across the world has come the need for supporting globally distributed data storage. With the first wave of cloud era databases the ability to replicate information geographically came at the expense of transactions and familiar query languages. To address these shortcomings the engineers at Cockroach Labs have built a globally distributed SQL database with full ACID semantics in Cockroach DB. In this episode Peter Mattis, the co-founder and VP of Engineering at Cockroach Labs, describes the architecture that underlies the database, the challenges they have faced along the way, and the ways that you can use it in your own environments today.
Preamble
Hello and welcome to the Data Engineering Podcast, the show about modern data management
When you’re ready to build your next pipeline you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to run a bullet-proof data platform. Go to dataengineeringpodcast.com/linode to get a $20 credit and launch a new server in under a minute.
For complete visibility into the health of your pipeline, including deployment tracking, and powerful alerting driven by machine-learning, DataDog has got you covered. With their monitoring, metrics, and log collection agent, including extensive integrations and distributed tracing, you’ll have everything you need to find and fix performance bottlenecks in no time. Go to dataengineeringpodcast.com/datadog today to start your free 14 day trial and get a sweet new T-Shirt.
Go to dataengineeringpodcast.com to subscribe to the show, sign up for the mailing list, read the show notes, and get in touch.
Your host is Tobias Macey and today I’m interviewing Peter Mattis about CockroachDB, the SQL database for global cloud services
Interview
Introduction
How did you get involved in the area of data management?
What was the motivation for creating CockroachDB and building a business around it?
Can you describe the architecture of CockroachDB and how it supports distributed ACID transactions?
What are some of the tradeoffs that are necessary to allow for georeplicated data with distributed transactions?
What are some of the problems that you have had to work around in the RAFT protocol to provide reliable operation of the clustering mechanism?
Go is an unconventional language for building a database. What are the pros and cons of that choice?
What are some of the common points of confusion that users of CockroachDB have when operating or interacting with it?
What are the edge cases and failure modes that users should be aware of?
I know that your SQL syntax is PostGreSQL compatible, so is it possible to use existing ORMs unmodified with CockroachDB?
What are some examples of extensions that are specific to CockroachDB?
What are some of the most interesting uses of CockroachDB that you have seen?
When is CockroachDB the wrong choice?
What do you have planned for the future of CockroachDB?
Contact Info
Peter
LinkedIn
petermattis on GitHub
@petermattis on Twitter
Cockroach Labs
@CockroackDB on Twitter
Website
cockroachdb on GitHub
Parting Question
From your perspective, what is the biggest gap in the tooling or technology for data management today?
Links
CockroachDB
Cockroach Labs
SQL
Google Bigtable
Spanner
NoSQL
RDBMS (Relational Database Management System)
“Big Iron” (colloquial term for mainframe computers)
RAFT Consensus Algorithm
Consensus
MVCC (Multiversion Concurrency Control)
Isolation
Etcd
GDPR
Golang
C++
Garbage Collection
Metaprogramming
Rust
Static Linking
Docker
Kubernetes
CAP Theorem
PostGreSQL
ORM (Object Relational Mapping)
Information Schema
PG Catalog
Interleaved Tables
Vertica
Spark
Change Data Capture
The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA
Support Data Engineering Podcast