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

Why I miss MongoDB

Why I miss MongoDB

After 4 years working with MongoDB I moved to a new project using a traditional SQL database. People don't value what they have until they lose it, and even though I loved MongoDB, I never thought I would miss it so much. In this talk I will explain you why.

6acd43823845318dac6fb44355b89cc8?s=128

Pablo E

March 05, 2015
Tweet

More Decks by Pablo E

Other Decks in Programming

Transcript

  1. WHY I MISS Barcelona MUG 05/03/2015 @pablitoev56

  2. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ABOUT

    ME •  Pablo Enfedaque Vidal •  Senior Software Engineer at Skyscanner •  More than 4 years working with MongoDB •  I love it!
  3. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY I started with MongoDB 0.8
  4. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY It was not mature enough – I left it
  5. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY I re-started with MongoDB 1.6
  6. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY And never left it
  7. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY Until 6 months ago
  8. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY And I do really miss it a lot
  9. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 MY

    LOVE STORY And I will explain you why…
  10. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA AKA. FLEXIBLE SCHEMA
  11. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA
  12. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA Databases, collections and attributes creation on demand Really useful when running tests and while developing
  13. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA Attributes don’t have a pre-defined or fixed data type Painless schema migrations Faster development
  14. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA – BONUS! MongoDB + Dynamic Language = PERFECT LOVE STORY
  15. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 DYNAMIC

    SCHEMA
  16. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ADVANCED

    DATA STRUCTURES AKA. EMBEDDED DATA MODELS
  17. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ADVANCED

    DATA STRUCTURES
  18. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ADVANCED

    DATA STRUCTURES Nested documents, arrays, arrays of nested documents… up to 16Mb Proper objects mapping to documents No clash of object oriented world vs. relational world
  19. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ADVANCED

    DATA STRUCTURES No JOIN, no INNER JOIN, no LEFT OUTTER JOIN… No JOIN? Yeah! You don't need them Denormalization For The Win!
  20. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 ADVANCED

    DATA STRUCTURES
  21. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 THE

    API AKA. QUERY SYNTAX
  22. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 THE

    API
  23. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 THE

    API Neat and simple yet effective and powerful API Human-friendly API Yeah, scary at first glance, but with a soft learning curve
  24. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 THE

    API
  25. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 THE

    API Logic out of the DB, in the code! Power to the developers! Easier to test and debug
  26. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS
  27. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS
  28. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS Official drivers for 11 languages Fully featured, high performance Painless installation Amazing support and maintenance
  29. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS
  30. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS
  31. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS Consistent API syntax, but also aligned with the language style Easy transition between languages Faster learning
  32. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 OFFICIAL

    DRIVERS
  33. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 PERFORMANCE

  34. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 PERFORMANCE

    Came for the performance, stayed for everything else Because never had to worry for the performance again!
  35. WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 QUESTIONS?

    I HOPE YOU ENJOYED!