Written by GoodData Author |
How you can leverage Snowflake data and quickly build, deliver and efficiently manage modern BI solutions - analytics for products, customers, partners, employees and other members of your business network.
Snowflake is a well known modern data warehouse built for the cloud. With the benefit of cloud economy and innovative architecture, Snowflake is quickly gaining presence in the market by helping organizations tame data of any type and volume and making the data accessible for many different use-cases - from data analysts, data scientists over to building data products for the many non-technical users.
GoodData has partnered with Snowflake in order to simplify the integration between the two modern BI stack platforms and speed up the delivery of insights to everyday business user applications, in the context of their work.
The GoodData and Snowflake integration is solving the major challenges when building analytics into applications used by non-technical business users, such as:
- Integrating disparate data sources (your own, 3rd party, structured and unstructured)
- Compute results in real-time over reasonably fresh data
- Ensure analytics is accessible anytime users work with your application
- Flexible UI integration options - from data to insights to dashboards
- Making business users independent on data teams with self-service
- Providing efficient tools to build and manage shared models, metrics and other semantics components
- Enabling agile development and delivery of changes without downtime
- Keeping predictable costs, even as the business and usage grows
- Optimized performance for all tenants no matter the number of concurrent users
How does this architecture look like?
The data teams prepare a designated Snowflake database, warehouse and schema (which is a matter of few clicks in the Snowflake console, really!). GoodData is configured to work with these dedicated resources for security and traceability reasons.
In GoodData, you can easily build a Logical Data Model once and share it across all tenants. The model describes facts, dimensions, and relationships for your reporting.
In the world of multi-tenant applications, architects focus on designing for tenant privacy, security. With multi-tenant analytics, there are additional requirements about performance and customization. GoodData automatically deploys independent analytics units - called workspace - for every tenant.
Each workspace is independent from other tenants on data, metadata, performance, compute power levels. By hosting our own servers, we can ensure high performance analytics even when the amount of users surges to thousands of concurrent users per tenant.
This multi-tenant architecture requires that data are pulled and loaded into workspaces highly frequently. The interface how data get distributed into each tenant workspace are data-driven and defined in the Logical Data Model - each dataset shown in the model above has a source table or view in the Snowflake schema.
Besides data used for reporting, each dataset optionally includes last synchronization (for incremental loads), tenant ID (to distinguish which data are distributed to which tenants) or data about records that shall be skipped from distribution (i.e. obsolete records).
Here’s an example how the view/table for “Customers” dataset, can look like:
And here is how that dataset is described in the LDM:
GoodData platform operates thousands of organizations thanks to its multi-tenant architecture. While analytics usage is hard to predict and costs can become unpredictable as you add more tenants, GoodData offers per-tenant pricing. No matter how many users or tenants you deliver to, the analytics provides great performance to cost ratio at any given moment.
Interested to learn more? Let’s talk about your plans to leverage Snowflake and serve multi-tenant analytics to all your partners. Schedule your personal session today.
Written by GoodData Author |
Subscribe to our newsletter
Get your dose of interesting facts on analytics in your inbox every month.Subscribe