
Covers Cassandra as a distributed, highly scalable database with high availability, outlining architecture, installation, and basic operations on keyspaces, tables, and indexes using CQL and Java API.
Understand the course prerequisites by noting that Java knowledge helps, with prior database concepts and Linux familiarity improving comprehension. Access links and blogs for programming languages and Linux if needed.
Explore Cassandra, an open-source, NoSQL distributed database designed for high availability, scalability, and no single point of failure, with a dynamo-style replication model and schema-free data.
Trace Cassandra’s history from its Facebook roots, created by Avinash Lakshman and Prashant Malik, to open source in July 2008, incubator in March 2009, and top-level project in February 2010.
Discover Cassandra features like high scalability, fault-tolerant architecture, continuous availability, linear performance scaling, flexible schema, easy data distribution, and fast operation on commodity hardware.
Explore Cassandra architecture across a cluster of nodes with replication, ensuring no single point of failure, and learn how reads, writes, and read repair keep data up to date.
Compare relational and NoSQL databases, noting Cassandra’s simplicity, horizontal scaling, and high availability, and NoSQL’s lack of fixed schema and eventual consistency for big data and real-time apps.
Explore the use cases of Cassandra, including messaging and high-speed data from devices, retail product catalogs, and social media analytics with recommendation engines.
Explore how Cassandra models data: a ring-based cluster with replicated nodes, keyspaces with replication factor and replica placement strategies, and multiple column families to organize data.
Compare Cassandra and HBase, outlining architectures, replication models, and partitioning strategies; explore Cassandra's asynchronous replication, range scans, hotspots, and lack of coprocessor support.
Cassandra handles unstructured data with a flexible schema, unlike RDBMS with structured data and a fixed schema; it uses keyspaces and column families with key-value columns and collections model relationships.
Ensure Java is installed on your machine, install it with sudo apt if needed, and verify the version to confirm readiness for Cassandra from scratch.
Learn how to download Cassandra from the official site, sign up, navigate the site, and complete the download process.
Extract the Cassandra download with tar -x, rename the extracted folder, create and configure directories, and assign read, write, and executable permissions to enable access.
Explore Cassandra as a distributed, peer-to-peer database with no master architecture, enabling horizontal scalability and clusters across multiple data centers while ensuring no single point of failure.
Explore the Cassandra system keyspace, an internal keyspace that stores bootstrapping, cluster configuration, migration data for replication factor changes, and dynamic loading of keyspaces and schemas.
Compare master-slave and peer-to-peer models, showing how Cassandra's peer-to-peer design avoids a single point of failure, boosts availability, and simplifies scaling.
The Cassandra gossip protocol uses a decentralized, epidemic model to share the latest cluster status for fault-tolerant detection. Rounds exchange three messages: gossip digest, digest acknowledgement, final gossip digest acknowledgement.
Explore how anti-entropy reconciles replica data in Cassandra using Merkle trees and read repair, ensuring consistency across nodes through gossip-based synchronization.
Learn how Cassandra writes to a commit log for crash recovery, loads data into memtables, and flushes to SSTables on disk when memory thresholds are reached.
Learn how Cassandra uses compaction to merge and rewrite SSTables, how bloom filters speed lookups with potential false positives, and how tombstones implement soft deletes and garbage collection.
Create a keyspace in Cassandra using simple or network topology strategies and set replication factor. Describe keyspaces to verify, and switch context with the use command while noting durable_writes behavior.
Change keyspaces in Cassandra by altering replication strategy and replication factor, and update keyspace properties using the alter keyspace statement, including examples with network and simple strategies.
Learn how to drop keyspaces in Cassandra using the drop keyspace command, with if exists handling and error messages for non-existent keyspaces.
Create a table in Cassandra with the create table command, define a primary key (single or compound), specify column types and column families, then run a select to view data.
Learn how to alter a Cassandra table by adding and dropping columns, including a new text column, dropping multiple columns, and verifying changes with a select.
Learn how to drop a table in Cassandra using the drop table command, verify deletion with describe, and confirm the table no longer appears in the column families list.
Learn to truncate a table in Cassandra to permanently remove all rows, while the table remains with no data inside.
Learn to create an index in Cassandra with the create index command, covering syntax, naming, and rules such as not indexing primary keys and avoiding collection indexes.
Drop an index in Cassandra using drop index if exist, specify the keyspace and index name, and observe that the operation returns no operation when the index does not exist.
Learn to create data in Cassandra with CQL by inserting into a table with column names and values. Verify results by selecting from the student table in sample keyspace.
Learn to read data in Cassandra with CQL by using select for specific or all columns, and apply where clauses only on primary keys or columns with a secondary index.
Learn how to update data in Cassandra with CQL, using where and set clauses to modify specific rows. See a practical example updating a student record.
Learn how to delete data in Cassandra using CQL, including deleting a column value, or an entire row from the student table with a where clause.
Start cassandra on ubuntu with the cassandra daemon and bin/cassandra, then connect using bin/cqlsh to explore the cluster and run sequel commands, noting the IP address.
Explore Cassandra collections: define and use sets, lists, and maps to store elements, preserve list order, and map keys to values.
Explore the replica placement strategy in Cassandra, explain how the replication factor ensures data is replicated across nodes in the ring and how token ranges define replica ownership.
Explain Cassandra replica placement strategies, including the simple strategy (default) and the network topology strategy, and how they distribute replicas across data centers and racks.
Learn how replication factor determines data copies in a Cassandra cluster, balancing availability and consistency, and how to safely adjust it with restarts and repair.
Explore how Cassandra partitioners determine key distribution across nodes and range access, including the default random partitioner and order-preserving options, and when to delete directories after changes.
Learn how Cassandra uses snitches to locate nodes by data center and rack through IP address offsets, and how to select a snitch via config or property files.
Explore Cassandra monitoring tools that track health and lifecycle events and enable remote interaction. Use JMX and exporters to expose metrics and commands for monitoring and management.
Learn to use the Cassandra nodetool for cluster monitoring, including status, ring, cfstats, histograms, and compaction stats, and locate the bin directory to manage a node from the command line.
Learn to use JConsole to inspect a Cassandra Java process by connecting from the command line and exploring memory usage and operation timing metrics.
Explore how OpsCenter manages a Cassandra cluster via a browser interface, with server installation, agents on each node, and community versus enterprise editions.
Explore Cassandra as a cluster of nodes, each a fully functional machine connected by a high-speed internal network, with access to at least one node via an IP address.
Verify node-to-node connectivity in the Cassandra distributed database by testing communication between IP addresses and observing zero percent packet loss, showing how faster inter-node communication improves Cassandra performance.
Configure Cassandra by setting listen_address and rpc_address to each node's IP, replacing localhost in cassandra.yaml to enable inter-node communication in a multi-node cluster.
Define seed nodes in Cassandra by listing seed IP addresses in the seeds property, designate a seed node, and configure multiple seeds to allow nodes to join the cluster.
Bootstrap adds new nodes to Cassandra cluster, assigns token ranges in the ring, and enables writes as nodes join. Seed nodes and the bootstrap property (often automatic) control the process.
Learn how to clean up a node in Cassandra using the cleanup command line, specifying the node via its IP address to remove data after bootstrapping.
Learn how to use cassandra-stress to generate and read data on a Cassandra cluster, run commands, and explore stress tool options for testing performance.
Learn how to repair Cassandra nodes to reconcile replica data, ensure deletions propagate, and schedule off-peak repairs with staggered execution using the repair command for IP and keyspace.
Technocrat's Cassandra course will help you master the concepts of Cassandra including its features, architecture & data model. You will learn to install, configure, and monitor Cassandra. This course is well suited for big data developers, software developers & analytics professionals. You'll also gain expertise in CQL, Gossip Protocol, Tarball Installation while working with real-life industry use-cases. There will be many challenging, practical and focused hands-on exercises for the learners during this course.