| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/Distributed_SQL |
| Contents |
|---|
| Distributed SQL implementations |
| Compared to NewSQL |
| References |
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.
– meaning data represented as tables with rows and columns similar to any other RDBMSFollowing 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.
| Vendor | API | License model |
|---|---|---|
| Amazon Aurora | PostgreSQL & MySQL | Proprietary |
| CockroachDB | PostgreSQL-like | Proprietary |
| Google Spanner | Proprietary SQL-like | Proprietary |
| MySQL Cluster | MySQL | Open Source (GPLv2) |
| NuoDB | Proprietary SQL | Proprietary |
| YugabyteDB | PostgreSQL & Cassandra CQL-like | Open Source (Apache 2.0) |
| TiDB | MySQL-like | Open Source (Apache 2.0) |
| MariaDB XPand | MariaDB | Proprietary |
| Teradata | Proprietary SQL-like | Proprietary |
| YDB | Proprietary SQL-like, PostgreSQL-like | Open Source (Apache 2.0) |
CockroachDB, YugabyteDB and others have at times referred to themselves as NewSQL databases. Some of the NewSQL databases have fundamentally different architectures, but were cited as examples of NewSQL by Matthew Aslett who coined the term. 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. Some experts define DistributedSQL databases as a more specific subset of NewSQL databases.
| View original on Wikipedia | Back | FazBrowse Home |