Your SlideShare is downloading. ×
Riak — Anatomy of a Request
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Riak — Anatomy of a Request

309
views

Published on

Published in: Business, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
309
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • 1) Client requests a key\n2) Get handler starts up to service the request\n3) Hashes key to its owner partitions (N=3)\n4) Sends similar “get” request to those partitions\n5) Waits for R replies that concur (R=2)\n6) Resolves the object, replies to client\n7) Third reply may come back at any time, but FSM replies as soon as quorum is satisfied/violated\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Anatomy of a Request get(“conferences/surge”)
    • 2. Anatomy of a Request get(“conferences/surge”)client Riak
    • 3. Anatomy of a Request get(“conferences/surge”)client Riak Get Handler (FSM)
    • 4. Anatomy of a Request get(“conferences/surge”)client Riak hash(“conferences/oredev”) Get Handler (FSM) == 10, 11, 12
    • 5. Anatomy of a Request get(“conferences/surge”) client Riak hash(“conferences/oredev”) Get Handler (FSM) == 10, 11, 12 Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 The Ring
    • 6. Anatomy of a Request get(“conferences/surge”) client Riak Get Handler (FSM) get(“conferences/oredev”) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 The Ring
    • 7. Anatomy of a Request get(“conferences/surge”) client Riak R=2 Get Handler (FSM) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 The Ring
    • 8. Anatomy of a Request get(“conferences/surge”) client Riak R=2 v1 Get Handler (FSM) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 The Ring
    • 9. Anatomy of a Request get(“conferences/surge”) client RiakR=2 v1 v2 Get Handler (FSM)
    • 10. Anatomy of a Request get(“conferences/surge”) client v2 RiakR=2 v2 Get Handler (FSM)
    • 11. Anatomy of a Request get(“conferences/surge”) v2
    • 12. Read Repair get(“conferences/surge”) client v2 Riak R=2 v1 v2 Get Handler (FSM) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 v1 v2
    • 13. Read Repair get(“conferences/surge”) client v2 Riak R=2 v2 Get Handler (FSM) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 v1 v2
    • 14. Read Repair get(“conferences/surge”) client v2 Riak R=2 v2 Get Handler (FSM) Coordinating node Cluster6 7 8 9 10 11 12 13 14 15 16 v1 v1 v2
    • 15. Read Repair get(“conferences/surge”) client v2 Riak R=2 v2 Get Handler (FSM) Coordinating node Cluster v2 v26 7 8 9 10 11 12 13 14 15 16 v2 v2 v2