page266
353
Summary
This chapter by considering how clients interact with your data products, and you saw
some of the consumption challenges your clients may face. I explained two different
approaches to entitling data along with the pros and cons of each.
After explaining how to pass through unentitled objects, we decided upon delivering
curated data sets for each client. You then saw how to develop a simple code generator
delivering bespoke content according to your configured entitlement model.
The example illustrated within this chapter was intended to introduce how
client-specific entitled data can be both derived and delivered in a semi-automated
manner. The code was simplistic in its approach and will not suffice for more complex
requirements, and I encourage experimentation; you may want to add both entities
and attributes to extend filter engine capability. Furthermore, a combination of access
policies and data masking may suffice instead of data-driven curated data sets. Your use
cases will inform your decision-making.
The final section addressed some common challenges for which you can either
resolve very easily or initiate a conversation with your data product providers to identify
better solutions.
Views are not the only sharable object type. The Snowflake documentation at
https://docs.snowflake.com/en/user-guide/data-sharing-intro
shows that the
following object types are sharable:
•
Tables
•
External tables
•
Dynamic tables
•
Secure views
•
Secure materialized views
•
Secure UDFs
The list of sharable object types has changed since writing my previous book,
Maturing the Snowflake Data Cloud, with the addition of dynamic tables.
You can now move on to the final chapter in this book, which covers what to look out
for and how to approach optimizing performance.
Chapter 9
Client expeCtations