└── 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 | --------------------------------------------------------------------------------