mirror of
https://github.com/Vonng/ddia.git
synced 2025-09-26 23:09:18 +08:00
add images to en v2
This commit is contained in:
parent
a31bfaf897
commit
ee24fa2864
@ -2,7 +2,9 @@
|
||||
title: "10. Consistency and Consensus"
|
||||
weight: 210
|
||||
breadcrumbs: false
|
||||
---
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *An ancient adage warns, “Never go to sea with two chronometers; take one or three.”*
|
||||
>
|
||||
@ -1717,4 +1719,4 @@ discussed in this chapter are helpful in that context.
|
||||
[^88]: Heidi Howard and Jon Crowcroft. [Coracle: Evaluating Consensus at the Internet Edge](https://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p85.pdf). At *Annual Conference of the ACM Special Interest Group on Data Communication* (SIGCOMM), August 2015. [doi:10.1145/2829988.2790010](https://doi.org/10.1145/2829988.2790010)
|
||||
[^89]: Tom Lianza and Chris Snook. [A Byzantine failure in the real world](https://blog.cloudflare.com/a-byzantine-failure-in-the-real-world/). *blog.cloudflare.com*, November 2020. Archived at [perma.cc/83EZ-ALCY](https://perma.cc/83EZ-ALCY)
|
||||
[^90]: Ivan Kelly. [BookKeeper Tutorial](https://github.com/ivankelly/bookkeeper-tutorial). *github.com*, October 2014. Archived at [perma.cc/37Y6-VZWU](https://perma.cc/37Y6-VZWU)
|
||||
[^91]: Jack Vanlightly. [Apache BookKeeper Insights Part 1 — External Consensus and Dynamic Membership](https://medium.com/splunk-maas/apache-bookkeeper-insights-part-1-external-consensus-and-dynamic-membership-c259f388da21). *medium.com*, November 2021. Archived at [perma.cc/3MDB-8GFB](https://perma.cc/3MDB-8GFB)
|
||||
[^91]: Jack Vanlightly. [Apache BookKeeper Insights Part 1 — External Consensus and Dynamic Membership](https://medium.com/splunk-maas/apache-bookkeeper-insights-part-1-external-consensus-and-dynamic-membership-c259f388da21). *medium.com*, November 2021. Archived at [perma.cc/3MDB-8GFB](https://perma.cc/3MDB-8GFB)
|
||||
|
@ -4,6 +4,8 @@ weight: 102
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *The Internet was done so well that most people think of it as a natural resource like the Pacific
|
||||
> Ocean, rather than something that was man-made. When was the last time a technology with a scale
|
||||
> like that was so error-free?*
|
||||
|
@ -4,6 +4,8 @@ weight: 103
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *The limits of my language mean the limits of my world.*
|
||||
>
|
||||
> Ludwig Wittgenstein, *Tractatus Logico-Philosophicus* (1922)
|
||||
@ -263,9 +265,9 @@ human-readable. In a relational data model, this is done using a *join*, for exa
|
||||
|
||||
```sql
|
||||
SELECT users.*, regions.region_name
|
||||
FROM users
|
||||
JOIN regions ON users.region_id = regions.id
|
||||
WHERE users.id = 251;
|
||||
FROM users
|
||||
JOIN regions ON users.region_id = regions.id
|
||||
WHERE users.id = 251;
|
||||
```
|
||||
|
||||
Document databases can store both normalized and denormalized data, but they are often associated
|
||||
@ -343,11 +345,11 @@ In other words, it is a precomputed result of (approximately) the following quer
|
||||
|
||||
```sql
|
||||
SELECT posts.id, posts.sender_id
|
||||
FROM posts
|
||||
JOIN follows ON posts.sender_id = follows.followee_id
|
||||
WHERE follows.follower_id = current_user
|
||||
ORDER BY posts.timestamp DESC
|
||||
LIMIT 1000
|
||||
FROM posts
|
||||
JOIN follows ON posts.sender_id = follows.followee_id
|
||||
WHERE follows.follower_id = current_user
|
||||
ORDER BY posts.timestamp DESC
|
||||
LIMIT 1000
|
||||
```
|
||||
|
||||
This means that whenever the timeline is read, the service still needs to perform two joins: look up
|
||||
|
@ -4,6 +4,8 @@ weight: 104
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *One of the miseries of life is that everybody names things a little bit wrong. And so it makes
|
||||
> everything a little harder to understand in the world than it would be if it were named
|
||||
> differently. A computer does not primarily compute in the sense of doing arithmetic. […] They
|
||||
|
@ -4,6 +4,7 @@ weight: 105
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *Everything changes and nothing stands still.*
|
||||
>
|
||||
|
@ -4,6 +4,8 @@ weight: 206
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *The major difference between a thing that might go wrong and a thing that cannot possibly go wrong
|
||||
> is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible
|
||||
> to get at or repair.*
|
||||
|
@ -4,6 +4,8 @@ weight: 207
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *Clearly, we must break away from the sequential and not limit the computers. We must state
|
||||
> definitions and provide for priorities and descriptions of data. We must state relationships, not
|
||||
> procedures.*
|
||||
|
@ -4,6 +4,8 @@ weight: 208
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *Some authors have claimed that general two-phase commit is too expensive to support, because of the
|
||||
> performance or availability problems that it brings. We believe it is better to have application
|
||||
> programmers deal with performance problems due to overuse of transactions as bottlenecks arise,
|
||||
|
@ -4,6 +4,8 @@ weight: 209
|
||||
breadcrumbs: false
|
||||
---
|
||||
|
||||

|
||||
|
||||
> *They’re funny things, Accidents. You never have them till you’re having them.*
|
||||
>
|
||||
> A.A. Milne, *The House at Pooh Corner* (1928)
|
||||
|
Loading…
Reference in New Issue
Block a user