/croach

Primary LanguageGo

Introduction to Distributed SQL and CockroachDB

  • A distributed SQL database is a single relational database which replicates data across multiple servers.
  • Google's Spanner popularized the modern distributed SQL database concept. Google described the database and its architecture in a 2012 whitepaper called "Spanner: Google's Globally-Distributed Database."
  • Distributed SQL databases have the following general characteristics:
    • synchronous replication
    • strong transactional consistency across at least availability zones (i.e. ACID compliance)
    • relational database front end structure – meaning data represented as tables with rows and columns similar to any other RDBMS
    • automatically sharded data storage
    • underlying key–value storage
    • native SQL implementation