Course Code: cassdev1
Duration: 21 hours
Prerequisites:
  • comfortable with Java programming language
  • comfortable in Linux environment (navigating command line, editing files with vi / nano)

Lab environment:

A working Cassandra environment will be provided for students. Students would need an SSH client and a browser to access the cluster.

Zero Install : There is no need to install Cassandra on students’ machines!

Overview:

This course will introduce Cassandra –  a popular NoSQL database.  It will cover Cassandra principles, architecture and data model.   Students will learn data modeling  in CQL (Cassandra Query Language) in hands-on, interactive labs.  This session also discusses Cassandra internals and some admin topics.

Duration : 3 days

Audience : Developers

Course Outline:
  • Section 1: Introduction to Big Data / NoSQL
    • NoSQL overview
    • CAP theorem
    • When is NoSQL appropriate
    • Columnar storage
    • NoSQL ecosystem
  • Section 2 : Cassandra Basics
    • Design and architecture
    • Cassandra nodes, clusters, datacenters
    • Keyspaces, tables, rows and columns
    • Partitioning, replication, tokens
    • Quorum and consistency levels
    • Labs : interacting with cassandra using CQLSH
  • Section 3: Data Modeling – part 1
    • introduction to CQL
    • CQL Datatypes
    • creating keyspaces & tables
    • Choosing columns and types
    • Choosing primary keys
    • Data layout for rows and columns
    • Time to live (TTL)
    • Querying with CQL
    • CQL updates
    • Collections (list / map / set)
    • Labs : various data modeling exercises using CQL ; experimenting with queries and supported data types
  • Section 4: Data Modeling – part 2
    • Creating and using secondary indexes
    • composite keys (partition keys and clustering keys)
    • Time series data
    • Best practices for time series data
    • Counters
    • Lightweight transactions (LWT)
    • Labs : creating and using indexes;  modeling time series data
  • Section 5 : Data Modeling Labs  : Group design session
    • multiple use cases from various domains are presented
    • students work in groups to come up designs and models
    • discuss various designs, analyze decisions
    • Lab : implement one of the scenario
  • Section 6: Cassandra drivers
    • Introduction to Java driver
    • CRUD (Create / Read / Update, Delete) operations using Java client
    • Asynchronous queries
    • Labs : using Java API for Cassandra
  • Section 7 : Cassandra Internals
    • understand Cassandra design under the hood
    • sstables, memtables, commit log
    • read path / write path
    • caching
    • vnodes
  • Section 8: Administration
    • Hardware selection
    • Cassandra distributions
    • Installing Cassandra
    • Running benchmarks
    • Tooling for monitoring performance and node activities
      • DataStax OpsCenter
    • Diagnosting Cassandra performance issues
    • Investigating a node crash
    • Understanding data repair, deletion and replication
    • Other troubleshooting tools and tips
    • Cassandra best practices (compaction, garbage collection,)
  • Section 9:  Bonus Lab (time permitting)
    • Implement a music service like Pandora / Spotify on Cassandra
Sites Published:

United Arab Emirates - Cassandra for Developers - Bespoke

Qatar - Cassandra for Developers - Bespoke

Egypt - Cassandra for Developers - Bespoke

Saudi Arabia - Cassandra for Developers - Bespoke

South Africa - Cassandra for Developers - Bespoke

Brasil - Cassandra for Developers - Bespoke

Canada - Cassandra for Developers - Bespoke

中国 - Cassandra for Developers - Bespoke

香港 - Cassandra for Developers - Bespoke

澳門 - Cassandra for Developers - Bespoke

台灣 - Cassandra for Developers - Bespoke

USA - Cassandra for Developers - Bespoke

Österreich - Cassandra for Developers - Bespoke

Schweiz - Cassandra for Developers - Bespoke

Deutschland - Cassandra for Developers - Bespoke

Czech Republic - Cassandra for Developers - Bespoke

Denmark - Cassandra for Developers - Bespoke

Estonia - Cassandra for Developers - Bespoke

Finland - Cassandra for Developers - Bespoke

Greece - Cassandra for Developers - Bespoke

Magyarország - Cassandra for Developers - Bespoke

Ireland - Cassandra for Developers - Bespoke

Luxembourg - Cassandra for Developers - Bespoke

Latvia - Cassandra for Developers - Bespoke

España - Cassandra para Desarrolladores (Personalizado)

Italia - Cassandra for Developers - Bespoke

Lithuania - Cassandra for Developers - Bespoke

Nederland - Cassandra for Developers - Bespoke

Norway - Cassandra for Developers - Bespoke

Portugal - Cassandra for Developers - Bespoke

România - Cassandra for Developers - Bespoke

Sverige - Cassandra for Developers - Bespoke

Türkiye - Cassandra for Developers - Bespoke

Malta - Cassandra for Developers - Bespoke

Belgique - Cassandra for Developers - Bespoke

France - Cassandra for Developers - Bespoke

日本 - Cassandra for Developers - Bespoke

Australia - Cassandra for Developers - Bespoke

Malaysia - Cassandra for Developers - Bespoke

New Zealand - Cassandra for Developers - Bespoke

Philippines - Cassandra for Developers - Bespoke

Singapore - Cassandra for Developers - Bespoke

Thailand - Cassandra for Developers - Bespoke

Vietnam - Cassandra for Developers - Bespoke

India - Cassandra for Developers - Bespoke

Argentina - Cassandra para Desarrolladores (Personalizado)

Chile - Cassandra para Desarrolladores (Personalizado)

Costa Rica - Cassandra para Desarrolladores (Personalizado)

Ecuador - Cassandra para Desarrolladores (Personalizado)

Guatemala - Cassandra para Desarrolladores (Personalizado)

Colombia - Cassandra para Desarrolladores (Personalizado)

México - Cassandra para Desarrolladores (Personalizado)

Panama - Cassandra para Desarrolladores (Personalizado)

Peru - Cassandra para Desarrolladores (Personalizado)

Uruguay - Cassandra para Desarrolladores (Personalizado)

Venezuela - Cassandra para Desarrolladores (Personalizado)

Polska - Cassandra for Developers - Bespoke

United Kingdom - Cassandra for Developers - Bespoke

South Korea - Cassandra for Developers - Bespoke

Pakistan - Cassandra for Developers - Bespoke

Sri Lanka - Cassandra for Developers - Bespoke

Bulgaria - Cassandra for Developers - Bespoke

Bolivia - Cassandra para Desarrolladores (Personalizado)

Indonesia - Cassandra for Developers - Bespoke

Kazakhstan - Cassandra for Developers - Bespoke

Moldova - Cassandra for Developers - Bespoke

Morocco - Cassandra for Developers - Bespoke

Tunisia - Cassandra for Developers - Bespoke

Kuwait - Cassandra for Developers - Bespoke

Oman - Cassandra for Developers - Bespoke

Slovakia - Cassandra for Developers - Bespoke

Kenya - Cassandra for Developers - Bespoke

Nigeria - Cassandra for Developers - Bespoke

Botswana - Cassandra for Developers - Bespoke

Slovenia - Cassandra for Developers - Bespoke

Croatia - Cassandra for Developers - Bespoke

Serbia - Cassandra for Developers - Bespoke

Bhutan - Cassandra for Developers - Bespoke

Nepal - Cassandra for Developers - Bespoke

Uzbekistan - Cassandra for Developers - Bespoke