riak at wooga_riak meetup sept 2013

Post on 21-Jan-2018

1.749 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Riak & Wooga

by Guillermo Álvarez @guillermooo

Wooga

API Key Value Store + extras

Security Auth

Sinatra

Chef + Amazon

Riak

eLevelDB

5 nodes x m1.xlarge 15 GB, 2 cores, 2 units

Ring Size 1024

Benchmark

5 MDAU = 225K rpm

( CPU )

HA/PROXY APP SERVERS

RIAK + MEMCACHED

MEMCACHED

95% PUTS 5% GETS

99% HITS

Benchmark Again

Launch week

Now

Monitoring

Alerting

Problems we have

Riak Ring Size

OOM cluster death

1 Node dies 0 people realize

Summary

●  You should take care with your ring size

●  You must do monitoring

●  Reliable

Riak for Pearl’s Peril

Daniel Doubleday http://de.linkedin.com/pub/daniel-doubleday/1/115/195/

Pearl Who?

Architecture

Riak 1

Riak n

App Server 1

HA

Pro

xy

App Server n

HA

Pro

xy

Load Balancer

1

Load Balancer

n

Data Model

User stored as one JSON-CLOB ✘  Every client request needs to read / write

average 4k data ✘  Needs concurrency control

✔ Ensures data consistency ✔ Reduces round trips ✔ Reduces number of keys

Data Set Total : ~ 15M

Keys New : ~ 50k /

Day Updates : ~ 100M / Day

Requests : 100 - 200k rpm Per Server : ~ 75k rpm RW-Ratio : 50% / 50%

Data Size : ~ 20GB / Node

Cluster Info

Hardware Bare Metal, 32GB 6 x 8-core AMD Opteron 2.6GHz 2 x 12-core Intel Xeon 2.0GHz

Riak Version : 1.3.2 Storage : Bitcask

Storage Backend

Bitcask

●  Higher Throughput ●  Predictable Read

and Write Performance

LevelDB

●  Compression ●  Supports large

number of keys

The Good

A Typical Day

Adding a Node

The Bad

Performance Degradation

Nodes doing … things

The Ugly

Cluster Failures

Conclusions

●  It works ...

●  … most of the time

●  NoSQL is becoming commodity

●  There’s no shame in using mysql

top related