At Pythian, we pride ourselves in assisting and empowering our clients. We strive to understand the needs of each customer and to teach customers to make the most of their resources.
Experience has shown that the best way to learn for both ourselves and our customers is to get into topics in a hands-on, practical way.
This is why, rather than a set of formal courses with a curriculum — for example, Cassandra 101, Foundations of Cassandra, or Basic Cassandra Administration — we prefer the workshop approach.
So, what’s the difference?
Formal classes, like the ones above, have a fixed curriculum with teaching materials, and carefully tested and well-defined labs. There is an enormous amount of work involved in creating and maintaining a formal curriculum, and that curriculum may or may not fit a specific trainee or organization’s needs.
Also, there are already plenty of excellent free online training classes available to provide basic training on a variety of topics.
Our workshops take a certain amount of relevant formal training material and mix it up with a real-world exercise; building something useful to the customer right away.
Prior to the workshop, we spend time with the customer to work out their needs and what they’d like to cover.
Then the consultant designated to lead the workshop assembles a plan to meet the customer’s needs.
When possible, we prefer to do these onsite, with customer staff. However, especially during the pandemic, we are able to pivot to remote delivery.
The outline below is typical of a Cassandra workshop I have delivered several times:
- Introduction and discussion of workshop success criteria
- Customer overview of a few planned application uses of Cassandra
- Team discussion picking two to three applications to drill down on
- Summarize Day One
- Drill down on each of the selected applications to discuss:
- Business requirements
- What data will be stored
- How data will be written and retrieved from Cassandra
- Table formats and Cassandra features appropriate to each use case
- Summarize Day Two
- Review Day Two conclusions and re-visit each
- Operational and best practices discussion Part One:
- Overview of Cassandra architecture and operational implications
- Overview of Cassandra features, including dos and don’ts
- Summarize Day Three
- Operational and best practices discussion Part Two:
- Key spaces
- Overview of table configuration options and operational impacts:
- Compaction strategies
- Compression strategies
- Caching options
- Server configuration:
- Operating System
- Java (cassandra-env)
- Cassandra YAML:
- Thread pool configuration
- Security considerations:
- Cassandra user security
- Using Cassandra user security with JMX
- Monitoring and metrics
- Irregular maintenance processes
- Adding new nodes
- Removing nodes
- Adding a new DC
- Upgrading Cassandra versions
- Dealing with corrupt SSTables
- Summarize the week
- Cover parking lot topics
- Review and evaluate success criteria
- Workshop report including:
- Summary of the discussions throughout the workshop
- Final recommendations on data models and query design
- Operational best practices:
- OS tunable settings
- Cassandra configuration settings
- Backup and restore recommendations
- Repair scheduling
- Monitoring and metrics
Ongoing pre-launch support including:
- Assistance with cluster construction
- Setting up regular repair
- Setting up backup/restore processes
- Cluster health check
- Ad hoc requests