- 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!
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
- 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
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