Apache Training Overview
This course starts with the fundamental concepts of using a highly-scalable, column-oriented database to implement appropriate use cases.
It will cover topics like Cassandra Datamodels, Cassandra Architecture, Differences between RDBMS and Cassandra to name a few.
Apache Training Learning Objectives
After the completion of this course, you should be able to:
- Understand Cassandra and NoSQL domain.
- Create Cassandra cluster for different kinds of applications.
- Understand Apache Cassandra Architecture.
- Design and model Applications for Cassandra.
- Learn how to Port existing application from RDBMS to Cassandra.
- Learn to use Cassandra with various programming languages.
Apache Training Audience
- A developer working with large-scale, high-volume websites.
- An application architect or data architect who needs to understand the available options for high-performance, decentralized, elastic data stores
- A database administrator or database developer currently working with standard relational database systems who needs to understand how to implement a fault-tolerant, eventually consistent data store
- A manager who wants to understand the advantages (and disadvantages) of Cassandra and related columnar databases to help make decisions about technology strategy
- A student, analyst, or researcher who is designing a project related to Cassandra or other non-relational data store options.
Apache Training Pre-requisites
- This course assumes no prior knowledge of Apache Cassandra or any other NoSQL database.
- Though some familiarity with Linux command line is essential, good exposure to Java, database and/or data-warehouse concepts is required.
Apache Training Course duration
2 days
Apache Training Course outline
Day 1
Unit 1 : Getting started with Cassandra
- 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 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
Unit 2 : Installing 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 3 : Understanding Cassandra Data Model
- The Relational Data Model
- Simple Introduction
- Cluster
- Keyspaces
- Column Families
- Columns
- Wide Rows
- Skinny Rows
- Column Sorting
- Super Columns
- Design Differences between RDBMS and CASSANDRA
- Query Language
- Sorting
Unit 4 : CQL
- Introduction to CQL
- cqlsh
- Capture CQL output to a file
- Import and export data
Day 2
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 : Configuring Cassandra
- Keyspaces
- Replicas
- Replica Placement Strategy
- Replication Factor
- Partitioners
Unit 7 : Configuring Cassandra (2)
- Snitches
- Dynamic Ring Participation
- Security
- Miscellaneous Settings
- Additional Tools
Unit 8 : Reading and Writing data in Cassandra
- Query differences between RDBMS and Cassandra
- Basic Write Properties
- Consistency Level
- Basic Read Properties
- Ranges and Slices
- Set Up and Inserting Data
- Deleting Data
|