Riak: Distributed Storage for Games You Don't Have to Worry About

Riak: Distributed Storage for Games You Don't Have to Worry About

Presented at Gamelab 2013 in Barcelona

7c4bac30ed2d3a9d346ced746b1d985d?s=128

Tom Santero

June 27, 2013
Tweet

Transcript

  1. Distributed storage for games you don’t have to worry about

    Press Start (c) 2013 Basho Technologies All rights reserved. Riak
  2. Player Select Tom Santero tsantero on github on twitter @basho.com

    {
  3. Basho Technologies we make riak...

  4. I <3 video games

  5. video games have changed

  6. When I was a kid...

  7. Kids Today...

  8. Evolution of games largely characterized by rapid development of processing

    technology
  9. What happened?

  10. Online / multiplayer gaming experiences

  11. meanwhile...

  12. Amazon.com

  13. None
  14. Riak

  15. masterless, distributed key/value datastore

  16. deployed as a cluster of nodes

  17. key / value

  18. map/reduce engine Full-text search secondary indexes

  19. scale

  20. Global Availability

  21. Used by... and more...

  22. Why?

  23. Users vote for your games with: their time their money

    Downloads recommendations
  24. None
  25. Fault Tolerance

  26. High Write Throughput

  27. Cost of operations predictable latency easy to scale small teams

  28. SHIP IT! Did you test the code?

  29. Did you test the Infrastructure?

  30. Thousands  of  players  across  the  world  are  playing  and  

    having  a  good  experience  –  in  fact,  more  than  700,000   cities  have  been  built  by  our  players  in  just  24  hours.   But  many  are  experiencing  server  instability  and   consequently,  the  rollout  in  North  America  has  been   challenging.  It's  also  now  evident  that  players  across   Europe  and  Asia  are  experiencing  the  same  frustration.   Our  priority  now  is  to  quickly  and  dramatically  increase   the  number  and  stability  of  our  servers  and,  with  that,   the  number  of  players  who  can  simultaneously  access  the   game.  We  added  servers  today,  and  there  will  be  several   more  added  over  the  weekend.  We're  working  as  hard  as   possible  to  make  sure  everyone  gets  to  experience  the   amazing  game  we  built  in  SimCity.
  31. NOT Acceptable

  32. Build a cross-platform gaming experience with Riak

  33. Authentication and profiles key value oauth JSON/XML/enc uuid JSON/XML/enc email

    JSON/XML/enc } device_id last_session other_pointers
  34. Authentication and profiles key value oauth JSON/XML/enc uuid JSON/XML/enc email

    JSON/XML/enc } device_id last_session other_pointers Cross Platform!
  35. Session and game state key value user riak sessionid JSON/XML/enc

    uuid JSON/XML/enc PUT sessions/sessionID GET sessions/sessionID
  36. Session and game state key value user riak connection sessionid

    JSON/XML/enc uuid JSON/XML/enc session created PUT sessions/sessionID GET sessions/sessionID
  37. Session and game state key value user riak connection save

    progress sessionid JSON/XML/enc uuid JSON/XML/enc session created PUT sessions/sessionID GET sessions/sessionID
  38. Session and game state key value user riak connection save

    progress sessionid JSON/XML/enc uuid JSON/XML/enc X terminate conn session created PUT sessions/sessionID GET sessions/sessionID
  39. Session and game state key value user riak connection save

    progress sessionid JSON/XML/enc uuid JSON/XML/enc X terminate conn reconnect session created session created ... PUT sessions/sessionID GET sessions/sessionID
  40. user created content avatars images etc...

  41. In-Game purchases game inventory P a y m e n

    t transaction log player’s inventory game
  42. Social Graphs Player 1 is friends with Player 2 Player

    3 Player 2 is friends with Player 3 player 4 player 6 via secondary index CRDT
  43. Notification Systems event based messages grab via 2i or m/r

    asynchronous delivery via: urbanairship kafka / Rabbitmq apple/android servers
  44. Support rapid growth

  45. in-game statistics A/B testing in-game messaging

  46. Level 1 complete

  47. To proceed to Level 2 come visit our booth

  48. Questions? tsantero on github on twitter @basho.com {