Copilot Context: Cassandra Learning Labs (consolidated)

Copilot Context: Cassandra Learning Labs (consolidated)

Project Overview

Key Project Structure

├── docs/
│   ├── index.md                              # Home page with GitHub repo link
│   ├── theory/                               # 8 comprehensive theory modules
│   │   ├── 01-nosql-and-cassandra.md        # NoSQL concepts, CAP theorem, why Cassandra
│   │   ├── 02-core-concepts.md              # Cluster, nodes, partition keys, RF, consistency
│   │   ├── 03-data-modeling.md              # Query-first design, denormalization, time-series
│   │   ├── 04-indexes-and-mv.md             # Secondary indexes, materialized views, dual-writes
│   │   ├── 05-consistency-lwt-batch.md      # Consistency levels, Paxos, atomic writes
│   │   ├── 06-ttl-tombstones.md             # Data expiration, tombstone management, compaction
│   │   ├── 07-aggregation-counters.md       # Aggregation limits, counters, filtering
│   │   ├── 08-advanced.md                   # Hot partitions, multi-DC, security, monitoring
│   ├── interview-prep.md                    # Interview preparation guide
│   ├── interview-questions.md               # Q&A for interviews and self-study
│   └── labs-overview.md                     # Lab exercises overview
├── labs/                                    # 11 progressive CQL lab exercises
│   ├── 01_keyspace_basics.cql
│   ├── 02_partitioning_clustering.cql
│   ├── 03_modeling_by_query.cql
│   ├── 04_indexes_and_mv.cql
│   ├── 05_consistency_lwt_batch.cql
│   ├── 06_ttl_tombstones.cql
│   ├── 07_aggregation_filtering.cql
│   ├── 08_relational_to_query_first.cql
│   ├── 09_multi_dc_replication.cql
│   ├── 10_security_basics.cql
│   └── 11_monitoring_and_repair.cql
├── docker/
│   ├── docker-compose.yml                   # 2-node Cassandra cluster setup
│   ├── init.cql                             # Schema initialization
│   └── start-2node.sh                       # Quick start script
└── spring-boot-app/                         # Spring Boot 3.x application
    ├── pom.xml                              # Maven dependencies
    └── src/main/                            # Application source code

Theory Materials - What Each Module Covers

Each theory module now includes:

Key Learning Areas & Conventions

1. Primary Key Design (Theory 02, Labs 02-03)

2. Query-First Denormalized Modeling (Theory 03, Labs 03, 08)

3. Consistency & Transactions (Theory 05, Labs 05)

4. Data Lifecycle Management (Theory 06, Labs 06)

5. Indexes & Materialized Views (Theory 04, Labs 04)

6. Aggregation & Filtering (Theory 07, Labs 07)

7. Data Distribution & Hot Partitions (Theory 08, Labs 02)

8. Security & Monitoring (Theory 08, Labs 10-11)

Important Files & Their Purposes

Coding Standards & Practices

Common Development Tasks

Running Labs

# Start Cassandra cluster
cd docker && docker-compose up -d

# Run individual lab exercise
cqlsh localhost 9042 < labs/02_partitioning_clustering.cql

# Connect to cqlsh for interactive testing
cqlsh localhost 9042

Common Queries

-- Check keyspace
DESC KEYSPACE keyspace_name;

-- View table schema
DESC TABLE table_name;

-- Check replication settings
SELECT * FROM system.local;

Debugging Cassandra Issues

Interview Prep Notes

Update History