Fundamentals of NoSQL, MongoDB, Cassandra

Overview

  • This course provides and introduction to NOSQL Basics
  • Participants will learn the background and fundamentals of NoSQL concepts
  • They will also learn to apply the concepts learnt with practical exercises on Cassandra and MongoDB
Learning Objectives
  • Introduces NoSQL
  • Describes the evolution of CouchDB
  • Overview of column and document-oriented databases and their need
  • Understand Cassandra and NoSQL domain
  • Understand Apache Cassandra Architecture
  • Design and model Applications for Cassandra
  • Discuss concepts of Cassandra cluster for different kinds of applications
  • Learn to use Cassandra with various programming languages
  • MongoDB Architectural Overview
  • Working with the MongoDB Shell
  • Single-server Configuration and Deployment
  • Security and Monitoring MongoDB
  • Introduction to drivers (Java/Python/Ruby/PHP/Perl)
Prerequisites
  • Participants should have knowledge of computer systems
  • Participants should have basic knowledge of programming logic
  • Participants should have Database Knowledge
  • Participants should have minimal exposure to Java
  • Significant exposure to Java would be a definite plus
Course duration

2 Days

Course outline

Unit 1 : NOSQL Introduction
  • Introduction to NoSQL
  • Sharding and Share Nothing Architecture
  • NoSQL Databases
  • Brewers CAP Theorem
    • RDBMS vs NoSQL
    • Analytical (OLAP)
Unit 2 : NOSQL Databases
  • Key Value stores: Memcached, Riak
  • Key Value stores: Redis, Dynamo DB
  • Column Family: Cassandra, Hbase
  • Graph Store: Neo4J
  • Document Store: MarkLogic, MongoDB
  • Document Store: CouchBase, CouchDB, Exist DB
Unit 3 : Getting started with Cassandra
  • Cassandra Definition and Features
    • Distributed and Decentralized
    • Elastic Scalability
    • High Availability and Fault Tolerance
    • Tuneable Consistency
      • Strict Consistency
      • Casual Consistency
      • Weak (Eventual Consistency)
    • Column Orientation
    • Schema Free
    • High Performance
    • Use Cases for Cassandra
  • Installing Cassandra
    • Running the Command-Line Client Interface
    • Basic CLI Commands
    • Connecting to a Server
    • Describing the Environment
    • Creating a Keyspace and Column Family
    • Writing and Reading Data
Unit 4 : Understanding Cassandra Data Model
  • The Relational Data Model
  • Simple Introduction
  • Cluster
  • Keyspaces
  • Column Families
    • Column Family Options
  • Columns
  • Wide Rows
  • Skinny Rows
  • Column Sorting
  • Super Columns
    • Composite Keys
  • Design Differences between RDBMS and CASSANDRA
  • Query Language
  • Sorting
Unit 5 : Understanding Cassandra Architecture
  • System Keyspace
  • Peer-To-Peer
  • Gossip and Failure Detection
  • Anti-Entropy and Read Repair
  • Memtable
  • SSTables
  • Commit Logs
  • Hinted Handoff
  • Compaction
  • Bloom Filters
  • Tombstones
  • Staged Event-Driven Architecture (SEDA)
  • Managers and Services
Unit 6 : CQL
  • Introduction to CQL
  • cqlsh
  • Capture CQL output to a file
  • Import and export data
Unit 7 : Configuring Cassandra
  • Configuring Cassandra
    • Keyspaces
    • Replicas
    • Replica Placement Strategy
    • Replication Factor
    • Partitioners
    • Snitches
    • Dynamic Ring Participation
    • Security
    • Miscellaneous Settings
    • Additional Tools
  • Reading and Writing data in Cassandra
    • Query differences between RDBMS and Cassandra
    • Set Up and Inserting Data
    • Slice Predicate
    • Get Range Slices
    • Multiget Slice
    • Deleting
Unit 8 : MongoDB Architectural Overview
  • Origin
  • Design goals
  • Key features
  • Process structure ofmongos
  • Process stucture of mongod
  • Process structure of config servers
  • Directory / file structure
Unit 9 : Working with the MongoDB Shell
  • Documents and data types
  • CRUD (Inserts, queries, updates, deletes)
  • System commands
Unit 10 : Single-server Configuration and Deployment
  • Configuration files
  • Data files and allocation
  • Log files
  • Hardware and file-system recommendations
Unit 11 : Security
  • Security
    • Built-in authentication
    • Recommendations for secure deployment
  • Monitoring MongoD
    • Mongostat
    • Analyzing memory
    • IO performance
    • Integration with monitoring tools: Munin / Cacti / Nagios
    • MongoDB's web console
Unit 12 : Introduction to drivers (Java/Python/Ruby/PHP/Perl)
  • How the drivers and shell communicate with MongoDB
  • BSON and the MongoDB Wire Protocol
  • Troubleshooting application connections
Unit 13 : Replication and Durability
  • Master-slave replication
  • Replica sets
  • Using write concern for durability
  • Handling replication failures
Unit 14 : Auto-Sharding
  • Auto-Sharding
    • How sharding works
    • Setting up a MongoDB shard cluster
  • Choosing a shard key
    • Sharding and Replica Set Topologies
    • Administering a sharded cluster

About us
Contact us
Careers at Wintrac
Our Clients
Why Wintrac
Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
© Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy