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

NoSQL Solutions - When to Use Them?

NoSQL Solutions - When to Use Them?

For the purpose of one of the IT events I'm attending, I created a presentation containing NoSQL solutions overview. I also made a deliberation on whether they are worth our attention or not. Enjoy!

Avatar for Lukasz Wrobel

Lukasz Wrobel

June 14, 2014
Tweet

More Decks by Lukasz Wrobel

Other Decks in Programming

Transcript

  1. About me • Architect, team leader • high-traffic websites: ◦

    nk.pl ◦ Gadu-Gadu • “Memoirs of a Software Team Leader” • @lukaszwrobel
  2. Origin • the “NoSQL” term • late 90s relational database

    • June 2009, SF • NoSQL? Not Only SQL? polyglot persistence
  3. Does NoSQL shine? • easier schema migration or no schema

    at all • performance relaxed consistency • natural modelling • clustering
  4. Redis • ≫ a key-value store • sky RAM is

    the limit • ≫ a memcached replacement • really fast tens of thousands of operations/s
  5. Where to take keys from? Need to generate them: •

    UUID • Snowflake retired • …?
  6. Reminds a scalable RDBMS • queried by key only •

    key-based access ⇒ easier caching • no relationships, no joins
  7. Performance • "humongous", but… • not as fast as advertised

    • eats up all resources • indexes required • global write lock
  8. Distribution • master + slaves • master is not a

    master • ZooKeeper not anymore
  9. Applications • |data| ≤ one instance • ACID required •

    less round-trips procedure-like • no massive updates
  10. Common problems • lack of knowledge and experience • investment

    • not as good as advertised • possible failure • limited capabilities
  11. • Only if you really can’t solve your problems right

    now. • Don’t try for trying’s sake. • Cost-effective?