What’s New at Scylla University? March 2020 Update
Summit Training Day
For the first time ever, all the material covered at our Scylla Summit training day, in both the Novice and Advanced tracks, is available online at Scylla University. Using hands-on exercises and quiz questions, trainees were able to improve their Scylla and NoSQL skills. You can read more about it here.
Tomer Sandler, ScyllaDB Technical Customer Success Manager, talks about migration strategies with attendees at Scylla Summit 2019.
A reminder, here are the courses we’ve previously announced:
- Scylla Essentials – Overview of Scylla and NoSQL Basics
- The Mutant Monitoring System (MMS)
- Data Modeling
Scylla Operations Course
This new course focuses on database administration and operations. It’s designed with Administrators and Architects in mind. It will also be useful for Developers and System Engineers who would like to gain in-depth knowledge of Scylla administration. By the end of this course, participants will have a profound understanding of building, administering, and monitoring Scylla clusters, as well as how to troubleshoot Scylla.
The major lessons in the course are:
- Admin Procedures and Monitoring: The tools Scylla uses to work, test and monitor the nodes and check cluster performance. Among them: Nodetool, logging, CQLsh, the Scylla Monitoring Stack, Cassandra-stress, and tracing. The lesson also covers some basic procedures such as removing a node and checking the cluster status and an example of how to check slow queries and how to solve some common issues.
- Repair, Tombstones and Scylla Manager: The different kinds of repairs, why and when they are needed. Tombstones can be formed when data is deleted. They generally disappear after compaction or after
gc_grace_seconds. Data resurrection can be an issue but there are steps to prevent this, which are also covered. This lesson also covers Scylla Manager, which enables centralized cluster administration and recurrent task automation, for tasks such as repairs and backups.
- Migrating to Scylla: Offline and online migrations and actual steps with an example of how to perform each one. The lesson also discusses how to use Kafka for the migration, the Scylla Spark Migrator, different options for migrating existing data and some best practices for migration.
- Compaction Strategies: The lesson begins with the Scylla storage write path and some general concepts required to understand the different compaction strategies. It then goes on to explain Size-Tiered Compaction Strategy (STCS), Leveled Compaction Strategy (LCS), Time-Window Compaction Strategy (TWCS), and the new Incremental Compaction Strategy (ICS), which is unique to Scylla. Finally, it goes over different use cases and which strategy to use in each case.
- Cluster Management, Repair, and Scylla Manager: Starts with an overview of the Scylla Monitoring Stack, how it can be deployed (Docker / Native), the alerts it generates, and how to identify common Scylla pitfalls using the monitoring stack. Next, it talks about the Scylla Manager, starting from an intro and how it works, then covering different repair types, why they are needed and different approaches to repair.
- Kubernetes Operator: Shows how it’s possible to leverage Kubernetes to write a great management layer for Scylla. The lesson explains some core Kubernetes principles, the design, and features of the Scylla Operator. It then presents a hands-on example in a playground environment. Finally, it discusses how to achieve high performance in the production environment.
- Advanced Monitoring and how to Maximize Performance: Based on our experience in discovering and solving performance and other issues and pitfalls in running clusters. Some of the topics covered are: How to monitor Scylla, the Monitoring and Manager dashboards, how to debug an issue, stalls, memory management, scheduling, disk scheduling, CPU scheduling, Workload Prioritization, Controllers and Backpressure vs Overload.
Additional topics that are covered include installing Scylla, security features, onboarding, and troubleshooting common issues.
Using the Scylla Drivers Course
This new course focuses on Scylla drivers and how to use them for application development.
It was designed with Application Developers and Architects in mind. By the end of this course, you will know how to use drivers in different languages to interact with a Scylla cluster. The drivers covered are Java, Python, Go, Go driver extension (gocqlx), and Node.js.
Some of the topics covered include connecting to a cluster and performing simple queries, using prepared statements to improve performance and write better applications, and storing different data types in a table.
The course is still a work in progress and we’re continuing to add more content to it.
Scylla Materialized Views and Secondary Indexes (MV + 2i)
This new lesson has been added to the Data Modeling course. This is an advanced topic that gets a lot of interest but users sometimes get mixed up. A View is a table containing a copy of the results of some query performed on a base table. Some common use cases are indexing with denormalization, different sort order, and filtering (pre-computed queries). The lesson goes over an example of MV, discusses what actually happens when a MV is created and how Materialized Views are implemented in Scylla before moving on to the next topic, Global Secondary Indexes. These are a table containing a copy of the key of a base table, with a single partition key corresponding to the indexed column. An example use case is given followed by an explanation of how they are implemented under the hood. Finally, a new feature is discussed, Local Secondary Indexes, and guidance on when to use each of the above.
Recommended Learning Paths
A learning path is a sequence of recommended courses related to your role and to your experience. We recommend the following:
- Administrators: Scylla Essentials → Operations → MMS
- Developers: Scylla Essentials → Data Modeling → MMS → Using Scylla Drivers
- Architects: Scylla Essentials → Data Modeling → Operations → MMS → Using Scylla Drivers
You can now get official ScyllaDB certificates for the courses you completed! To see your certificates go to your profile page.
Certificates can be printed and shared on your LinkedIn profile to show off your achievements!
If you haven’t yet tried out Scylla University, just register as a user and start learning. You can have a look at the available courses here. All the material is available for free. Courses are completely online, self-paced, and include practical examples, quizzes, and hands-on labs.
Join the #scylla-university channel on Slack for more training related discussions. If you have any ideas for new content or if you’ve got any other feedback, just let us know.