Введение в MongoDB

Введение в MongoDB на Python

Filip Schouwenaars

Machine Learning Researcher

Данные повсюду!

data_everywhere.jpg

Введение в MongoDB на Python

Пример: данные о курсах студентов

student_id name course_code title
1 Amina CS101 Intro to Coding
1 Amina MATH201 Algebra Basics
2 Luca CS101 Intro to Coding
Введение в MongoDB на Python

Как хранить данные

Студенты

student_id name
1 Amina
2 Luca
Введение в MongoDB на Python

Как хранить данные

Студенты

student_id name
1 Amina
2 Luca

Курсы

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics
Введение в MongoDB на Python

Как хранить данные

Студенты

student_id name
1 Amina
2 Luca

Записи на курсы

student_id course_code
1 CS101
1 MATH201
2 CS101

Курсы

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics

Реляционная модель

  • Используется в реляционных базах данных
  • Примеры: MySQL, PostgreSQL
Введение в MongoDB на Python

Ограничения реляционных баз данных

 

  • Хорошо подходит для структурированных, однородных данных
  • Что делать со сложными, разнородными данными?
  • Дополнительные детали требуют новых таблиц
  • С ростом данных управление усложняется

schematic

Введение в MongoDB на Python

Знакомство с MongoDB

 

  • Документо-ориентированная, а не табличная модель
  • Гибкость: каждая запись может иметь свою структуру
  • Жёсткая схема не требуется
  • Легко хранить вложенные структурированные данные

Введение в MongoDB на Python

BSON — особый вид JSON

 

  • BSON = двоичный JSON
  • Похож на JSON, но быстрее и эффективнее
  • Дополнительные типы данных: Date и Binary
  • MongoDB использует BSON внутри

Введение в MongoDB на Python

Подключение к MongoDB

from pymongo import MongoClient

# Create client (localhost) client = MongoClient()
# Create client (remote server) client2 = MongoClient("mongodb+srv://usr:[email protected]")
Введение в MongoDB на Python

Давайте потренируемся!

Введение в MongoDB на Python

Preparing Video For Download...