Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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!

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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!

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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!

Slide 35

Slide 35 text

WHY I MISS MONGODB || BARCELONA MUG || @pablitoev56 QUESTIONS? I HOPE YOU ENJOYED!