fbpx
Wikipedia

Distributed SQL

A distributed SQL database is a single relational database which replicates data across multiple servers. Distributed SQL databases are strongly consistent and most support consistency across racks, data centers, and wide area networks including cloud availability zones and cloud geographic zones. Distributed SQL databases typically use the Paxos or Raft algorithms to achieve consensus across multiple nodes.

Sometimes distributed SQL databases are referred to as NewSQL but NewSQL is a more inclusive term that includes databases that are not distributed databases.

History edit

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." The paper described Spanner as having evolved from a Big Table-like key value store into a temporal multi-version database where data is stored in "schematized semi-relational tables."[1]

Spanner uses atomic clocks with the Paxos algorithm to accomplish consensus with regards to state distributed between servers. In 2010, and earlier implementation, ClustrixDB (now MariaDB Xpand) moved from a hardware appliance to a Paxos-based software database[2] and was later acquired by MariaDB[3] and added to a SaaS cloud offering called SkySQL.[4] In 2015, two Google engineers left the company to create Cockroach DB which achieves similar results using the Raft algorithm without atomic clocks or custom hardware.[5]

Spanner is primarily used for transactional and time-series use cases. However, Google furthered this research with a follow on paper about Google F1 which it describes as a Hybrid transactional/analytical processing database built on Spanner.[1]

Architecture edit

Distributed SQL databases have the following general characteristics:

  • synchronous replication
  • strong transactional consistency across at least availability zones (i.e. ACID compliance)[6]
  • 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[7][1]
  • native SQL implementation

Following the CAP Theorem, distributed SQL databases are "CP" or consistent and partition-tolerant. Algorithmically they sacrifice availability in that a failure of a primary node can make the database unavailable for writes.

All distributed SQL implementations require some kind of temporal synchronization to guarantee consistency. With the exception of Spanner, most do not use custom hardware to provide atomic clocks. Spanner is able to synchronize writes with temporal guarantees. Implementations without custom hardware require servers to compare clock offsets and potentially retry reads.[8]

Distributed SQL implementations edit

Vendor API
Amazon Aurora PostgreSQL & MySQL
Citus Data (Microsoft) PostgreSQL
CockroachDB PostgreSQL-like
Google Spanner Proprietary SQL-like
MySQL Cluster MySQL
NuoDB Proprietary SQL
YugabyteDB PostgreSQL & Cassandra CQL-like
TiDB MySQL-like
MariaDB XPand MariaDB
Teradata Proprietary SQL-like
YDB[9] Proprietary SQL-like

Compared to NewSQL edit

CockroachDB, YugabyteDB and others have at times referred to themselves as NewSQL databases. Some of the NewSQL databases like Citus and Vitess have fundamentally different architectures, but were cited as examples of NewSQL by Matthew Aslett who coined the term.[10] In essence, distributed SQL databases are built from the ground-up and NewSQL databases include replication and sharding technologies added to existing client-server relational databases like PostgreSQL.[11] Some experts define DistributedSQL databases as a more specific subset of NewSQL databases.[12]

References edit

  1. ^ a b c https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41344.pdf [bare URL PDF]
  2. ^ Higginbotham, Stacey (May 3, 2010). "Clustrix Builds the Webscale Holy Grail: A Database That Scales". gigaom.com.
  3. ^ "MariaDB acquires Clustrix". 20 September 2018.
  4. ^ Baer (dbInsight), Tony. "For MariaDB, it's time to put the pieces together". ZDNet.
  5. ^ Morgan, Timothy Prickett (February 22, 2017). "Google Spanner Inspires CockroachDB To Outrun It". The Next Platform.
  6. ^ The future of databases: distributed SQL & MariaDB ®, retrieved 2022-12-21
  7. ^ "The Architecture of a Distributed SQL Database" – via www.youtube.com.
  8. ^ "Living Without Atomic Clocks". Cockroach Labs. April 21, 2020.
  9. ^ "YDB is an open-source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions". ydb.tech.
  10. ^ "What we talk about when we talk about NewSQL — Too much information".
  11. ^ "SQL vs. NoSQL Databases: What's the Difference?". www.ibm.com. 12 June 2022.
  12. ^ Prabagaren, Gokul (October 30, 2019). "NewSQL — The Next Evolution in Databases". Medium.

distributed, distributed, database, single, relational, database, which, replicates, data, across, multiple, servers, databases, strongly, consistent, most, support, consistency, across, racks, data, centers, wide, area, networks, including, cloud, availabilit. A distributed SQL database is a single relational database which replicates data across multiple servers Distributed SQL databases are strongly consistent and most support consistency across racks data centers and wide area networks including cloud availability zones and cloud geographic zones Distributed SQL databases typically use the Paxos or Raft algorithms to achieve consensus across multiple nodes Sometimes distributed SQL databases are referred to as NewSQL but NewSQL is a more inclusive term that includes databases that are not distributed databases Contents 1 History 2 Architecture 3 Distributed SQL implementations 4 Compared to NewSQL 5 ReferencesHistory editGoogle 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 The paper described Spanner as having evolved from a Big Table like key value store into a temporal multi version database where data is stored in schematized semi relational tables 1 Spanner uses atomic clocks with the Paxos algorithm to accomplish consensus with regards to state distributed between servers In 2010 and earlier implementation ClustrixDB now MariaDB Xpand moved from a hardware appliance to a Paxos based software database 2 and was later acquired by MariaDB 3 and added to a SaaS cloud offering called SkySQL 4 In 2015 two Google engineers left the company to create Cockroach DB which achieves similar results using the Raft algorithm without atomic clocks or custom hardware 5 Spanner is primarily used for transactional and time series use cases However Google furthered this research with a follow on paper about Google F1 which it describes as a Hybrid transactional analytical processing database built on Spanner 1 Architecture editDistributed SQL databases have the following general characteristics synchronous replication strong transactional consistency across at least availability zones i e ACID compliance 6 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 7 1 native SQL implementation Following the CAP Theorem distributed SQL databases are CP or consistent and partition tolerant Algorithmically they sacrifice availability in that a failure of a primary node can make the database unavailable for writes All distributed SQL implementations require some kind of temporal synchronization to guarantee consistency With the exception of Spanner most do not use custom hardware to provide atomic clocks Spanner is able to synchronize writes with temporal guarantees Implementations without custom hardware require servers to compare clock offsets and potentially retry reads 8 Distributed SQL implementations editVendor API Amazon Aurora PostgreSQL amp MySQL Citus Data Microsoft PostgreSQL CockroachDB PostgreSQL like Google Spanner Proprietary SQL like MySQL Cluster MySQL NuoDB Proprietary SQL YugabyteDB PostgreSQL amp Cassandra CQL like TiDB MySQL like MariaDB XPand MariaDB Teradata Proprietary SQL like YDB 9 Proprietary SQL likeCompared to NewSQL editCockroachDB YugabyteDB and others have at times referred to themselves as NewSQL databases Some of the NewSQL databases like Citus and Vitess have fundamentally different architectures but were cited as examples of NewSQL by Matthew Aslett who coined the term 10 In essence distributed SQL databases are built from the ground up and NewSQL databases include replication and sharding technologies added to existing client server relational databases like PostgreSQL 11 Some experts define DistributedSQL databases as a more specific subset of NewSQL databases 12 References edit a b c https storage googleapis com pub tools public publication data pdf 41344 pdf bare URL PDF Higginbotham Stacey May 3 2010 Clustrix Builds the Webscale Holy Grail A Database That Scales gigaom com MariaDB acquires Clustrix 20 September 2018 Baer dbInsight Tony For MariaDB it s time to put the pieces together ZDNet Morgan Timothy Prickett February 22 2017 Google Spanner Inspires CockroachDB To Outrun It The Next Platform The future of databases distributed SQL amp MariaDB retrieved 2022 12 21 The Architecture of a Distributed SQL Database via www youtube com Living Without Atomic Clocks Cockroach Labs April 21 2020 YDB is an open source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions ydb tech What we talk about when we talk about NewSQL Too much information SQL vs NoSQL Databases What s the Difference www ibm com 12 June 2022 Prabagaren Gokul October 30 2019 NewSQL The Next Evolution in Databases Medium Retrieved from https en wikipedia org w index php title Distributed SQL amp oldid 1192420372, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.