WA2773
MongoDB for Administrators Training
MongoDB is an open source document-oriented NoSQL (Not Only SQL) database written in C++. Effective use of MongoDB, understanding its data structures and optimal ways to program to its API aids in creating high-performance and robust solutions in small start-ups and big companies alike.
Course Details
Duration
2 days
Prerequisites
Familiarity with Java programming and using Eclipse environment.
Skills Gained
Become proficient with MongoDB Administration.Course Outline
- Introduction to MongoDB
- MongoDB
- MongoDB Features
- MongoDB on the Web
- Positioning of MongoDB
- MongoDB Applications
- MongoDB Data Model
- MongoDB Limitations
- MongoDB Use Cases
- MongoDB Query Language (QL)
- The CRUD Operations
- The
- find
- Method
- The
- findOne
- Method
- A MongoDB Query Language (QL) Example
- Inserts
- MongoDB vs Apache CouchDB
- MongoDB Data Model
- The BSON Data Format
- Database Terminology
- MongoDB Data Model
- The _id Primary Key Filed Considerations
- Indexes
- (Traditional) Data Modeling in RDBMS
- Data Modeling in MongoDB
- An Example of a Data Model in MongoDB
- MongoDB Data Modeling
- A Sample JSON Document Matching the Schema
- To Normalize or Denormalize?
- MongoDB Limitations
- Data Lifecycle Management
- Data Lifecycle Management: TTL
- Data Lifecycle Management: Capped Collections
- MongoDB Architecture
- MongoDB Nexus Architecture
- Blending the Best of Both Worlds
- What Makes MongoDB Fast?
- Pluggable Storage Engines
- Data Sharding
- Sharding in MongoDB
- Data Replication
- A Sample Sharded Cluster Diagram
- GridFS
- Getting a File from GridFS
- MongoDB Security
- Authentication
- Data and Network Encryption
- MongoDB Administration
- The Admin Shell
- Getting Help
- Admin Commands
- Starting MongoDB
- The mongod Web UI
- Running MongoDB JavaScript Scripts
- Shell Helper to JavaScript Equivalent Map
- A MongoDB Script Example
- Connecting to MongoDB
- User Authentication
- Authentication Options
- Import / Export Operations
- MongoDB Extended JSON and Strict Mode
- Examples of Strict Mode Encoding
- Examples of Data Import / Export
- The Robo3T (formerly RoboMongo) Tool
- Robo3T Connections
- Connection Manager
- Viewing Databases, Collections and Documents
- Edit Capabilities
- Admin Shell
- Working with Data in MongoDB
- Reading Data in MongoDB
- The Query Interface
- Query Syntax is Driver-Specific
- Projections
- Query and Projection Operators
- MongoDB Query to SQL Select Comparison
- Cursors
- Cursor Expiration
- Writing Data in MongoDB
- An Insert Operation Example
- The Update Operation
- Limiting Return Data
- Data Sorting
- Aggregating Data
- Aggregation Stages
- Accumulators
- Map-Reduce
- Indexes in MongoDB
- Indexes in MongoDB
- Creating an Index
- Listing Existing Indexes
- The Sort Order
- Using the Explain() Method
- Main Index Types
- The _id Field
- Single and Compound Indexes
- Multikey Indexes
- Other Index Types
- Index Properties
- Accessing MongoDB from Node.js
- Getting Started
- The Connection URL
- Obtaining a Collection
- Inserting Documents
- Updating a Document
- Querying for Documents
- Deleting a Document
- Connection Pooling
- MongoDB Java Client
- Accessing MongoDB from a Java Client
- The MongoDB Java Driver
- Using the Synchronous Driver in a Java Application
- Connecting to MongoDB
- Connecting to a Standalone Instance
- Connection Options and the MongoClientURI
- Using MongoClientURI
- Connecting to a Replica Set
- Connecting to a Sharded Cluster
- Connection Configuration
- Connecting and Accessing a Collection
- Create a Collection
- Insert a Document
- Update
- Update Operators
- Read (Find)
- Read (Find) Multiple Documents
- Delete
- BSON Library
- Impedance Mismatch
- Morphia Object Mapper
- Setup
- Connecting
- Mapping
- Simple Mapping
- Saving Data
- Queries
- Securing MongoDB
- Security Overview
- Your Mileage May Vary
- Security is Your Responsibility
- First Things First
- MongoDB Security
- A MongoDB Security Checklist
- Enable Access Control and Enforce Authentication
- Configure Role-Based Access Control
- Create an Admin User
- Create a Database User
- Enable Authentication
- Encrypt Communication
- Encrypt and Protect Data
- Limit Network Exposure
- Audit System Activity
- Run MongoDB with a Dedicated User
- Run MongoDB with Secure Configuration Options
- Compliance
- MongoDB Ops Manager APIs
- Ops Manager Introduction
- Features
- Architecture
- Architecture Diagram
- The Public API
- Configure Public API Access
- Generating a Public API Key
- Managing Public API Keys
- API Whitelisting
- Quick Review of RESTful Services
- Supported HTTTP Methods
- Response Codes
- Optional Query Parameters
- Resource Categories
- Root
- Making a Request
- Root Example
- Lab Exercises
- Lab 1. Learning the MongoDB Lab Environment
- Lab 2. The MongoDB Database Operations
- Lab 3. The MongoDB Admin Shell
- Lab 4. Import Export Operations in MongoDB
- Lab 5. Working with Data in MongoDB
- Lab 6. Using MongoDB
- Lab 7. CRUD Operations with the MongoDB Java Driver
- Lab 8. Aggregation with the MongoDB Java Driver
- Lab 9. x509 Authentication in MongoDB
- Lab 10. MongoDB Authentication
- Lab 11. Project – A RESTful API for MongoDB in NodeJS