San Jose
New York
Amsterdam
Frankfurt
Seoul
IXP
Wednesday, June 19, 13
Slide 22
Slide 22 text
San Jose New York =
~ 74ms
Wednesday, June 19, 13
Slide 23
Slide 23 text
San Jose Amsterdam =
~ 200ms
Wednesday, June 19, 13
Slide 24
Slide 24 text
Riak Internals
Wednesday, June 19, 13
Slide 25
Slide 25 text
node
node node
node
node
distributed
masterless
key/value Store
Wednesday, June 19, 13
Slide 26
Slide 26 text
REPLICATION
Wednesday, June 19, 13
Slide 27
Slide 27 text
Quorum
requests
N R W
ead rite
Wednesday, June 19, 13
Slide 28
Slide 28 text
Tail Latency
Misbehaving Nodes
&
Wednesday, June 19, 13
Slide 29
Slide 29 text
“...widespread underestimation of the
specific difficulties of size seems one
of the major underlying causes of the
current software failure.”
--EW Dijkstra
Notes on Structured Programming
1969
Wednesday, June 19, 13
Demo:
sudo
tc
qdisc
add
dev
eth0
root
netem
delay
150ms
Network:
for
x
in
/sys/devices/system/cpu/*;
do
(while
true
;
do
openssl
speed;
done)
&
done
wait
CPU:
Wednesday, June 19, 13
Slide 37
Slide 37 text
demo
Wednesday, June 19, 13
Slide 38
Slide 38 text
client
Riak
Riak
Riak
riak node
L
B
Wednesday, June 19, 13
Slide 39
Slide 39 text
client
Riak
Riak
Riak
riak node
L
B
Wednesday, June 19, 13
Slide 40
Slide 40 text
client
Riak
Riak
Riak
riak node
L
B
Wednesday, June 19, 13
Slide 41
Slide 41 text
client
Riak
Riak
Riak
riak node
L
B
Wednesday, June 19, 13
Slide 42
Slide 42 text
Tunables
Wednesday, June 19, 13
Slide 43
Slide 43 text
I <3 Immutability
Wednesday, June 19, 13
Slide 44
Slide 44 text
Write Once
Read Often
N
W
R
=
=
=
5
N
1
notfound_ok: False
Wednesday, June 19, 13
Slide 45
Slide 45 text
Write Once
Read Hardly
N
W
R
=
=
=
3
Q
Q
Wednesday, June 19, 13
Slide 46
Slide 46 text
Write Once
N
DW
R
=
=
=
3
2
1
CRITICAL
Wednesday, June 19, 13
Slide 47
Slide 47 text
RSEW?
Read Someone Else’s Writes lol
Wednesday, June 19, 13