Skip to main content

ScyllaDB Workload Prioritization Demo

ScyllaDB's Workload Prioritization lets you control how different workloads compete for system resources. It's used to prioritize urgent application requests that require immediate response times versus others that can tolerate slighter delays (e.g., large scans). Watch this demo to see it in action.

***

A common challenge involving databases is how to ensure that every request is serviced based on its importance and urgency. Some queries require low latencies, while others may tolerate delays. 

Imagine a user running ad hoc queries under a system servicing live production traffic. How do you ensure that critical operations remain unaffected while other tasks don't compromise the overall quality of service? 

Without ScyllaDB Workload Prioritization, requests flow through a single funnel and compete against each other. Heavier requests take longer and end up queuing the processing of latency-sensitive requests. The result is an unfair system where the latency-sensitive workload manifests higher latencies and degraded throughput. Past the heavier processing, the real-time workload eventually catches up with its backlog and latencies return back to nominal levels. 

Let's now see what happens as we introduce ScyllaDB Workload Prioritization. To do that, we run the very same workload for some time and then define a new service level exclusively to running heavyweight requests. Next, we started the heavy workload in parallel, but now, using our newly defined service level. The result is a fair system where the latency of our sensitive workload remains low and its throughput is sustained – while the heavy workload is allowed to progress without harming your users’ experience. 

You can use Workload Prioritization in a variety of ways – for example, to isolate latency-sensitive from batch workloads and to consolidate several workloads under a single deployment, ensuring fairness among them. 

Imagine that you have two workloads with different peaks throughout distinct periods of the day. Each of the workloads reaches its peak traffic capacity, and you want to ensure there’s fairness among them. In this demonstration, that's exactly what we did. We defined one service level per workload where we observe the CPU times used by each gets interleaved according to their respective traffic needs. That's the power of Workload Prioritization, a ScyllaDB exclusive feature. 

If you'd like to learn more about how ScyllaDB can sustain predictable low latencies while on a low budget, check us out at scylladb.com. Thanks!