Wprowadzenie do MongoDB

Wprowadzenie do MongoDB w Pythonie

Filip Schouwenaars

Machine Learning Researcher

Dane są wszędzie!

dane są wszędzie.jpg

Wprowadzenie do MongoDB w Pythonie

Przykład: dane o kursach studentów

student_id name course_code title
1 Amina CS101 Intro to Coding
1 Amina MATH201 Algebra Basics
2 Luca CS101 Intro to Coding
Wprowadzenie do MongoDB w Pythonie

Jak przechowywać dane

Studenci

student_id name
1 Amina
2 Luca
Wprowadzenie do MongoDB w Pythonie

Jak przechowywać dane

Studenci

student_id name
1 Amina
2 Luca

Kursy

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics
Wprowadzenie do MongoDB w Pythonie

Jak przechowywać dane

Studenci

student_id name
1 Amina
2 Luca

Zapisy

student_id course_code
1 CS101
1 MATH201
2 CS101

Kursy

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics

Model relacyjny

  • Stosowany w relacyjnych bazach danych
  • Przykłady: MySQL, PostgreSQL
Wprowadzenie do MongoDB w Pythonie

Ograniczenia relacyjnych baz danych

 

  • Idealne dla spójnych, ustrukturyzowanych danych
  • A co z danymi złożonymi i zmiennymi?
  • Dodatkowe szczegóły wymagają kolejnych tabel
  • Zarządzanie staje się trudniejsze wraz ze wzrostem

schemat

Wprowadzenie do MongoDB w Pythonie

MongoDB – rozwiązanie

 

  • Bazuje na dokumentach, nie na tabelach
  • Elastyczna: każdy rekord może mieć inną strukturę
  • Nie wymaga sztywnego schematu
  • Łatwe przechowywanie zagnieżdżonych danych

Wprowadzenie do MongoDB w Pythonie

BSON – szczególny rodzaj JSON

 

  • BSON = Binary JSON
  • Podobny, ale szybszy i wydajniejszy
  • Dodatkowe typy danych: Date i Binary
  • MongoDB używa BSON wewnętrznie

Wprowadzenie do MongoDB w Pythonie

Łączenie z MongoDB

from pymongo import MongoClient

# Create client (localhost) client = MongoClient()
# Create client (remote server) client2 = MongoClient("mongodb+srv://usr:[email protected]")
Wprowadzenie do MongoDB w Pythonie

Czas na ćwiczenia!

Wprowadzenie do MongoDB w Pythonie

Preparing Video For Download...