S02.01.intro
Yesterday, we got acquainted with MongoDB on the Atlas hosting service
- Universe of databases
- Specifics of NoSQL
- Practiced some basic querying MongoDB with filters and projections
db.movies.find(
{runtime: {$gt : 180}}, // Filter on movie duration
{ _id: 0, title: 1, runtime: 1, "imdb.rating": 1 } // Projection to include title and imdb.rating, exclude _id
)
Today
Today we continue working with MongoDB
And talk about
- when to use NoSQL vs SQL? What about performances?
- OLAP vs OLTP (dashboards vs transactions)
- data types + BSON + equivalence JSON
- transactions and ACID properties
- sharding : horizontal scaling vs vertical scaling
and on a more hands on level:
- aggregation pipelines
- data modifications: partial updates ($set, $inc etc.) and Array operations
- see https://www.mongodb.com/docs/languages/python/pymongo-driver/current/aggregation/aggregation-tutorials/
- schema
- schema validation
- schema design - to optimize query time
- collections, documents and embedded documents
You should all have a chosen a good dataset
Practice
- write aggregation pipelines for complex queries on the movies dataset
But first, do you have any qestions regarding the MongoDB project ?