Introduction à MongoDB

Introduction à MongoDB en Python

Filip Schouwenaars

Machine Learning Researcher

Des données partout !

Les données sont partout

Introduction à MongoDB en Python

Exemple : données de cours des étudiants

student_id name course_code title
1 Amina CS101 Intro to Coding
1 Amina MATH201 Algebra Basics
2 Luca CS101 Intro to Coding
Introduction à MongoDB en Python

Comment stocker les données

Students

student_id name
1 Amina
2 Luca
Introduction à MongoDB en Python

Comment stocker les données

Students

student_id name
1 Amina
2 Luca

Courses

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics
Introduction à MongoDB en Python

Comment stocker les données

Students

student_id name
1 Amina
2 Luca

Enrollments

student_id course_code
1 CS101
1 MATH201
2 CS101

Courses

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics

Modèle relationnel

  • Utilisé par les bases de données relationnelles
  • Exemples : MySQL, PostgreSQL
Introduction à MongoDB en Python

Quand les bases relationnelles atteignent leurs limites

 

  • Excellent pour des données structurées et uniformes
  • Et pour des données complexes et variables ?
  • Davantage de tables pour plus de détails
  • Plus difficile à gérer à mesure que ça grandit

schéma

Introduction à MongoDB en Python

Place à MongoDB

 

  • Axé sur les documents, pas sur les tables
  • Souple : chaque enregistrement peut différer
  • Aucun schéma strict requis
  • Stocke aisément des données imbriquées et structurées

Introduction à MongoDB en Python

BSON, une variante de JSON

 

  • BSON = JSON binaire
  • Semblable, mais plus rapide et efficient
  • Types additionnels comme Date et Binary
  • MongoDB utilise BSON en arrière-plan

Introduction à MongoDB en Python

Se connecter à MongoDB

from pymongo import MongoClient

# Create client (localhost) client = MongoClient()
# Create client (remote server) client2 = MongoClient("mongodb+srv://usr:[email protected]")
Introduction à MongoDB en Python

Passons à la pratique !

Introduction à MongoDB en Python

Preparing Video For Download...