MongoDB 入門

Pythonで学ぶMongoDB入門

Filip Schouwenaars

Machine Learning Researcher

データはどこにでも!

データはどこにでも.jpg

Pythonで学ぶMongoDB入門

例:学生と科目データ

student_id name course_code title
1 Amina CS101 Intro to Coding
1 Amina MATH201 Algebra Basics
2 Luca CS101 Intro to Coding
Pythonで学ぶMongoDB入門

データの保存方法

学生

student_id name
1 Amina
2 Luca
Pythonで学ぶMongoDB入門

データの保存方法

学生

student_id name
1 Amina
2 Luca

科目

course_code title
CS101 Intro to Coding
MATH201 Algebra Basics
Pythonで学ぶMongoDB入門

データの保存方法

学生

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

リレーショナルモデル

  • リレーショナルDBで使用
  • 例: MySQL、PostgreSQL
Pythonで学ぶMongoDB入門

リレーショナルDBの限界

 

  • 構造化・一貫したデータに最適
  • 複雑で可変なデータはどうする?
  • 追加情報に表が増える
  • 規模拡大で管理が難化

schematic

Pythonで学ぶMongoDB入門

MongoDB の登場

 

  • テーブルでなくドキュメント型
  • 柔軟:レコードごとに形が違ってよい
  • 厳密なスキーマ不要
  • 入れ子の構造化データも容易に保存

Pythonで学ぶMongoDB入門

JSON を拡張した BSON

 

  • BSON = Binary JSON
  • 似ているが、より高速・効率的
  • Date や Binary などの型を追加
  • MongoDB は内部で BSON を使用

Pythonで学ぶMongoDB入門

MongoDB への接続

from pymongo import MongoClient

# Create client (localhost) client = MongoClient()
# Create client (remote server) client2 = MongoClient("mongodb+srv://usr:[email protected]")
Pythonで学ぶMongoDB入門

¡Vamos a practicar!

Pythonで学ぶMongoDB入門

Preparing Video For Download...