0%

Through explosive growth in the past decade, data now drives significant portions of our lives, from crowdsourced restaurant recommendations to AI systems identifying effective medical treatments. Software developers have unprecedented opportunity to build data applications that generate value from massive datasets across use cases such as customer 360, application health and security analytics, the IoT, machine learning, and embedded analytics.

With this report, product managers, architects, and engineering teams will learn how to make key technical decisions when building data-intensive applications, including how to implement extensible data pipelines and share data securely. The report includes design considerations for making these decisions and uses the Snowflake Data Cloud to illustrate best practices.

This report explores:

  • Why data applications matter: Get an introduction to data applications and some of the most common use cases
  • Evaluating platforms for building data apps: Evaluate modern data platforms to confidently consider the merits of potential solutions
  • Building scalable data applications: Learn design patterns and best practices for storage, compute, and security
  • Handling and processing data: Explore techniques and real-world examples for building data pipelines to support data applications
  • Designing for data sharing: Learn best practices for sharing data in modern data applications

Table of Contents

  1. 1. Data Applications and Why They Matter
    1. Data Applications Defined
    2. Customer 360
    3. IoT
    4. Machine Learning and Data Science
    5. Application Health and Security
    6. Embedded Analytics
    7. Summary
  2. 2. What to Look For in a Modern Data Platform
    1. Benefits of Cloud Environments
    2. Cloud-First Versus Cloud-Hosted
    3. Choice of Cloud Service Providers
    4. Support for Relational Databases
    5. Benefits of Relational Databases
    6. Separation of Storage and Compute
    7. Data Sharing
    8. Workload Isolation
    9. Additional Considerations
    10. Reliability
    11. Extensibility
    12. Summary
  3. 3. Building Scalable Data Applications
    1. Design Considerations for Data Applications
    2. Design Patterns for Storage
    3. Design Patterns for Compute
    4. Design Patterns for Security
    5. Summary
  4. 4. Data Processing
    1. Design Considerations
    2. Raw Versus Conformed Data
    3. Data Lakes and Data Warehouses
    4. Schema Evolution
    5. Other Trade-offs
    6. Best Practices for Data Processing
    7. ETL Versus ELT
    8. Schematization
    9. Loading Data
    10. Serverless Versus serverful
    11. Batch Versus Streaming
    12. Summary
  5. 5. Data Sharing
    1. Data Sharing Approaches
    2. Sharing by Copy
    3. Sharing by Reference
    4. Design Considerations
    5. Sharing Data with Users
    6. Getting Feedback from Users
    7. Data Sharing in Snowflake
    8. Snowflake Data Marketplace
    9. Snowflake Secure Data Sharing in Action: Braze
    10. Summary
  6. 6. Summary and Further Reading
3.144.12.205