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!

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?