Riak at Wooga_Riak Meetup Sept 2013

1,483 views
1,383 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,483
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Riak at Wooga_Riak Meetup Sept 2013

  1. 1. Riak & Wooga by Guillermo Álvarez @guillermooo
  2. 2. Wooga
  3. 3. API Key Value Store + extras
  4. 4. Security Auth
  5. 5. Sinatra
  6. 6. Chef + Amazon
  7. 7. Riak
  8. 8. eLevelDB 5 nodes x m1.xlarge 15 GB, 2 cores, 2 units
  9. 9. Ring Size 1024
  10. 10. Benchmark 5 MDAU = 225K rpm
  11. 11. ( CPU )
  12. 12. HA/PROXY APP SERVERS RIAK + MEMCACHED
  13. 13. MEMCACHED 95% PUTS 5% GETS 99% HITS
  14. 14. Benchmark Again
  15. 15. Launch week Now
  16. 16. Monitoring
  17. 17. Alerting
  18. 18. Problems we have
  19. 19. Riak Ring Size
  20. 20. OOM cluster death
  21. 21. 1 Node dies 0 people realize
  22. 22. Summary ●  You should take care with your ring size ●  You must do monitoring ●  Reliable
  23. 23. Riak for Pearl’s Peril Daniel Doubleday http://de.linkedin.com/pub/daniel-doubleday/1/115/195/
  24. 24. Pearl Who?
  25. 25. Architecture Riak 1 Riak n App Server 1 HAProxy App Server n HAProxy Load Balancer 1 Load Balancer n
  26. 26. 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
  27. 27. Data Set Total : ~ 15M Keys New : ~ 50k / Day Updates : ~ 100M / Day Requests : 100 - 200k rpm Per Server : ~ 75k rpm RW-Ratio : 50% / 50%
  28. 28. 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
  29. 29. Storage Backend Bitcask ●  Higher Throughput ●  Predictable Read and Write Performance LevelDB ●  Compression ●  Supports large number of keys
  30. 30. The Good
  31. 31. A Typical Day
  32. 32. Adding a Node
  33. 33. The Bad
  34. 34. Performance Degradation
  35. 35. Nodes doing … things
  36. 36. The Ugly
  37. 37. Cluster Failures
  38. 38. Conclusions ●  It works ... ●  … most of the time ●  NoSQL is becoming commodity ●  There’s no shame in using mysql

×