Building Data-Driven Web Apps with Pyramid and SQLAlchemy Transcripts
Chapter: MongoDB edition
Lecture: Introduction to the NoSQL version
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
We've built our app. We've deployed it. It's basically done. But let's take one more look. Let's try one more version of our application.
0:09
So we're going to rebuild our PyPI demo app this time with a NoSQL-based document database called MongoDB.
0:18
It's the most popular of the document databases but the ideas will be pretty similar across the board. So the first question is, why are we doing this?
0:26
Why do we have this MongoDB version? Well, there's two basic reasons. The first reason is many people prefer document databases
0:33
over relational databases. The whole thing about migrations? A whole lot less of that when you're doing document databases and things like that.
0:40
The running of it is easier a lot of times and also the performance can be better. So that's one reason. People might just want a MongoDB version.
0:48
The other reason though is we've talked a lot about some amazing design patterns. We've organized our code in nice ways.
0:55
We have these data access services that group say the user queries and data processing, the package processing and we have our view models.
1:05
So what I'd like to show you the main takeaway here is the power of these design patterns that we've employed.
1:12
What you'll see is we'll be able to change a very few set of files and actually completely switch not just the database
1:19
but entirely the style of underlying data altogether. So it's going to be really quite easy and quite awesome. If you're not interested in MongoDB
1:28
feel free to skip to the end. Skip over this chapter. But if you are or you want to see the power
1:33
of these design patterns to allow us to evolve our application as we build it so we don't have to design it all perfectly up front 'cause you never do
1:40
you'll get to see that in action during this chapter.