Riak
a distributed, web-inspired database NoSQLBerlin'09 Martin Scholl <ms@diskware.net> @zeit_geist
Riak a distributed, web-inspired database NoSQLBerlin'09 Martin - - PowerPoint PPT Presentation
Riak a distributed, web-inspired database NoSQLBerlin'09 Martin Scholl <ms@diskware.net> @zeit_geist Historical Notes Riak is Basho Incs brainchild Apache 2.0 licensed first public release 09/08/07
a distributed, web-inspired database NoSQLBerlin'09 Martin Scholl <ms@diskware.net> @zeit_geist
Cassandra CouchDB Riak
cool?
✓ ✓ ✓
distributed
✓ ✓
HTTP/REST
✓ ✓
JSON
✓ ✓ Erlang ✓ ✓ M/R ✓ ✓
25 50 75 100 Cassandra CouchDB Riak
awesomeness %
(caffeine will be served in 42 minutes)
We jump off cliff HTTP/REST and land in Riak’s guts
User A User B
knows
User C
knows
User D
knows
{ bucket:“users”, key:“A”
name:... } links:[ [”users”,”B”,”B”], [“users”,”C”,”C”]
] }
A B C D
GET /jiak/users/A/
users,_,_
GET /jiak/users/A/
users,_,_/users,_,_
A B C D
modelled as an Erlang process
Get, Map and Reduce
HTTP / REST PUT / GET FSM Node Node Node
spawn query
distribution map
determining nodes responsible for a key
(Ring x 160b)->Node
gen_fsm processes
Erlang VM Ring Ring Gossip Eventer
Data Storage Engines
VClocks Put FSM Get FSM HTTP / REST native Client