2. CSS LABS
Hi, i am qiak Hi, i am riak Hi, i am siak
Hi, i am piak
Hi, i am tiak
Story of a 5 Node Cluster
Once upon time there were five nodes...
... and they formed a Ring
3. CSS LABS
Qiak, I will
All is well! I am hit!
Take care.
Too drunk!
Siak! I amthere!
Story of a 5 Node Cluster
They together kept a lot of data...
... some shared, some not ...
... they were always willing to cover up
4. CSS LABS Hi, i am viak!
Guys! This is
Great to Ah! did you
Well, hello! viak.
have you! know?
Hi Viak!
Story of a 5 Node Cluster
They were welcoming...
... they were together called Riak!
5. CSS LABS
Riak Cluster
The Features
* Decentralized * Erlang Advantage
* Key-Value Store * RESTful API: jiak
* Document Oriented * Map-Reduce
6. CSS LABS
Riak Cluster
The Features
* Decentralized * No master
* Node Independence
* Failure Tranperancy
7. CSS LABS
Riak Cluster
The Features
* NoSQL
* Key-Value Store * Memory Footprint
* Logical data
8. CSS LABS
Riak Cluster
The Features
* No Tables
* Field Flexibilty
* Document Oriented
* Extensible
9. CSS LABS
Riak Cluster
The Features
* Designed to Distribute * Erlang Advantage
* Concurrent Processes
* No Shared State
10. CSS LABS
Riak Cluster
The Features
* In Thing
* Small Learning Curve * RESTful API: jiak
* Web 2.0
11. CSS LABS
Riak Cluster
The Features
* Already Key-Value
* Huge Data
* Map-Reduce
* Clustered
14. CSS LABS
Keys map onto points, on E B's Key range:
the ring, determined by RangeEB
some hash function
C
B
Riak Cluster
The Concepts
A's Key range:
RangeBA
A
D
15. CSS LABS
Keys map onto points, on E B's Key range.
the ring, determined by RangeEB
some hash function
B Crashes, now
the range?
RangeEA
C
B
Riak Cluster
The Concepts
A's Key range.
RangeBA
A
D
16. CSS LABS
Keys map onto points, on E B's Key range:
the ring, determined by RangeEB
some hash function
C
B
Replicas of the Riak Cluster
The Concepts
data are The Key is hashed onto the
maintained. ring, in RangeBA A's Key range:
Hence data stored in A RangeBA
A
D
17. CSS LABS
Keys map onto points, on E B's Key range:
the ring, determined by RangeEB
some hash function
C New Node F, Splits the
range.
RangeDF & RangeFC B
Drops the
replica of
RangeBA
Riak Cluster
The Concepts
F The Key is hashed onto the
ring, in RangeBA A's Key range:
Hence data stored in A RangeBA
Replica of
RangeBA is A
moved here D
18. CSS LABS
N=3 E
C
B
Riak Cluster
The Concepts
F
A
D
19. CSS LABS
W=2 E
C
B
Riak Cluster
The Concepts
F
A
D
20. CSS LABS
R=2 E
C
B
Riak Cluster
The Concepts
F
A
D