Title
AWS re:Invent 2023 - Building mission-critical applications with CockroachDB (ARC101)
Summary
- Andrew Baptist from Cockroach Labs presents on building mission-critical applications with CockroachDB.
- Evolution of Databases: From single-node systems to NoSQL and managed databases, and now to distributed SQL databases like CockroachDB.
- CockroachDB offers large-scale, resilient, distributed SQL database capabilities with serializable consistency, ideal for mission-critical applications.
- Ideal Customers: Those who cannot afford even short downtimes, as it costs them significantly (e.g., being featured on the Wall Street Journal for an hour of downtime).
- Architecture: A distributed SQL layer on top of a distributed key-value store, with Postgres compatibility for easy migration.
- Scalability and Resilience: Automatic range splitting for scalability, Raft consensus for resilience, and easy node addition/removal.
- Data Locality: Ensures low latency for global applications, with features like regional by row and global tables.
- Serializable Isolation: Default isolation level to avoid anomalies, with read committed isolation being introduced for transition purposes.
- Follower Reads: Allows slightly stale reads for lower latency and reduced contention.
- Deployment Options: Self-hosted, dedicated cloud, or serverless, with over 300 customers across various industries.
- Resources: Blog, releases, community Slack, and source code availability.
Insights
- Distributed SQL Databases: The future of databases lies in distributed systems that can offer both scalability and strong consistency, which is what CockroachDB aims to provide.
- Mission-Critical Applications: CockroachDB is designed for applications where downtime is unacceptable, highlighting the importance of database resilience in modern software.
- Compatibility and Migration: Emphasis on Postgres compatibility suggests a strategy to ease migration from traditional databases to CockroachDB.
- Data Locality and Performance: The discussion on data locality and latency optimization techniques indicates the importance of performance in distributed applications and the challenges in achieving it.
- CAP Theorem: CockroachDB's approach to the CAP theorem suggests that while theoretical limitations exist, practical solutions can provide both consistency and high availability.
- Adoption and Migration: The mention of over 300 customers and the transition from other systems to CockroachDB indicates a growing trend in the adoption of distributed SQL databases.
- Open Source and Proprietary Mix: The availability of source code and a core open-source version, alongside proprietary extensions, reflects a hybrid model that could appeal to a broad range of users and developers.