Presentation: Introducing Riak
This is the longest NoSQL presentation I’ve ever posted here: 209 slides! If you’re planning to beat Kevin Smith’s (@kevsmith) record please do let me know in advance so I can reserve enough time to go through it.
My notes below:
What is Riak?
- A flexible storage engine…
- … with a REST API …
- … and map/reduce capability …
- … designed to be fault-tolerant …
- … distributed …
- … and ops friendly
The Riak Way for CAP
- Pick Two
- For each operation
Riak Improvements on Amazon Dynamo N, R, W[1]
- N can vary per bucket
- R and W can vary per operation
- *Choose your own fault tolerance/performance tradeoff
Conflict resolution: Client Resolution[2]
- Can be set per-bucket or server-wide
- Conflicting data is “bubbled up” to the client
- Client picks the winner
Conflict resolution: Server Resolution
- “Last write wins”
- Enabled by default
- What most apps need 80% of the time
The presentation covers also:
- Linking objects (slide 78)
- Map/Reduce (slide 99)
References
- [1] N= number of replicas, R=number of replicas needed for a successful read, W=number of replicas needed for a successful write. (↩)
- [2] Jeff Darcy has an interesting article on ☞ conflict resolution (↩)