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