MongoDB for Developers with Python Transcripts
Chapter: High-performance MongoDB
Lecture: A popular dealership
Login or
purchase this course
to watch this video and the rest of the course contents.
0:01
Let's return to our dealership.
0:03
This was the example we started back when we began the MongoEngine section,
0:05
and it turns out the dealership is super popular now.
0:08
Before we just had a couple of cars, now we have a quarter million cars
0:11
in our database, we have a 100 thousand owners,
0:15
I don't believe we talked about owners before in terms of what that looks like in our code,
0:19
but I've added this concept of owners
0:21
so we can ask interesting like cross-document related type questions,
0:25
and we'll look at the details of them, when we get to the code, in just a moment.
0:28
Each one of these owners, these 100 thousand owners,
0:31
owns an average of 2.5 cars, this is kind of like collectors, right,
0:36
not a standard person that drives to work or whatever, these are Ferraries,
0:39
and each car has on average about 5 service records
0:43
and that could be like a new engine,
0:45
change the tires, change the spark plug, whatever;
0:48
in particular, there's about 1.25 million service histories,
0:51
so when we ask questions about like those nested documents
0:54
that have to do with service histories like customer ratings and price,
0:57
you can see that that is really quite impressive I think,
1:01
we got the quarter million cars and within those quarter million documents
1:04
interspersed are 1.25 million service histories.
1:07
So our job is to make a lot of the typical things that we might ask this database,
1:11
the queries will run to do so in a couple of milliseconds, not in seconds,
1:17
so that's going to be what the basic goal of this whole section is.
1:23
Now, the other things you might want to know is
1:25
we've got about 180 megs of data
1:28
and on average each document of the various document kinds,
1:30
all average together is about 500 bytes per document.
1:33
So let's return to or example slightly transformed
1:37
and see how it's performing now and let's make it fast.