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 ...

Get Architecting Data-Intensive SaaS Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.