Architecting Data-Intensive SaaS Applications
by William Waddington, Kevin McGinley, Pui Kei Johnston Chu, Gjorgji Georgievski, Dinesh Kulkarni
Chapter 3. Building Scalable Data Applications
Scalability is a requirement for successful data applications. A product that scales well can quickly onboard new customers, enable customers to run new workloads without impacting the performance of others, and take advantage of the elasticity of the cloud to keep costs in check. By thinking about scalability from the beginning you can avoid bottlenecks and costly redesign efforts that can blunt product growth.
In Chapter 2 you learned about important features of a modern data platform. In this chapter you will learn how to best leverage those features to design scalable data applications. We will begin with an overview of the key design considerations for building data applications that scale. The rest of the chapter will dive into best practices and real-world examples to support these considerations. At the end of this chapter you will understand how to make the best use of Snowflake’s features for designing scalable data applications.
Design Considerations for Data Applications
As discussed in Chapter 2, support for multiple tenants is a foundational requirement for data applications. Underlying this requirement are three components: storage, compute, and security. In this section we will present design patterns and examples covering each of these areas. Data application customers will be referred to as “tenants” and individual users associated with a customer will be referred to as “users.”
This section will include examples ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access