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:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.