Knowledge

Distributed SQL

Source 📝

169:
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
343:
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
77:
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
381: 166:, 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. 32: 36: 116:
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
89:
Spanner uses atomic clocks with the Paxos algorithm to accomplish consensus with regards to state distributed between servers. In 2010, and earlier implementation,
27:
which replicates data across multiple servers. Distributed SQL databases are strongly consistent and most support consistency across racks, data centers, and
522: 505:"YDB is an open-source Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions" 205: 142:
relational database front end structure – meaning data represented as tables with rows and columns similar to any other
117: 340: 336: 555: 433: 414: 368: 149: 86:
store into a temporal multi-version database where data is stored in "schematized semi-relational tables."
48: 97:
Xpand) moved from a hardware appliance to a Paxos-based software database and was later acquired by
486: 40: 113:
which achieves similar results using the Raft algorithm without atomic clocks or custom hardware.
399: 348:. Some experts define DistributedSQL databases as a more specific subset of NewSQL databases. 59: 8: 24: 231: 74: 28: 272: 44: 315: 110: 536: 472: 451: 369:
https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41344.pdf
572: 241: 189: 578: 331:
CockroachDB, YugabyteDB and others have at times referred to themselves as
135:
strong transactional consistency across at least availability zones (i.e.
218: 163: 58:
but NewSQL is a more inclusive term that includes databases that are not
106: 345: 268: 263: 223: 211: 194: 170:
require servers to compare clock offsets and potentially retry reads.
128:
Distributed SQL databases have the following general characteristics:
523:"What we talk about when we talk about NewSQL — Too much information" 83: 79: 305: 90: 382:"Clustrix Builds the Webscale Holy Grail: A Database That Scales" 298: 293: 98: 94: 332: 70: 55: 285: 253: 246: 198: 143: 16:
Relational database which stores data across multiple servers
280: 136: 109:. In 2015, two Google engineers left the company to create 102: 453:
The future of databases: distributed SQL & MariaDB ®
54:
Sometimes distributed SQL databases are referred to as
504: 415:"For MariaDB, it's time to put the pieces together" 434:"Google Spanner Inspires CockroachDB To Outrun It" 173: 537:"SQL vs. NoSQL Databases: What's the Difference?" 570: 475:. 23 September 2020 – via www.youtube.com. 473:"The Architecture of a Distributed SQL Database" 364: 362: 360: 432:Morgan, Timothy Prickett (February 22, 2017). 39:. Distributed SQL databases typically use the 357: 335:databases. Some of the NewSQL databases like 412: 379: 556:"NewSQL — The Next Evolution in Databases" 553: 118:Hybrid transactional/analytical processing 571: 554:Prabagaren, Gokul (October 30, 2019). 431: 326: 380:Higginbotham, Stacey (May 3, 2010). 13: 14: 590: 547: 529: 515: 174:Distributed SQL implementations 123: 497: 487:"Living Without Atomic Clocks" 479: 465: 444: 425: 406: 392: 373: 1: 351: 155:underlying key–value storage 7: 400:"MariaDB acquires Clustrix" 120:database built on Spanner. 10: 595: 65: 158:native SQL implementation 413:Baer (dbInsight), Tony. 132:synchronous replication 51:across multiple nodes. 105:cloud offering called 47:algorithms to achieve 320:Proprietary SQL-like 310:Proprietary SQL-like 236:Proprietary SQL-like 60:distributed databases 23:database is a single 402:. 20 September 2018. 25:relational database 327:Compared to NewSQL 33:availability zones 29:wide area networks 493:. April 21, 2020. 438:The Next Platform 324: 323: 586: 564: 563: 551: 545: 544: 533: 527: 526: 519: 513: 512: 501: 495: 494: 483: 477: 476: 469: 463: 462: 461: 460: 448: 442: 441: 429: 423: 422: 410: 404: 403: 396: 390: 389: 377: 371: 366: 258:Proprietary SQL 178: 177: 37:geographic zones 31:including cloud 594: 593: 589: 588: 587: 585: 584: 583: 569: 568: 567: 552: 548: 543:. 12 June 2022. 535: 534: 530: 521: 520: 516: 503: 502: 498: 485: 484: 480: 471: 470: 466: 458: 456: 450: 449: 445: 430: 426: 411: 407: 398: 397: 393: 378: 374: 367: 358: 354: 344:databases like 329: 176: 126: 101:and added to a 68: 21:distributed SQL 17: 12: 11: 5: 592: 582: 581: 566: 565: 546: 528: 514: 496: 491:Cockroach Labs 478: 464: 443: 424: 405: 391: 372: 355: 353: 350: 328: 325: 322: 321: 318: 312: 311: 308: 302: 301: 296: 290: 289: 283: 277: 276: 266: 260: 259: 256: 250: 249: 244: 238: 237: 234: 232:Google Spanner 228: 227: 221: 215: 214: 209: 202: 201: 192: 186: 185: 182: 175: 172: 162:Following the 160: 159: 156: 153: 148:automatically 146: 140: 133: 125: 122: 67: 64: 15: 9: 6: 4: 3: 2: 591: 580: 577: 576: 574: 561: 557: 550: 542: 538: 532: 524: 518: 510: 506: 500: 492: 488: 482: 474: 468: 455: 454: 447: 439: 435: 428: 420: 416: 409: 401: 395: 387: 383: 376: 370: 365: 363: 361: 356: 349: 347: 342: 338: 334: 319: 317: 314: 313: 309: 307: 304: 303: 300: 297: 295: 294:MariaDB XPand 292: 291: 287: 284: 282: 279: 278: 274: 270: 267: 265: 262: 261: 257: 255: 252: 251: 248: 245: 243: 242:MySQL Cluster 240: 239: 235: 233: 230: 229: 225: 222: 220: 217: 216: 213: 210: 207: 204: 203: 200: 196: 193: 191: 190:Amazon Aurora 188: 187: 183: 180: 179: 171: 167: 165: 157: 154: 151: 147: 145: 141: 138: 134: 131: 130: 129: 121: 119: 114: 112: 108: 104: 100: 96: 92: 87: 85: 81: 76: 72: 63: 61: 57: 52: 50: 46: 42: 38: 34: 30: 26: 22: 559: 549: 540: 531: 517: 508: 499: 490: 481: 467: 457:, retrieved 452: 446: 437: 427: 418: 408: 394: 385: 375: 330: 168: 161: 152:data storage 127: 124:Architecture 115: 111:Cockroach DB 88: 69: 53: 20: 18: 541:www.ibm.com 219:CockroachDB 208:(Microsoft) 164:CAP Theorem 139:compliance) 459:2022-12-21 386:gigaom.com 352:References 346:PostgreSQL 269:PostgreSQL 264:YugabyteDB 224:PostgreSQL 212:PostgreSQL 206:Citus Data 195:PostgreSQL 91:ClustrixDB 35:and cloud 275:CQL-like 273:Cassandra 84:key value 80:Big Table 49:consensus 573:Category 509:ydb.tech 306:Teradata 299:MariaDB 150:sharded 99:MariaDB 95:MariaDB 75:Spanner 66:History 560:Medium 341:Vitess 333:NewSQL 288:-like 271:& 226:-like 197:& 181:Vendor 107:SkySQL 82:-like 71:Google 56:NewSQL 419:ZDNet 337:Citus 286:MySQL 254:NuoDB 247:MySQL 199:MySQL 144:RDBMS 93:(now 41:Paxos 339:and 281:TiDB 184:API 137:ACID 103:SaaS 45:Raft 579:SQL 316:YDB 73:'s 43:or 575:: 558:. 539:. 507:. 489:. 436:. 417:. 384:. 359:^ 62:. 19:A 562:. 525:. 511:. 440:. 421:. 388:.

Index

relational database
wide area networks
availability zones
geographic zones
Paxos
Raft
consensus
NewSQL
distributed databases
Google
Spanner
Big Table
key value
ClustrixDB
MariaDB
MariaDB
SaaS
SkySQL
Cockroach DB
Hybrid transactional/analytical processing
ACID
RDBMS
sharded
CAP Theorem
Amazon Aurora
PostgreSQL
MySQL
Citus Data
PostgreSQL
CockroachDB

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.