- Knowledge of Databases
- Knowledge of SQL
Bespoke course based on outline provided by Global Knowledge
Day1 :
● NoSQL and RDBMS databases
● Explain what the various NoSQL databases are
● Topics - Quick Review of RDBMS:
Transactions, ACIDity, Schema, Two Phase Commit, Sharding and Share Nothing Architecture, Feature Based, Key Based, Lookup Table Based
● NoSQL Databases, Brewers CAP Theorem, Cassandra Definition and Features, Distributed and Decentralised
● 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, Cassandra Installation.
Introduction to Cassandra
● Understanding What Cassandra is
● What Cassandra is Being Used For
● Explain the various Cassandra features, Explain why Cassandra scores over other NoSQL databases
● Distinguish between use cases when Cassandra is a strong choice and when it is not, Understand the use cases where Cassandra is implemented.
● System Requirements
Cassandra Architecture
● Cassandra - a Distributed Database
● Introduction to Snitch
● Introduction to Gossip
● Introduction to Data Distribution
● Introduction to Replication
● Introduction to Virtual Nodes
Installing Cassandra(Hands-on)
● Downloading Cassandra
● Installing Cassandra
● Viewing the Main Configuration File
● Providing Cassandra with Permission to Directories
● Starting Cassandra
● Checking Status
● Accessing the Cassandra system.log File
● User management and security
● Important keyspaces and tables
Communicating with Cassandra(Hands-on)
● Ways to Communicate with Cassandra
● Using Cqlsh
Creating a Database(Hands-on)
● Understanding a Cassandra Database
● Defining a Keyspace
● Deleting a Keyspace
Creating a Table(Hands-On)
● Creating a Table
● Defining Columns and Data Types
● Defining a Primary Key
● Recognizing a Partition Key
● Specifying a Descending Clustering Order
Inserting Data(Hands-On)
● Understanding Ways to Write Data
● Using the Insert Into Command
● Using the Copy Command
● How Data is Stored in Cassandra
● How Data is Stored on Disk
Hands On: 1. Installing Cassandra cluster using NetworkTopology to demonstrate how to create real time cluster
2. Adding and removing into existing cluster
3. Creating keyspace, table, CRUD operations, data types, custom types and key modeling exercise to understand demoralization
concept.
Day2
Modeling Data
● Understanding Data Modeling in Cassandra
● Using a Where Clause
● Understanding Secondary Indexes
● Creating a Secondary Index
● Defining a Composite Partition Key
● Importing data in Cassandra from RDBMS
Updating and Deleting Data
● Updating Data
● Understanding How Updating Works
● Deleting Data
● Understanding Tombstones
● Using TTLs
● Updating a TTL(Hands-On)
Adding Nodes to a Cluster(Hands-On)
● Understanding Cassandra Nodes
● Having a Network Connection
● Specifying the IP Address Of a Node in Cassandra
● Specifying Seed Nodes
● Bootstrapping a Node
● Cleaning Up a Node
● Using Cassandra-Stress
Monitoring a Cluster
● Understanding Cassandra Monitoring Tools
● Using Nodetool(Hands On)
● Using JConsole
● Learning About OpsCenter
Day 3
Repairing Nodes
● Understanding Repair
● Repairing Nodes(Hands-On)
● Understanding Consistency
● Understanding Hinted Handoff
● Understanding Read Repair
Removing a Node
● Understanding Removing a Node
● Decommissioning a Node(Hands On)
● Putting a Node Back Into Service
● Removing a Dead Node
Redefining a Cluster for Multiple Data Centers
● Redefining for Multiple Data Centers
● Changing Snitch Type
● Modifying Cassandra-rackdc.Properties
● Changing Replication Strategy
Monitoring Cassandra
● Monitoring a Cassandra cluster
● Tuning Bloom filters
● Data caching
● Configuring memtable throughput
● Configuring compaction
● Compression
● Testing compaction and compression
● Tuning Java resources
● Purging gossip state on a node
Day 4 :
Cassandra Tools(Hands-On)
● The nodetool utility
● Cassandra bulk loader (sstableloader)
● The cassandra-stress tool
● The sstablescrub utility
● The sstablesplit utility
● The sstablekeys utility
● The sstableupgrade tool
Backing up and restoring data(Hands On)
● Taking a snapshot
● Deleting snapshot files
● Enabling incremental backups
● Restoring from a snapshot
● Restoring a snapshot into a new cluster
● Recovering from a single disk failure using JBOD
● Upgrading the database
● All node recovery
● Peer node recovery
Performance Optimization & Troubleshooting Techniques
● CQLSH Data Modification Parameters
● JVM troubleshooting
● Performance troubleshooting
● Cluster troubleshooting