The ScyllaDB “sea monster” community is growing fast, so we’re excited to announce lots of new resources to get you on the fast track to ScyllaDB success. In this post, I’ll update you on our next ScyllaDB Labs and ScyllaDB University LIVE training events, introduce new lessons on ScyllaDB University, and summarize some interesting discussions from the community forum.
ScyllaDB University Updates
For those not (yet) familiar with ScyllaDB University, it’s an online learning and training center for ScyllaDB. The self-paced lessons include theory and hands-on labs that you can run yourself. To get started, just create a (free) account.
As the product evolves, we enhance and update the training material. One of the lessons we recently updated is the “How to Write Better Apps” lesson. Many of the issues new users commonly face can be avoided by using best practices and straightforward built-in debugging mechanisms. This lesson covers important metrics users should track, and how to keep track of them using the Monitoring stack. Other topics include prepared statements, token-aware drivers, denormalizing data, working with multiple data centers, and data modeling best practices (partition sizing, distribution, retries, and batching).
Another lesson we recently updated is the “Materialized Views, Secondary Indexes, and Filtering” lesson. ScyllaDB offers three indexing options: Materialized Views, Global Secondary Indexes, and Local Secondary Indexes. I often get questions from users about the differences between them and how to use them. They are all covered in this lesson, along with a comparison, examples of when to use each, quizzes, and hands-on labs.
By the end of the lesson, users will have an understanding of the different index types in ScyllaDB, how to use them, and when to use each one. Additionally, they’ll gain some hands-on experience by creating and using these indexes in the labs.
Additionally, we are embedding interactive, hands-on labs within the lessons, as you can see in the Quick Wins lab. Having the lab embedded within the browser means that you can run it regardless of your operating system – and without any prerequisites.
In addition to the on-demand ScyllaDB University portal, we periodically host live online training sessions. The next two we have scheduled are ScyllaDB Labs and ScyllaDB University LIVE.
Start Learning at ScyllaDB University
ScyllaDB Labs – 17 September, 2024
The interactive workshop will be held in an Asia-friendly time zone. Its focus is on providing hands-on experience building and interacting with high-performance applications using ScyllaDB.
The labs introduce NoSQL strategies used by top teams, guiding participants through the creation of sample applications. We cover key topics such as determining if ScyllaDB is suitable for your use case, achieving low-latency NoSQL at scale, application performance optimization, data modeling and making important decisions when getting started with ScyllaDB.
I will be hosting it together with my colleague Tim Koopmans. He will start with an introduction to ScyllaDB, covering some core concepts and a getting started lab. After that, my talk will focus on Data Modeling basics, including some architecture and another hands-on lab. Finally, attendees will have some time to run labs independently while we will be there to answer questions.
ScyllaDB University Live – 24 September, 2024
ScyllaDB University LIVE is an instructor-led NoSQL database online, half-day training event. It includes live sessions conducted by ScyllaDB’s lead engineers and architects and has two parallel tracks.
- Essentials: ScyllaDB architecture, key components, data modeling, and building your first ScyllaDB-powered app (in Rust!).
- Advanced Topics: Deep dives into cluster topology, advanced data modeling, optimizing elasticity and efficiency, and power user tips and tricks.
Participants can switch between tracks or attend specific sessions of interest. After the training, there will be an expert panel to answer user questions. Attendees will also have the chance to complete quizzes, participate in hands-on labs, earn certificates, and receive exclusive ScyllaDB swag.
The sessions are live, and there’s no on-demand option.
What’s Trending on the ScyllaDB Community Forum
The community forum is the place to discuss all things NoSQL related. You can ask questions, learn what your peers are doing, and share how you’re using ScyllaDB.
Here is a summary of some of the top topics.
GUI Visualization for ScyllaDB
Many new users ask about using a GUI with ScyllaDB. Some relevant tools are the ScyllaDB Manager and the Monitoring Stack. One user suggested using JetBrains Rider, a paid tool that he found useful. Additionally, DBeaver, in some versions, now supports ScyllaDB. It’s a universal database manager that allows users to run CQL queries and view result tables directly within the interface.
Kafka: How to extract nested field in JSON structure?
Here a user that is migrating from MySQL to ScyllaDB, and using ElasticSearch, is
using the scylladb-cdc-source-connector
to publish CDC messages to a Kafka topic and is facing issues with accessing nested fields in the JSON message structure.
Existing Single Message Transformations (SMTs) don’t support accessing nested fields, some workaround options are discussed.
Best way to Fetch N rows in ScyllaDB: Count, Limit or Paging
This topic discusses different ways for fetching N rows while using the TTL feature, optimizing for performance and efficiency. Three options are mentioned: using count(), using LIMIT, and using Paging. Some suggestions were to change the clustering key to include the timestamp and allow for more efficient queries, as well as using a Counter Table. Another point that was brought up was the performance difference between COUNT and LIMIT.
Read_concurrency_semaphore & p99 read latency
The user is experiencing high P99 read latency in an application that queries time-series data using ScyllaDB, despite low average latency. The application uses a ScyllaDB cluster with 3 nodes, each with 16 cores, 128 GB RAM, and 3 TB RAID0 SSDs. The schema is designed for time-series data with a composite primary key and TimeWindowCompactionStrategy for compaction.
While the ScyllaDB dashboard shows P99 read latency as low (1-10ms), the gocql latency report shows occasional spikes in P99 latency (700ms to 1s).
The user has tried profiling and tracing but cannot identify the root cause.
ScyllaDB vs Aerospike
The user read a whitepaper comparing ScyllaDB’s and Aerospike’s performance. The paper shows that ScyllaDB outperforms Aerospike by 30-40%. The user has several questions about the methodology of the tests used, versions, configurations, and so on.