└── README.md
/README.md:
--------------------------------------------------------------------------------
1 | ### Copyrights
2 |
3 | Copyright of these videos belong to MongoDB, Inc.
4 |
5 | ## M101J: MongoDB for Java Developers
6 |
7 | ### Syllabus
8 |
9 | - [ ] [WEEK 1-INTRODUCTION](#w1)
10 | - [ ] [WEEK 2-CRUD](#w2)
11 | - [ ] [WEEK 3-SCHEMA DESIGN](#w3)
12 | - [ ] [WEEK 4-PERFORMANCE](#w4)
13 | - [ ] [WEEK 5-AGGREGATION FRAMEWORK](#w5)
14 | - [ ] [WEEK 6-APPLICATION ENGINEERING](#w6)
15 | - [ ] [WEEK 7-CASE STUDIES](#w7)
16 |
17 |
18 | #### [[]](#toc) WEEK 1-INTRODUCTION
19 |
20 | * [Welcome to M101J](https://www.youtube.com/watch?v=FN10crzDOjk)
21 | * [What is MongoDB?](https://www.youtube.com/watch?v=q2iLKZ1LgjI)
22 | * [MongoDB Relative to Relational](https://www.youtube.com/watch?v=-KIC1LXxcGM)
23 | * [Overview of Building an App with MongoDB](https://www.youtube.com/watch?v=swhH4q_2Ttc)
24 | * [Quick Introduction to the Mongo Shell](https://www.youtube.com/watch?v=e18vCIdQKp4)
25 | * [Introduction to JSON](https://www.youtube.com/watch?v=PTATjNSjbJ0)
26 | * [System Requirements](https://www.youtube.com/watch?v=_vYz3CZwyK0)
27 | * [Installing MongoDB (mac)](https://www.youtube.com/watch?v=pnVQcEt5_vw)
28 | * [Installing MongoDB (windows)](https://www.youtube.com/watch?v=c6-K8bpBxxY)
29 | * [Installing and Using Maven](https://www.youtube.com/watch?v=72vejAmaypM)
30 | * [The MongoDB Java Driver](https://www.youtube.com/watch?v=FtyaK3pMHxw)
31 | * [Intro to the Spark Web Application Framework](https://www.youtube.com/watch?v=UH-VD_ypal8)
32 | * [Intro to the Freemarker Templating Engine](https://www.youtube.com/watch?v=_8-3K2Ds-Ok)
33 | * [Spark and Freemarker Together](https://www.youtube.com/watch?v=7fdtf9aLc2w)
34 | * [All Together Now: MongoDB, Spark and Freemarker](https://www.youtube.com/watch?v=8S5tvJAOYzg)
35 | * [Spark: Handling GET requests](https://www.youtube.com/watch?v=7t1IafamuVs)
36 | * [Spark: Handling POST requests](https://www.youtube.com/watch?v=jZDuxesy5cc)
37 | * [MongoDB is Schemaless](https://www.youtube.com/watch?v=uKB-Hoqs6zI)
38 | * [JSON Revisited](https://www.youtube.com/watch?v=CTffxoSSLqg)
39 | * [JSON Subdocuments](https://www.youtube.com/watch?v=vrYAEH3g13M)
40 | * [JSON Spec](https://www.youtube.com/watch?v=kOrsT94-A28)
41 | * [Introduction to Our Class Project, The Blog](https://www.youtube.com/watch?v=ePi3kDoexoM)
42 | * [Blog in Relational Tables](https://www.youtube.com/watch?v=boR2y9MHCa0)
43 | * [Blog in Documents](https://www.youtube.com/watch?v=ZjwCzyqKVdY)
44 | * [Introduction to Schema Design](https://www.youtube.com/watch?v=6XE3wZCPiZ8)
45 |
46 | #### [[]](#toc) WEEK 2-CRUD
47 |
48 | * [Introduction to Week 2](https://www.youtube.com/watch?v=C-3vZ8nB7fQ)
49 | * [CRUD and the Mongo Shell](https://www.youtube.com/watch?v=C7LinMC2o5o)
50 | * [Secrets of the Mongo Shell](https://www.youtube.com/watch?v=IIIzjPp-IRE)
51 | * [BSON Introduced](https://www.youtube.com/watch?v=K3J6WvDW-Hc)
52 | * [Inserting Docs](https://www.youtube.com/watch?v=BRAVnBz3ogE)
53 | * [Introduction to findOne](https://www.youtube.com/watch?v=w9V0fJsDwbQ)
54 | * [Introduction to find](https://www.youtube.com/watch?v=UIg86QjSoyY)
55 | * [Querying Using field Selection](https://www.youtube.com/watch?v=UIg86QjSoyY)
56 | * [Querying Using $gt and $lt](https://www.youtube.com/watch?v=FHLrz4VGzkg)
57 | * [Inequalities on Strings](https://www.youtube.com/watch?v=imCCKOevU3c)
58 | * [Using regexes, $exists, $type](https://www.youtube.com/watch?v=lI-jhqYf1JY)
59 | * [Using $or](https://www.youtube.com/watch?v=BW5ElNCRZps)
60 | * [Using $and](https://www.youtube.com/watch?v=hYk7pjgjjzc)
61 | * [Querying Inside Arrays](https://www.youtube.com/watch?v=jvEqwW75Bus)
62 | * [Using $in and $all](https://www.youtube.com/watch?v=QU2NrkviORE)
63 | * [Queries with Dot Notation](https://www.youtube.com/watch?v=NrjFECIfwqk)
64 | * [Querying, Cursors](https://www.youtube.com/watch?v=3jA6iFSEJOI)
65 | * [Counting Results](https://www.youtube.com/watch?v=eKD5bVmNQMI)
66 | * [Wholesale Updating of a Document](https://www.youtube.com/watch?v=g7Fi1xXsuvU)
67 | * [Using the $set Command](https://www.youtube.com/watch?v=G2e5ZxqR6nw)
68 | * [Using the $unset Command](https://www.youtube.com/watch?v=-CzLvQS12wY)
69 | * [Using $push, $pop, $pull, $pushAll, $pullAll, $addToSet](https://www.youtube.com/watch?v=GOn0EWKDQoY)
70 | * [Upserts](https://www.youtube.com/watch?v=Dy2p8k3EZs4)
71 | * [Multi-update](https://www.youtube.com/watch?v=puGW4t5wmOU)
72 | * [Removing Data](https://www.youtube.com/watch?v=AGvJs8xqZJg)
73 | * [Multi-update](https://www.youtube.com/watch?v=puGW4t5wmOU)
74 | * [getLastError (MongoDB v2.4 and earlier)](https://www.youtube.com/watch?v=a6o0TQjUMug)
75 | * [Java Driver: Representing Documents](https://www.youtube.com/watch?v=rAArRbxw0xI)
76 | * [Java Driver: Insert](https://www.youtube.com/watch?v=wAGixFmneRI)
77 | * [Java Driver: find, findOne, count](https://www.youtube.com/watch?v=wgTeReQW7zI)
78 | * [Java Driver: Query Criteria](https://www.youtube.com/watch?v=5UtrLdHD06I)
79 | * [Java Driver: field Selection](https://www.youtube.com/watch?v=oW-0h-Ux3hQ)
80 | * [Java Driver: Dot Notation](https://www.youtube.com/watch?v=b8HWPdz9u38)
81 | * [Java Driver: Sort, Skip and Limit](https://www.youtube.com/watch?v=sYPs9PlBxrs)
82 | * [Java Driver: Update and Remove](https://www.youtube.com/watch?v=6n9rN6vzRyg)
83 | * [Java Driver: findAndModify](https://www.youtube.com/watch?v=PWZMQTsJFGs)
84 | * [Blog, Internals](https://www.youtube.com/watch?v=VdEJQPsf7gg)
85 | * [Blog, Session Management](https://www.youtube.com/watch?v=JeyNWgk6FJc)
86 | * [Blog, User Interface](https://www.youtube.com/watch?v=cKLfVZDs9FU)
87 |
88 | #### [[]](#toc) WEEK 3-SCHEMA DESIGN
89 |
90 | * [Introduction to Week 3](https://www.youtube.com/watch?v=9urnY4OcuNM)
91 | * [MongoDB Schema Design](https://www.youtube.com/watch?v=itnfWjMnQ4A)
92 | * [Relational Normalization](https://www.youtube.com/watch?v=GX__f2s4hd8)
93 | * [Mongo Design for Blog](https://www.youtube.com/watch?v=PRylEHH5t84)
94 | * [Alternative Schema for Blog](https://www.youtube.com/watch?v=ZvqNWVWB2-o)
95 | * [Living Without Constraints](https://www.youtube.com/watch?v=YFRMkDPaams)
96 | * [Living Without Transactions](https://www.youtube.com/watch?v=FfRr3qjRfww)
97 | * [One to One Relations](https://www.youtube.com/watch?v=cCsfon0vUlQ)
98 | * [One to Many Relations](https://www.youtube.com/watch?v=EIaP1KbVkUc)
99 | * [Many to Many Relations](https://www.youtube.com/watch?v=fEYYjZ7zEHc)
100 | * [Multikeys](https://www.youtube.com/watch?v=KtIY4Q1tUao)
101 | * [Benefits of Embedding](https://www.youtube.com/watch?v=XIN0Dqht08Q)
102 | * [Trees](https://www.youtube.com/watch?v=lIjXyQklGWY)
103 | * [When to Denormalize](https://www.youtube.com/watch?v=jDZ-HFoJ0vg)
104 | * [Handling Blobs](https://www.youtube.com/watch?v=Q_uyOT4Kbk4)
105 | * [Learn more about GridFS](https://www.youtube.com/watch?v=oNRPiyKu6Hc)
106 | * [Introduction to Week 3](https://www.youtube.com/watch?v=9urnY4OcuNM)
107 | * [What is an ODM?](https://www.youtube.com/watch?v=pfp7sCEjWJY)
108 | * [Field mappings, indexes and constraints in Morphia](https://www.youtube.com/watch?v=DB67UpBitM0)
109 | * [CRUD Operations in Morphia](https://www.youtube.com/watch?v=Ts96-cdUeko)
110 | * [Sidebar: Importing from a Twitter Feed](https://www.youtube.com/watch?v=wlNPns5hc6M)
111 |
112 | #### [[]](#toc) WEEK 4-PERFORMANCE
113 |
114 | * [Introduction to Week 4](https://www.youtube.com/watch?v=8qBXI8ggV88)
115 | * [Indexes](https://www.youtube.com/watch?v=kkIAqyqYOCc)
116 | * [Creating Indexes](https://www.youtube.com/watch?v=tRqenx45UAM)
117 | * [Discovering Indexes](https://www.youtube.com/watch?v=hH7kYu_-FXg)
118 | * [Multikey Indexes](https://www.youtube.com/watch?v=8DqRASZGu9k)
119 | * [Multikey Continued](https://www.youtube.com/watch?v=mPSGG2p33RQ)
120 | * [Index Creation Option, Unique](https://www.youtube.com/watch?v=99-5N213g0w)
121 | * [Index Creation, Removing Dups](https://www.youtube.com/watch?v=s6KZsAhSUO4)
122 | * [Index Creation, Sparse](https://www.youtube.com/watch?v=Gi4uZXLh0Ks)
123 | * [Index Creation, Background](https://www.youtube.com/watch?v=28wCvoXmY7A)
124 | * [Using Explain](https://www.youtube.com/watch?v=r5YeICVzDjQ)
125 | * [When is an Index Used?](https://www.youtube.com/watch?v=Lwms58Y_3Jc)
126 | * [How Large is Your Index?](https://www.youtube.com/watch?v=oywrqWNY46s)
127 | * [Index Cardinality](https://www.youtube.com/watch?v=xiujksUfzUA)
128 | * [Index Selectivity](https://www.youtube.com/watch?v=On8HHR1agsI)
129 | * [Hinting an Index](https://www.youtube.com/watch?v=UWpBNV378pE)
130 | * [Hinting in Java](https://www.youtube.com/watch?v=JE0_Xtz-n0g)
131 | * [Efficiency of Index Use](https://www.youtube.com/watch?v=1sADN-NKwhY)
132 | * [Geospatial Indexes](https://www.youtube.com/watch?v=UKUDYqNVL6I)
133 | * [Geospatial Spherical](https://www.youtube.com/watch?v=pULU4DVsUWQ)
134 | * [Text Searches in MongoDB](https://www.youtube.com/watch?v=l_2kwrIlZ_g)
135 | * [Logging Slow Queries](https://www.youtube.com/watch?v=aWuvC-O7Qkk)
136 | * [Profiling](https://www.youtube.com/watch?v=pN1Yhrup9-I)
137 | * [Mongotop](https://www.youtube.com/watch?v=D9YLXgy7NYo)
138 | * [Mongostat](https://www.youtube.com/watch?v=eLWQO_AJmrI)
139 | * [Sharding Overview](https://www.youtube.com/watch?v=BDxT-VZdYqc)
140 |
141 | #### [[]](#toc) WEEK 5-AGGREGATION FRAMEWORK
142 |
143 | * [Introduction to Week 5](https://www.youtube.com/watch?v=BDxT-VZdYqc)
144 | * [Simple Aggregation Example](https://www.youtube.com/watch?v=DQBXCsjeO5c)
145 | * [The Aggregation Pipeline](https://www.youtube.com/watch?v=AuO8CEkTG6Y)
146 | * [Simple Example Expanded](https://www.youtube.com/watch?v=3lEpnMcfpCs)
147 | * [Compound Grouping](https://www.youtube.com/watch?v=qTbtax_cKcc)
148 | * [Using a document for _id](https://www.youtube.com/watch?v=zoN4cj_XQzY)
149 | * [Aggregation Expressions](https://www.youtube.com/watch?v=L4G14MTfTgQ)
150 | * [Using $sum](https://www.youtube.com/watch?v=93MSz3uDC1A)
151 | * [Using $avg](https://www.youtube.com/watch?v=baIDZ-M5j7w)
152 | * [Using $addToSet](https://www.youtube.com/watch?v=YzURaZnKI9s)
153 | * [Using $push](https://www.youtube.com/watch?v=LQcBM-g0ACY)
154 | * [Using $max and $min](https://www.youtube.com/watch?v=BYoNX4trjOQ)
155 | * [Double $group stages](https://www.youtube.com/watch?v=EIWF9Oxeb8M)
156 | * [Using $project](https://www.youtube.com/watch?v=TbQ2PI5Fib0)
157 | * [Using $match](https://www.youtube.com/watch?v=7RtHG90Hrbw)
158 | * [Using $sort](https://www.youtube.com/watch?v=HUEtV7omSb8)
159 | * [Using $limit and $skip](https://www.youtube.com/watch?v=o5hzYKXUyrU)
160 | * [Revisiting $first and $last](https://www.youtube.com/watch?v=JOdAnxVAMwc)
161 | * [Using $unwind](https://www.youtube.com/watch?v=E4aYOQPeQvI)
162 | * [$unwind example](https://www.youtube.com/watch?v=U_4Enh2TTp4)
163 | * [Double $unwind](https://www.youtube.com/watch?v=YXGL27217B8)
164 | * [Mapping between SQL and Aggregation](https://www.youtube.com/watch?v=auL2R0XKlyM)
165 | * [Some Common SQL examples](https://www.youtube.com/watch?v=ep2gLSR6C0U)
166 | * [Limitations of the Aggregation Framwork](https://www.youtube.com/watch?v=U_gRSxEq3c0)
167 |
168 | #### [[]](#toc) WEEK 6-APPLICATION ENGINEERING
169 |
170 | * [Introduction to Week 6](https://www.youtube.com/watch?v=3zcbhNHebAc)
171 | * [Introduction to Replication](https://www.youtube.com/watch?v=f1WTYGORU3w)
172 | * [Replica Set Elections](https://www.youtube.com/watch?v=WFXSVHO78bQ)
173 | * [Write Consistency](https://www.youtube.com/watch?v=Oqf_Eza-s1M)
174 | * [Creating a Replica Set](https://www.youtube.com/watch?v=flCFVFBRsKI)
175 | * [Replica Set Internals](https://www.youtube.com/watch?v=lx0Kj4n4EWM)
176 | * [Failover and Rollback](https://www.youtube.com/watch?v=IW1oW_Adlt0)
177 | * [Connecting to a Replica Set from the Java Driver](https://www.youtube.com/watch?v=GL4kika730k)
178 | * [Bad Things Happen to Good Nodes](https://www.youtube.com/watch?v=0ANiUSyhG9k)
179 | * [Write Concern](https://www.youtube.com/watch?v=49BPAY1Yb5w)
180 | * [Network Errors](https://www.youtube.com/watch?v=BycNYXFpqhM)
181 | * [Read Preferences](https://www.youtube.com/watch?v=lA9UIEtvfWo)
182 | * [Introduction to Sharding](https://www.youtube.com/watch?v=_GfDqa1qRl0)
183 | * [Building a Sharded Environment](https://www.youtube.com/watch?v=aaYc2W4keF4)
184 | * [Implications of Sharding](https://www.youtube.com/watch?v=ig278F60gRA)
185 | * [Sharding + Replication](https://www.youtube.com/watch?v=-rtYrLb1bgY)
186 | * [Choosing a Shard Key](https://www.youtube.com/watch?v=8q2GB3QSBSI)
187 |
188 | #### [[]](#toc) WEEK 7-CASE STUDIES
189 |
190 | * [Introduction to Week 7](https://www.youtube.com/watch?v=adRyiudsgv0)
191 | * [Interview with Jon Hoffman, foursquare](https://www.youtube.com/watch?v=GBauy0o-Wzs)
192 | * [Interview with Ryan Bubinski, Codecademy](https://www.youtube.com/watch?v=RkPmVQNesZA)
193 |
194 |
195 | ## M102: MongoDB for DBAs
196 |
197 | ### Syllabus
198 |
199 | - [ ] [WEEK 1-INTRODUCTION](#w11)
200 | - [ ] [WEEK 2-CRUD and Administrative Commands](#w12)
201 | - [ ] [WEEK 3-Performance](#w13)
202 | - [ ] [WEEK 4-Replication](#w14)
203 | - [ ] [WEEK 5-Replication Part 2](#w15)
204 | - [ ] [WEEK 6-Scalability](#w16)
205 | - [ ] [WEEK 7-Backup and Recovery](#w17)
206 |
207 | #### [[]](#toc) WEEK 1-INTRODUCTION
208 |
209 | * [Welcome to M102](https://youtu.be/l5_MqHaECLU)
210 | * [Introduction to the Course](https://youtu.be/_E6JcwWce-w)
211 | * [Introduction to Week 1](https://youtu.be/nFB986zsXd0)
212 | * [Concepts](https://youtu.be/YHKVBUENpvQ)
213 | * [Scaling](https://youtu.be/TZVZTf_eeaM)
214 | * [SQL and Complex Transactions](https://youtu.be/CYdjDKwg0Eg)
215 | * [Documents Overview](https://youtu.be/f9csC-b9ULc)
216 | * [Instaling MongoDB(mac)](https://youtu.be/_WJ8m5QHvwc)
217 | * [Instaling MongoDB(windows)](https://youtu.be/sBdaRlgb4N8)
218 | * [JSON Types](https://youtu.be/gKOcqNHmc4Q)
219 | * [JSON Syntax](https://youtu.be/a3jWXcmjrWM)
220 | * [JSON Syntax 2](https://youtu.be/dxd1BnBqQk8)
221 | * [Binary JSON](https://youtu.be/BfWnSxNQpYs)
222 | * [BSON and applications](https://youtu.be/YsfwTNwixME)
223 | * [Dynamic Schema](https://youtu.be/lxEk0aBEPl8)
224 | * [What is the MongoDB shell](https://youtu.be/W4o8HJyL7_8)
225 | * [Mongoimport](https://youtu.be/ih2AYAfmQ9g)
226 | * [Cursors Intruduction](https://youtu.be/XzNqJpImCP4)
227 | * [Query Language:Basic Concepts](https://youtu.be/CJLLg0ibcnI)
228 | * [Query Languages:Projection](https://youtu.be/5-_ztAQ55f4)
229 | * [Query Languages:Advantages of a Dynamic Schema](https://youtu.be/8zlMXX70KEw)
230 | * [Shell:Queries](https://youtu.be/Mjcd5PAdG-s)
231 | * [Sorting](https://youtu.be/Ezx1lXaY7jE)
232 | * [Query Languages:Cursors](https://youtu.be/DRs4_hBpPlI)
233 | * [Deep Dive into the Course Going Forward](https://youtu.be/w2u-AKZEh_Q)
234 |
235 | #### [[]](#toc) WEEK 2-CRUD and Administrative Commands
236 |
237 | * [Welcome to Week 2](https://youtu.be/J_LLMqmPVxA)
238 | * [Introduction to Seek 2](https://youtu.be/7aONHmqz0iI)
239 | * [Insertion](https://youtu.be/Z_LvS-n85aI)
240 | * [Update](https://youtu.be/4GVMjVuGPq8)
241 | * [save() Command](https://youtu.be/fWLiwAC-Q20)
242 | * [Partial Updates & Document Limits](https://youtu.be/pyG6hvieAjc)
243 | * [Removing Documents](https://youtu.be/0sBeHFEzwH4)
244 | * [Multi Update](https://youtu.be/HuXgTJVCNJ0)
245 | * [Upsert](https://youtu.be/8nlZEd_Jliw)
246 | * [Wire Protocol](https://youtu.be/LzjYGev1sGg)
247 | * [Bulk() Operations and Methods](https://youtu.be/4NCDH8KRmtA)
248 | * [Common Commands](https://youtu.be/EPIuVGNXwO8)
249 | * [db.runCommand()](https://youtu.be/88IlYfK3i4I)
250 | * [db.isMaster()](https://youtu.be/qzq4ZIMByrw)
251 | * [db.serverStatus](https://youtu.be/TNrWUptluMg)
252 | * [db.currrentOp() & db.killOp()](https://youtu.be/lWxTODnZj5A)
253 | * [collection.stats() & collection.drop()](https://youtu.be/EJk9joNfnoA)
254 | * [Review of Commands](https://youtu.be/Q8v1J7wovl4)
255 |
256 | #### [[]](#toc) WEEK 3-Performance
257 |
258 | * [Welcome to Week 3](https://youtu.be/yeb0nSDiozQ)
259 | * [Storage Engine:Introduction](https://youtu.be/yV8qgeXvAyI)
260 | * [Storage Engine: MMAPv1](https://youtu.be/PZCdLVB4lw4)
261 | * [MMAPv1: Ducoments and Data Files](https://youtu.be/9nYFnlM4vYw)
262 | * [Storage Engine: WiredTiger](https://youtu.be/O9TGqK3FBX8)
263 | * [createIndex(),getIndexes()& dropIndex()](https://youtu.be/JvXfCHPYKzw)
264 | * [Collection Scans](https://youtu.be/qB6435EGS6w)
265 | * [Index Notes](https://youtu.be/OyXFYhLXTGk)
266 | * [Unique Indexes](https://youtu.be/WksXV0HrJoQ)
267 | * [Sparse Indexes](https://youtu.be/0Hl3dBQQMAk)
268 | * [TTL Indexes](https://youtu.be/hu0gsu5O0Rs)
269 | * [Geospatial Indexes](https://youtu.be/S5u9gbhy8tk)
270 | * [Text Indexes](https://youtu.be/n84CtW4lCkM)
271 | * [Backgrund Index Creation](https://youtu.be/rI2Hnqp8BN4)
272 | * [Explain Plans](https://youtu.be/rRsYWCO3ndY)
273 | * [Covered Queries](https://youtu.be/npFBnPAkDUk)
274 | * [Read & Write Recap](https://youtu.be/TO1pY0m1sm0)
275 | * [currentOp() & killOp() Revisited](https://youtu.be/i7XEKAtRS_M)
276 | * [The Profiler](https://youtu.be/MzLmI8FNB94)
277 | * [mongostat and mongotop](https://youtu.be/fEgl1DT_lDA)
278 |
279 | #### [[]](#toc) WEEK 4-Replication
280 |
281 | * [Welcome to Week 4](https://youtu.be/oK8Cb7XsAWU)
282 | * [Replication Overview](https://youtu.be/eNFWxRFIbcI)
283 | * [Asynchrnous Replication](https://youtu.be/3p30vjb-Rx8)
284 | * [Statement-based vs. Binary Replication](https://youtu.be/yutpUgJMkk4)
285 | * [Replication Concepts](https://youtu.be/AYBOd-tpdKo)
286 | * [Automatic Failover](https://youtu.be/VsnI8uCTG60)
287 | * [Recovery](https://youtu.be/TGsnu9RBjzA)
288 | * [Starting Replica Sets](https://youtu.be/RpR5VCIQU2Y)
289 | * [Initiating a Replica](https://youtu.be/EaGhuXPZZbk)
290 | * [Replica Set Status](https://youtu.be/QspOQbOShSY)
291 | * [Replica Set Commands](https://youtu.be/e7Mhy-LAfLw)
292 | * [Reading & Writing](https://youtu.be/rUhe8CJCtG8)
293 | * [Failover](https://youtu.be/MGoHhWbMDaU)
294 | * [Read Preference](https://youtu.be/I62q4cyeSyc)
295 | * [Read Preference Options](https://youtu.be/jCEZvexlpj4)
296 |
297 | #### [[]](#toc) WEEK 5-Replication Part 2
298 |
299 | * [Week 5 Introduction](https://youtu.be/cs-2q4Gbsbk)
300 | * [Reconfiguring a Replica Set](https://youtu.be/kkqX5Hwah6Q)
301 | * [Arbiters](https://youtu.be/4W0GO2CAu2w)
302 | * [Priority Options](https://youtu.be/mSeUC5dRd44)
303 | * [Hidden Option & Slave Delay](https://youtu.be/X1hCBT2UTuo)
304 | * [Voting Options](https://youtu.be/w14Re7vCx40)
305 | * [Applied Reconfiguration](https://youtu.be/CvaV2QqV-AM)
306 | * [Write Concern Principles](https://youtu.be/73Jl2woKhNo)
307 | * [Examing the 'w' Parameter](https://youtu.be/K3N6psPZCD0)
308 | * [Write Concern Use Cases & Patterns](https://youtu.be/sSkFhx1jKSs)
309 | * [Reexaming the Page View Counter Pattern](https://youtu.be/MjrNWE38QnM)
310 | * [wtimeout & Capacity Planning](https://youtu.be/K5Q1t1oV0a0)
311 | * [Replica Sets in a Single Datacenter](https://youtu.be/lSMLN6QqLyQ)
312 | * [Replica Sets in Multiple Datacenters](https://youtu.be/YEeudsS3lqg)
313 | * [Replica Sets and Storage Engine Considerations](https://youtu.be/e3SeZRdrAsE)
314 |
315 | #### [[]](#toc) WEEK 6-Scalability
316 |
317 | * [Introduction to Week6](https://youtu.be/gaVzKkKsIxI)
318 | * [Sharding & Data Distribution](https://youtu.be/xvWzS9j7IIY)
319 | * [Replication with Sharding](https://youtu.be/K7nWCuA5wF4)
320 | * [Chunks & Operations](https://youtu.be/v7Gibss9JAk)
321 | * [Sharding Processes](https://youtu.be/XMnxjcdiMJs)
322 | * [Cluster Topology](https://youtu.be/ZyDNnN8-4Ak)
323 | * [Running on localhost](https://youtu.be/lQ-tf4XQlQ8)
324 | * [The Config Database](https://youtu.be/WVXmIVUGBm4)
325 | * [Adding the Initial Shards](https://youtu.be/-Ijt60KkWpc)
326 | * [Enable Sharding for a Collection](https://youtu.be/G2GYYDTfq-M)
327 | * [Working with a Sharded Cluster](https://youtu.be/DSAtoCcFdWI)
328 | * [Cardinality & Monotonic Shard Keys](https://youtu.be/FANoi-xQJp4)
329 | * [Shard Key Selection Example](https://youtu.be/ujlNVJK5dMc)
330 | * [Process and Machine Layout](https://youtu.be/j43kGempShk)
331 | * [Bulk Inserts and Presplitting](https://youtu.be/rYGOF-MjRQU)
332 | * [Further Tips and Best Practices](https://youtu.be/9QXa9Uz8bjc)
333 |
334 | #### [[]](#toc) WEEK 7-Backup and Recovery
335 |
336 | * [Introduction to Week7](https://youtu.be/1n0IDMAWR0Y)
337 | * [Overview of Security](https://youtu.be/TOtt-8SRlA4)
338 | * [Security continued:Authentication and Authorization](https://youtu.be/BAvTSOJGynA)
339 | * [SSL and Keyfiles](https://youtu.be/Sj4737nkV08)
340 | * [Security and Client](https://youtu.be/4eWnyAGxJ68)
341 | * [Intra-cluster Security](https://youtu.be/SI-P8wZ8hM0)
342 | * [Overview of Backing Up](https://youtu.be/hl58MKd2jCs)
343 | * [Mongodump](https://youtu.be/tbQE2ZPPbHA)
344 | * [Filesystem Snapshotting](https://youtu.be/6A_jy8_YRIg)
345 | * [Backing Up a Sharded Cluster](https://youtu.be/DAWoj5Hd2Mo)
346 | * [Backup Strategies](https://youtu.be/7x9UPaq-i78)
347 | * [Additional Features of MongoDB](https://youtu.be/Ih8PVVwvyuU)
348 | * [GridFS](https://youtu.be/cb0odeI0WOg)
349 | * [Hardware Tips](https://youtu.be/19VZJ9H3LmQ)
350 | * [Additional Resources](https://youtu.be/BYegVYF7lHY)
351 |
--------------------------------------------------------------------------------