OBJECTIVE
Databases
Goal : To understand databases in general and to get familiarity with different types of databases.
- Introduction to Databases
- Different Type of Databases
- Flat File Databases
- hierarchical database
- object-oriented database
- Relational Databases
- NoSQL Databases
NoSQL Database
Goal : To learn about NoSQL databases and the need for NoSQL databases, this module will also take you through types Of NoSQL Databases.
- Introduction to NoSQL Databases.
- CAP theorem
- Not only SQL or Not SQL
- Different type of NoSQL databases
- Key-value stores
- Column stores
- Document databases
- Graph databases
MongoDB an Introductory View
Goal : This module starts with introduction to MongoDB and makes you understand the different components of MongoDB from a developer perspective. Participants will deep dive into how MongoDB stores data.
- Introduction to MongoDB
- Structure of MongoDB
- Database
- Documents
- What is schemaless?
- JSON and BSON
- Data types in MongoDB
- Understanding Array in MongoDB
- Collection
- Simple Collection
- Capped Collections
- Understanding Embedded Documents
- MongoDB shell
- MongoDB shell introduction
- Starting MongoDB shell
- MongoDB simple commands
- Running Script
Introductory Javascript
Goal : From MongoDB shell we will use Javascript to write all the queries. Learning Javascript will enable participant to write efficient code on Mongo Shell.
- JavaScript Introduction
- Variables in Javascript
- JavaScript code in mongo shell
- Operators
- Conditionals and Loops
- Function in Javascript
CRUD operations in MongoDB
Goal : Participants will learn to Perform CRUD operation on MongoDB using Mongo shell.
- Creation of Database
- Deletion of Database
- Creation and Deletion of Collection
- Data insert into collection
- insert()
- insertMany()
- Understanding write concern
- Data Selection and query
- find()
- findOne()
- Read Concern
- Querying array
- $push
- $pop
- $addToSet
- $pull
- $pullAll
- $all
- $each
- $slice
- Data Updation
- Introduction to data update.
- Update or Insert
- Updating many documents
Uploading Data to, and Downloading Data from, MongoDB
Goal : We will learn, how to import data from csv and JSON file to MongoDB and How to export data from MongoDB to csv or JSON file.
- mongoimport
- Introduction to mongoimport
- Options with mongoimport
- Different type of file imported by mongoimport
- mongoexport
- Introduction to mongoexport
- Options with mongoexport
Data Aggregation in MongoDB
Goal : Data aggregation provides important insight of given dataset. This topic will enable participants to find summary of given data and also derive useful insights from the data.
- Introduction to Data Aggregation
- Understanding aggregate() method.
- Data Pipeline in aggregate method
- Pipeline Operators
- match
- $project
- $group
- $unwind
- $sort
- $limit
- $skip
- Aggregation commands
- $count
- $distinct
- $first
- $last
- MapReduce for Data aggregation in MongoDB
- Understanding Map
- Understanding Reduce
Indexing in MongoDB
Goal : Participants will implement indexing on data and see how it makes their query faster. Participants will also understand about drawbacks of Indexing.
- Introduction to Indexing in MongoDB
- Key selection
- Indexing on more than one key.
- Indexing to help data sorting.
- Unique Index
- Compound unique index.
- Sparse Indexes
- Indexing on Array
- Indexing on embedded documents.
- High cardinality and benefits of indexing.
- Dropping Index
- Re-indexing
- Drawback of Indexing
Replication in MongoDB
Goal : How to ensure data availability in MongoDB ?. Does replication of data work? And many other questions will be discussed and implemented in this topic.
- Why is replication needed.
- Master Slave architecture
- Introduction to Replica set.
- Concept of primary and secondary nodes.
- Standard, passive and arbiter nodes.
- Concept of failover and primary selection process
- Write process in MongoDB.
- Concept of Oplog.
- Syncing
- Election
- Rollback
Sharding
Goal : What to do if MongoDB is dealing with huge amount of data? Should we go for Horizontal or Vertical scaling? How to run MongoDB on distributed system.
- Introduction to Sharding.
- Concept of autosharding and MongoDB.
- Deciding Shard Key.
- Mongos
- Data balancing
GridFS
Goal : Discuss and use GridFS.
- Introduction to GridFS
- Why to use GridFS
- fs.chunk and fs.files
Python Basic :
Goal : Introductory knowledge to Python.
- Introduction to Python.
- Python Shell.
- IDLE
- Spyder
- IPython.
- Jupyter Notebook.
- Introduction to Anaconda.
- Data type in Python .
- Operators in python.
- Indentation.
Collections in python
Goal : Participants will learn and implement Python Collection.
- List
- Introduction to List
- List operations
- List append
- List Extend
- List Insert
- List Pop and Remove
- List index and count
- List Comprehensions
- Dictionary
- Introduction to Dictionary
- Dictionaries operations
- Inserting elements into dictionary
- Dictionary element access
- Deleting elements from dictionary
- Set
- Introduction to Set
- Set Operations
- Union
- Intersection
- Difference
- Symmetric difference
- Other operations
- Tuples
- Introduction to Tuples
- Tuples Operations
- Index and count in Tuples
Conditionals and Looping
Goal : Python Conditionals and Loops.
- Introduction to conditionals
- if
- if and else
- if elif and else
- Introduction to looping
- for loop
- while loop
- break
- continue
- pass
Strings:
Goal : Understanding String manipulation in Python
- Introduction to Strings
- String Operations
- String Concatenation
- String search
- String substitution
- String split and string join
- Other operation
Functions
Goal : Learning to write procedural Python
- Inbuilt Functions
- User Defined Functions and its definition
- return statement
- Local and global variables
- None type variables
- Default argument
- Variable length arguments
- Anonymous functions
PyMongo
- Introduction to Pymongo
- Connecting to MongoDB using Python
- Reading Data From MongoDB
- Understanding cursor object
- Inserting Data into MongoDB collection
- Inserting single document
- Inserting many documents
- Querying MongoDB
- Data updation to MongoDB
- Deleting documents
- Deleting Collection
- Deleting DataBase
- Bulk Insert