You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
5.6 KiB
Plaintext

00:01 Hello and welcome to MongoDB Quick Start with Python.
00:05 MongoDB is one of the most popular
00:07 and exciting database technologies around.
00:09 Python is one of the most popular
00:11 and fastest growing language there is
00:12 and these two technologies work great together
00:15 and that's exactly what this course is about.
00:17 We're going to quickly get started with MongoDB,
00:20 write some code against it,
00:22 and build some realistic applications.
00:24 The goal with this class is to teach you MongoDB.
00:27 We assume you know a little bit of Python
00:29 but you'll of course pick some things up along the way
00:31 if you don't know it already, and really,
00:33 we want to get you going quick, hence the name, Quick Start.
00:36 Let's get started by talking about
00:38 what we're going to cover in this course.
00:39 We're going to focus on three main things.
00:41 We're going to start with why do you care about
00:44 NoSQL and Document Databases.
00:46 How do document databases make working with schemas easier,
00:50 modeling data easier, as well as add performance
00:54 and flexibility to our applications.
00:55 We're going to talk about modeling specifically,
00:58 'cause it is one of the things that is
00:59 pretty challenging about document databases.
01:02 If you come from a relational database world,
01:04 you probably know about third normal form.
01:06 This is a way to carefully and
01:08 more structured way to plan out how you model your data.
01:11 In document databases, you don't really have that.
01:13 There's a lot more sort of flexibility
01:16 in how you design things.
01:18 This is great for you once you understand it
01:20 and get really good at it, but it's challenging to know
01:22 how to model things when you get started
01:24 because there's so much flexibility
01:26 and it's kind of open-ended.
01:27 It feels a little more like art than science, in some sense.
01:30 So we're going to focus specifically on
01:32 techniques and trade offs, and some guidelines
01:35 I have to come up with to help you be successful
01:38 modeling your data with document databases such as MongoDB.
01:42 Then we're going to start writing code for real.
01:44 We're going to use a Mongo ODM, Object Document Mapper.
01:49 Think of SQL Alchemy but for document databases.
01:51 They're called MongoEngine, and we're going to use that
01:54 to create some classes to model our data,
01:57 and map those classes to and from MongoDB
01:59 and use that as the foundation of our application.
02:02 Speaking of applications,
02:03 what are we going to build in this class?
02:05 Well, we're going to build an AirBnB clone but for snakes.
02:09 Okay, so we're going to build Snake BnB
02:11 and this allows you, when you're traveling with your snake,
02:14 your pet snake, you don't want it to have to
02:17 live out in the car or something like that.
02:19 You want to get it a cage that it can live in,
02:21 a proper snake cage where it'll be happy.
02:23 There'll be owners of cages
02:25 who can put their cages up for rent,
02:27 and snake owners, pet owners
02:29 who want to travel with their pets and
02:31 have their pet have a place to stay.
02:33 We're going to create this sort of silly
02:35 AirBnB knockoff clone, but we're going to model
02:37 many of the operations you would see
02:39 in real AirBnB on our application here
02:42 so it's going to be pretty rich in terms of data.
02:44 As far as tools go, well of course,
02:45 we're going to talk about MongoDB, right.
02:47 That's the database we're using,
02:49 but you're also going to learn some other things
02:50 that are pretty awesome in the course.
02:52 We're going to talk about MongoEngine.
02:54 This is the primary library
02:55 we're going to use to talk to MongoDB.
02:57 It's built upon another one that's very popular
03:00 that has sort of the lowest level
03:01 official way to talk to MongoDB called PyMongo,
03:04 so you might see a little bit of
03:05 both of those actually in the course.
03:07 We're going to use what I think is
03:08 the best tool for accessing MongoDB,
03:11 something that used to be called Robomongo
03:14 but now it's called Robo 3T,
03:16 'cause it was acquired by a company called 3T.
03:18 This is part command line,
03:20 part GUI way to interact with MongoDB,
03:23 and it's beautiful, and free open source, it's great.
03:26 Also, we're going to use PyCharm for our Python code.
03:29 You don't have to use PyCharm for this course,
03:31 but you'll see me using it, and I think you'll see
03:33 a lot of benefits as we go.
03:36 Speaking of me, who am I anyway?
03:37 Who is this voice that you're listening to?
03:39 Hi, my name is Michael Kennedy.
03:40 You can find me on Twitter at @mkennedy.
03:43 What makes me qualified to teach this course?
03:45 Well, first of all, I host the most popular Python podcast
03:48 called Talk Python to Me, and I've interviewed
03:51 many, many people, including some of the folks from MongoDB,
03:54 the company as well as authors who've written about
03:57 MongoDB design patterns and things like that,
03:59 so I've had a lot of experience
04:00 working with people from Python and MongoDB.
04:03 I've created the Talk Python Training Company
04:06 and written many Python courses
04:08 and MongoDB courses there as well.
04:10 And also, I am part of the MongoDB Masters Program.
04:14 This is a group of about 35 external community members
04:18 who give advice back to MongoDB,
04:21 and I've been part of this for many years,
04:23 worked closely with the folks inside MongoDB over the years.
04:26 So this is what you have in store for you,
04:28 lots of awesome MongoDB and Python.
04:30 I hope you're excited.
04:31 Let's get right to it.