Eventually
                        Consistent
                         wspringer@xebia.com




woensdag 21 juli 2010
Werner
                        Vogels




woensdag 21 juli 2010
‘60s         ‘90s
                  Distribution   Minimize
                 Transparency     Failure

woensdag 21 juli 20...
Client
                        Perspective




woensdag 21 juli 2010
Model

                                    B
                        A
                                    C


woensdag 21...
Strong Consistency
                                       1
                                                   0   value =...
Weak Consistency
                                                                                           B
            ...
Eventual Consistency
                                                                                          B
         ...
Causal Consistency
                                            2   notification of update




                             ...
Read-your-writes
                                 Consistency
                                                            ...
Session Consistency
                                                                                   B
                 ...
Monotonic Read
                                  Consistency
                                                             ...
Monotonic Write
                                 Consistency
                                                             ...
Eventual Consistentency
                              in RDBMS
                                                         Lo...
Server
                        Perspective




woensdag 21 juli 2010
NRW

                        N The number of nodes that store replicates of the data
                        W The number ...
Strong Consistency
                                             W=3                   value = "foo"



                   ...
Optimizations


                        • Optimize read: R = 1, N = W
                        • Optimize write: W = 1, N =...
Design Considerations


                        • Clients implementing read-your-writes and monotonic
                    ...
Upcoming SlideShare
Loading in...5
×

Eventually Consistent

2,951
-1

Published on

Summary of Werner Vogels' paper on eventual consistency.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,951
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
58
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Eventually Consistent

  1. 1. Eventually Consistent wspringer@xebia.com woensdag 21 juli 2010
  2. 2. Werner Vogels woensdag 21 juli 2010
  3. 3. ‘60s ‘90s Distribution Minimize Transparency Failure woensdag 21 juli 2010
  4. 4. Client Perspective woensdag 21 juli 2010
  5. 5. Model B A C woensdag 21 juli 2010
  6. 6. Strong Consistency 1 0 value = "foo" value = "bar" 2 B A value = "bar" 2 C 2 value = "bar" value = "bar" After the update, any subsequent access will return the updated value. woensdag 21 juli 2010
  7. 7. Weak Consistency B 0 value = "foo" >1 1 value = "bar" A value = "bar" / "foo" >1 C value = "bar" / value = "bar" / "foo" >1 "foo" The system does not guarantee that at any given point in the future subsequent access will return the updated value woensdag 21 juli 2010
  8. 8. Eventual Consistency B 0 value = "foo" 1 value = "bar" t A value = "bar" t C value = "bar" t value = "bar" t≥1 If no updates are made to the object, eventually all accesses will return the last updated value. woensdag 21 juli 2010
  9. 9. Causal Consistency 2 notification of update B 0 value = "foo" 1 value = "bar" 3 A value = "bar" 3 C value = "foo" Subsequent access by process B will return the updated value, and a write is guaranteed to supersede the earlier write. woensdag 21 juli 2010
  10. 10. Read-your-writes Consistency B 0 value = "foo" 1 value = "bar" A C 2 value = "bar" Process A, after updating a data item always access the updated value and never sees an older value woensdag 21 juli 2010
  11. 11. Session Consistency B Session 1 0 value = "foo" 1 value = "bar" A 2 value = "bar" 2 value = "foo" C Session 2 Within the “session”, the system guarantees read-your- writes consistency woensdag 21 juli 2010
  12. 12. Monotonic Read Consistency B 0 value = "foo" value = "bar" A 3 1 value = "foo" C 2 value = "foo" 4 value = "bar" If a process has seen a particular value for the object, any subsequent access will never return any previous values woensdag 21 juli 2010
  13. 13. Monotonic Write Consistency B 0 value = "foo" A value = "bar" 1 2 C value = "last" The system guarantees to serialize the writes by the same process woensdag 21 juli 2010
  14. 14. Eventual Consistentency in RDBMS Log shipping Primary Backup replica A 1 async 2 3 Eventual consistency is not just a property of NoSQL Solutions woensdag 21 juli 2010
  15. 15. Server Perspective woensdag 21 juli 2010
  16. 16. NRW N The number of nodes that store replicates of the data W The number of replicas that need to acknowledge the receipt of the update before the update completes R The number of replicas that are contacted when a data object is accessed through a read operation woensdag 21 juli 2010
  17. 17. Strong Consistency W=3 value = "foo" value = "foo" A value = "foo" N=4 value = "foo" R=2 W + R > N implies strong consistency woensdag 21 juli 2010
  18. 18. Optimizations • Optimize read: R = 1, N = W • Optimize write: W = 1, N = R woensdag 21 juli 2010
  19. 19. Design Considerations • Clients implementing read-your-writes and monotonic reads, by adding versions on writes, and discarding everything the precedes the last-seen version. woensdag 21 juli 2010
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×