MongoDB training
Audience
Developers, Automated
Testing Engineers, operations professionals and anybody interested in deep
knowledge of MongoDB.
Preface
MongoDB (from
"humongous") is a document-oriented NoSQL database with JSON-style
documents written in C++ and using JavaScript for internal purposes. Designed
for the data and scalability requirements of modern internet applications,
MongoDB features dynamic queries and secondary indexes, fast atomic updates and
complex aggregations and support for replication with automatic failover and
sharding for scaling horizontally. MongoDB is an open-source and very popular
among both developers and operations professionals given its agile and scalable
approach.
Necessary knowledge
Software
engineering. JavaScript core (ECMA-262 standard). Basic concept of databases.
Relational
database management system (RDBMS) and SQL will be advantage.
Training Description
The training
describes base concepts, features and syntax of MongoDB. It gives theoretical
and practical information about MongoDB, observe best practices and typical
issues and give you the way to develop horizontally scalable and highly available
web applications with automated failover, working with humongous set of data.
Training goals
The training
go over basic installation, «schema design», querying, inserting and updating data,
indexing and working with aggregation framework. It also covers working in
sharded and replicated environments and observe the latest MongoDB features
like Geospatial Indexes, Grid FS, Text search, Time To Live (TTL) and Caped
collections.
After
completing this course attendee will be able to do everything from «Training Agenda» as well as using
documentation for reference and further education.
Training Agenda:
N
|
Chapter
|
Duration (Hrs)
|
|
Lecture
|
Practice
|
||
1.
|
Introduction:
·
Course info, agenda, environment description,
·
NoSQL, Mongo DB overview, design goals,
·
tools,
·
simple REST interface,
o
can be used by clients written in Javascript;
o
uses internally Server-side
JavaScript for certain options such as Map-Reduce, Group, $where
query, eval ;
o
has a shell that is based on Javascript for
administrative purposes;
|
2 h
|
1 h
|
2.
|
CRUD:
·
Creating, Reading, Updating and Deleting data.
·
Mongo shell query operators, update operators.
·
Few commands.
·
Capped Arrays.
|
1.5 h
|
1.5 h
|
3.
|
·
MongoDB shell JavaScript: Cursors, Commands.
·
uses internally Server-side JavaScript for
o
$where query, Map-Reduce, Group,
o
eval;
·
BSON
·
MongoDB Extended JSON
·
MongoDB Document Types
·
can be used by clients written in Javascript:
e.g. officially supports JavaScript based server Node.js
·
New in MongoDB 2.4 (V8)
|
1.5 h
|
1.5 h
|
4.
|
Aggregation framework:
·
Goals,
·
pipeline,
·
comparison with SQL.
|
1.5 h
|
1.5 h
|
5.
|
Schema Design:
·
Data Modeling Patterns,
o
Embedded One-to-One Relationships
o
Embedded One-to-Many
o
Referenced One-to-Many
o
Data for Atomic Operations
o
Tree Structures with Parent References
o
Tree Structures with Child References
o
Tree Structures with an Array of Ancestors
o
Tree Structures with Materialized Paths
o
Tree Structures with Nested Sets
o
Data to Support Keyword Search
·
Case studies and tradeoffs. ???
|
2 h
|
1 h
|
6.
|
Performance & query optimization:
·
using indexes,
·
monitoring and understanding performance,
·
Read/Write performance.
|
1.5 h
|
1.5 h
|
7.
|
Advanced aggregation:
Advanced collections:
·
Caped collections,
·
Time To Live (TTL).
|
1 h
|
2 h
|
8.
|
Replication & Sharding overview
·
Replication
o
Replica sets Setup
o
How replication works
o
Drivers and replication
o
Connections and failover
o
Write concern
o
Read scaling
o
Tagging
·
Sharding
o
Sharding Setup
o
Writing to a sharded cluster
o
Querying and indexing a shard cluster
o
Shard query types
o
Indexing
o
Choosing a shard key
o
Hashed Index and Sharding with a Hashed Shard
Key
|
1 h
|
2 h
|
9.
|
Advanced features:
·
Geospatial Indexes
·
Using Grid FS for storing and retrieving very large files
·
Text Search
|
1 h
|
1 h
|
Final Exam
·
query task
·
update task
·
aggregation task
·
indexing task
·
complex task* (instead of 4 previous)
·
schema design question
·
sharding question
|
|
1 h
|
|
Total:
|
|
13 h
|
14 h
|
Few of the lectures of that training have been recorded and are available there:
YouTube: http://www.youtube.com/playlist?list=PL2FJ2G4VsuCoZTjo1ExW8ZOVQ9_ywRx0B
Kiev 2013-06, lesson 1 - Introduction, Installation
MongoDB training, Kiev 2013-06, lesson 2 - Tools MongoDB training 2013-05. Part2. Questions: introduction.
MongoDB training 2013-05. Part2. Tools.
MongoDB training, Kiev 2013-06, lesson 3 - CRUD - Query language MongoDB training 2013-05. Part3. Questions: tools.
MongoDB training 2013-05. Part3. CRUD1
MongoDB training, Kiev 2013-06, lesson 4 - CRUD - Update language
MongoDB training, Kiev 2013-06, lesson 5 - Aggregation framework
MongoDB training, Kiev 2013-06, lesson 6 - Indexes & performance
MongoDB training, Kiev 2013-06, lesson 7 - Replication
MongoDB training, Kiev 2013-06, lesson 8 - Sharding
MongoDB training, Kiev 2013-06, lesson 9 - final
MongoDB training 2013-06. Part9. No SQL seminar.
No comments:
Post a Comment