How Snowflake has helped customers in the Software Industry
In this new series of articles, we’re going to be approaching things from a vertical perspective. It helps to narrow things down by industry sometimes, especially since, as a business leader, time is always of the essence. Let’s start with a couple of case studies, beginning with the software industry:
Adobe has both software and data product lines. This use case is about Adobe’s Audience Manager product, which helps customers build unique audience profiles.
The business problem Adobe faced was the need to ingest more than 100TB of data every Friday and perform complex segmentation analysis. They had the weekend to perform a workload that could run for 3.5 days.
The impact this had on their operation was that any failure in the workload meant missed SLAs, which in turn meant customers didn’t get their data in time.
Their solution was the Snowflake pay-for-what-you-use approach, which encourages throwing massive resources at a problem to get the work done as quickly as needed. In Adobe’s case, they now spin up 12 4XL clusters for this ingestion/segmentation workload. That’s more than 1500 8-core servers parallelizing the work. The job now completes in 10 hours, and Adobe spins down the clusters when done.
It’s worth mentioning here that when AWS (Amazon Web Services) moved to per-second billing last fall, so did Snowflake. After the first 60 seconds of use, the cluster is billed at the node-second. So it costs the same to run these 4XLs for 10 hours as it would to run 3XLs for 20 hours, or 2XLs for 40 hours. If you can get your answer in half the time for the same price, why not?
Localytics provides analytics dashboards and a mobile marketing automation stack to its customers. They collect TBs of data every day from instrumented apps on billions of mobile devices (between 3-4 PBs so far).
Their incumbent technology was difficult to scale. It was taking 3 months to prepare for and execute each resize – that’s 25% of each year spent preparing for next year. And, ultimately, that technology would not be able to scale to match the expected data growth.
Localytics has complex workloads, with n-way JOINs, deeply nested subqueries, analytic window queries, and they had tight SLAs:
• Data freshly ingested from a device needed to be analyzable within 1-2 minutes.
• 95% of synchronous queries needed to return in 2 seconds.
• 95% of asynchronous queries needed to return in small number of 10s of seconds.
Now for the impact: Slow dashboards and other missed SLAs led to unhappy customers, which created more work for the Customer Service team!
With Snowflake, the solution was easy:
• Eliminate workload contention by moving to separate compute clusters the dashboards, Machine Learning, Customer Service, and Customer Success workloads.
• Dynamically scale individual WHs up and down to match workload changes throughout the day.
• Achieve the required query performance by using CLUSTER BY() to ensure optimal file pruning during query planning.
Localytics’ customers are happy, the team makes their SLAs and have been able to expand their offering.