Why I miss MongoDB

Preview:

Citation preview

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

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!

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

MY LOVE STORY

I started with MongoDB 0.8

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

MY LOVE STORY

It was not mature enough – I left it

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

MY LOVE STORY

I re-started with MongoDB 1.6

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

MY LOVE STORY

And never left it

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

MY LOVE STORY

Until 6 months ago

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

MY LOVE STORY

And I do really miss it a lot

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

MY LOVE STORY

And I will explain you why…

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

DYNAMIC SCHEMA AKA. FLEXIBLE SCHEMA

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

DYNAMIC SCHEMA

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

DYNAMIC SCHEMA

Databases, collections and attributes creation on demand

Really useful when running tests and

while developing

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

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

DYNAMIC SCHEMA – BONUS!

MongoDB + Dynamic Language = PERFECT LOVE STORY

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

DYNAMIC SCHEMA

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

ADVANCED DATA STRUCTURES AKA. EMBEDDED DATA MODELS

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

ADVANCED DATA STRUCTURES

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

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!

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

ADVANCED DATA STRUCTURES

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

THE API AKA. QUERY SYNTAX

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

THE API

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

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

THE API

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

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

OFFICIAL DRIVERS

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

OFFICIAL DRIVERS

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

OFFICIAL DRIVERS

Official drivers for 11 languages

Fully featured, high performance Painless installation

Amazing support and maintenance

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

OFFICIAL DRIVERS

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

OFFICIAL DRIVERS

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

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

OFFICIAL DRIVERS

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

PERFORMANCE

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!

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

QUESTIONS? I HOPE YOU ENJOYED!

Recommended