Let us discuss the other new features such as Snowflake Data Marketplace, External Functions, Search Optimization Service and Dynamic Data Masking in this blog.
1. Snowflake Data Marketplace
As the name suggests it is a secure data-sharing platform where you can publish your data for free or as a paid service. These data listings can be shared live without making any copies. It is an easy method to eliminate any usage of APIs or data pipelines helping us to save a lot of money. Consumers of the data can navigate through countless data sources in the Data Marketplace that can be imported and used by combining with their existing data in the Snowflake. The data shared to providers will be updated as and when the consumer changes, that means at any time we have ‘live data’.
There are two different types of data listings:
- Standard Data Listings: Users get instant access to the data set and are free to use.
- Personalized Data Listings: Premium data which the provider provides at a cost or it can be data designed for specific customer needs. Access must be requested for these data listings.
The dataset is available across various categories like Business, Finance, Health, Government, Marketing, Security, Transportation, Weather, etc.
2. External Functions
Have you ever been in a situation where you wanted to call other scripting language functions from Snowflake? With this release, Snowflake provides a feature known as ‘External Functions’. With External Function, we can call any function available outside Snowflake that returns an output that can be leveraged inside Snowflake. This remote service of calling executable code outside Snowflake acts like the Snowflake’s User Defined Functions (UDFs). We can either create a new remote service or use ones already built using HTTP server stack, including AWS Lambda and Microsoft Azure Functions.
The remote service must have an HTTPS endpoint exposed and it should be able to accept JSON input and return JSON outputs. Snowflake does not call a remote service directly, rather it uses the proxy service (e.g., AWS API Gateway) which potentially increases the security and flexibility. (Note: Snowflake has committed to supporting Microsoft Azure gateways in a feature release). Usage of an external function gives the developer an option to develop more complicated functions with popular languages like Python, GO, and C# which cannot be achieved with User Defined Functions.
3. Search Optimization Service
This service targets enhancing the performance of selective point lookup queries, i.e. queries which returning a small number of distinct rows on large tables. This is a table-level property and the user can register the tables to this service. The Search Optimization Service relies on a persistent data structure that serves as an optimized search access path. A maintenance service runs in the background which takes care of creating and maintaining the search access path. The entire operation runs in the background without disturbing the concurrent operation on tables. Any updates made to the table will be taken care of automatically by the maintenance service. This service involves an additional cost for storage and computes resources.
4. Dynamic Data Masking
In this digital era, data security is of high importance. With the Dynamic Data Masking feature of Snowflake, sensitive information can be easily masked and protected from unauthorized access while allowing an authorized user to view while running the query.
Masking policies are created by the security Admin on the columns with sensitive data. When the SQL query is run based on the masking policy conditions defined, the end-user sees the data which is masked, partially masked, obfuscated, or tokenized according to his/her permissions. This feature would help us in protecting the Personally Identifiable Information (PII) which includes contact names, phone numbers, credit card information, etc.