Upgrade to Pro — share decks privately, control downloads, hide ads and more …

nosql and mongodb:  ¯\_(ツ)_/¯

nosql and mongodb:  ¯\_(ツ)_/¯

An overview of nosql, distributed systems and mongodb for the Kuali Days developer conference.

Jamison Dance

November 14, 2014
Tweet

More Decks by Jamison Dance

Other Decks in Programming

Transcript

  1. what even is nosql "A NoSQL database provides a mechanism

    for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases." - wikipedia
  2. tradeoffs (with exceptions) heterogeneous data vs defined schemas write speed

    vs consistency many machines vs one or few machines OLAP vs OLTP
  3. then why? they *might* model your data better they can

    be faster they can be used as secondary stores they *might* support larger scale
  4. CAP Theorem consistency - a read sees all previously completed

    writes availability - reads and writes always succeed partition tolerance - system works despite failures in parts
  5. CAP Theorem PICK TWO AND YOU HAVE TO PICK PARTITION

    TOLERANCE AND IF YOU MESS UP YOU MIGHT GET NONE OF THEM
  6. Riak conflict resolution "With all of our options available, we

    want to resolve this conflict. Since the way of resolving this conflict is largely use-case specific, our application can decide how to proceed." - Little Riak Book
  7. Use Riak 70 million players 7.5 million concurrent users 11,000

    messages per second League Of Legends Chat http://highscalability.com/blog/2014/10/13/how-league-of- legends-scaled-chat-to-70-million-players-it-t.html
  8. why? dip in to nosql working with json unstructured data

    large community working set in memory == SUPER FAST
  9. resources • http://www.slideshare.net/arangodb/introduction-to- column-oriented-databases • http://en.wikipedia.org/wiki/NoSQL • http://littleriakbook.com/ • http://vimeo.com/95066828

    • http://aphyr.com/tags/jepsen • http://en.wikipedia.org/wiki/CAP_theorem • http://codahale.com/you-cant-sacrifice-partition- tolerance/ • http://docs.mongodb.org/manual/