Building Mission Critical Applications with Cockroachdb Arc101

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.