Chapter 9. Operating Presto at Scale
Scalability involves a Presto cluster handling increased demand or usage with minimal impact on performance, ensuring that the system’s response time remains consistent and acceptable even when the workload increases.
We won’t be implementing a specific scenario in this chapter, so you won’t find the code in the book’s GitHub repository since the scalability of your Presto cluster depends on your cluster workload. Instead, we’ll discuss general strategies for scaling your Presto cluster to enable you to adapt them to your specific conditions.
The chapter is organized into four parts. In the first part, we’ll introduce some basic concepts related to scalability, including reasons to scale a Presto cluster and some common issues related to a Presto cluster that needs to be scaled. In the second part, we’ll see some design considerations to consider when you want to scale your Presto cluster. These include availability, manageability, performance, protection, and configuration. Next, we’ll analyze popular approaches for scaling a Presto cluster, including multiple coordinators, Presto on Spark, and spilling. Finally, we’ll focus on how to scale a Presto cluster using a cloud service.
Introducing Scalability
Operating Presto at scale means adding more resources to the system to handle an increased workload. The concept of scalability is slightly different from that of performance tuning, which you learned in Chapter 8. In fact, performance tuning ...