Gen AI/LLMs
May 20, 2024
Snowflake Universal Search
Snowflake, renowned for its cloud-based data warehousing and analytics platform, continually innovates to empower its users. A shining example of this commitment is Universal Search, a tool that revolutionizes how we discover and interact with data within Snowflake.
The Semantic Advantage: Technology Under The Hood
Traditional search within Snowflake, while functional, has been limited to string-based matching. This meant that if you searched for "customer," you wouldn't find results for "buyer" or "client," even though they are semantically related. Universal Search breaks this barrier.
By harnessing the capabilities of Large Language Models (LLMs), Universal Search understands the meaning behind your queries, not just the keywords. This opens up a new world of possibilities:
Semantic Relationships: A search for "customer" will now yield results like "buyer," "client," and other synonyms.
Natural Language Queries: You can search using phrases like "sales opportunities that are likely to close" or "which opportunities came from partner referrals," and Universal Search will intelligently interpret your intent.
Universal Search indexes your Snowflake catalog, Marketplace listings, and documentation. It combines traditional information retrieval with machine learning (including a non-generative LLM) without using customer data for LLM training.
A Practical Example: Sales Data Analysis
Let's explore how to use Snowflake Universal Search in a practical scenario.
⛁ Sample Data Model: salesdb-data-model
Setup the SalesDB sample data model and proceed with the rest of the exercises. This model provides a robust foundation for tracking customers, buyers, clients, and sales opportunities.
>_ SQL
Let's delve into how Snowflake Universal can supercharge your data workflow:
Part 1: Unveiling the Universal Search Magic
[Execute Steps 1-6 in the Demo Scripts: Setup Objects for Search & Discoverability]
Try these searches and observe the results:
Search Term: "Customer"
Universal Search Results: Include "buyer," "client," and other related terms.
Search Term: "Zip Code"
Universal Search Results: Include "postal code."
Search Term: "Address"
Universal Search Results: Include "home location."
Search Term: "Agreement" or "Addendum"
Universal Search Results: Include "contract."
Search Term: "Leads"
Universal Search Results: Include "opportunities."
Natural Language Queries: "sales opportunities that are likely to close" or "which opportunities came from partner referrals"
Part 2: Secure Data Discovery with Snowflake Universal Search
[Execute Steps 6-8 in the Demo Scripts: Setup Basic RBAC for Data Protection In Search]
A crucial aspect of Universal Search is its seamless integration with Snowflake's robust security model. By adhering to Role-Based Access Controls (RBAC), Universal Search ensures that sensitive data remains protected and accessible only to authorized users.
Demonstrating RBAC in Action
Consider two roles: SalesRep and SalesManager. The SalesRep can only query the Customer table, while the SalesManager has broader access. A SalesRep searching for "all opportunities" will see only customer information, while a SalesManager would also see opportunities from the Opportunities table.
Key Takeaways
Universal Search respects existing security measures, working within the RBAC framework.
This ensures that sensitive data is not inadvertently exposed.
Universal Search seamlessly adapts to granular role-based permissions.
Object tagging (e.g., "Confidential") can be used to further control the visibility of Snowflake objects.
Part 3: Beyond Security, Additional Features and Considerations
Shared Objects: Easily discoverable via Universal Search.
Indexing: Near-instantaneous, but new objects may take a few hours to appear in results.
Cost: Currently free within the Snowsight interface.
Language: Optimized for English search terms.
Logging: Search history logging is planned for the future.
The Road Ahead: Embracing the Future of Data Discovery
Snowflake has an ambitious roadmap for Universal Search, with upcoming features like filtering by PII tags, object previews, and API access.
While not a replacement for enterprise data catalogs, Universal Search complements them. It acts as a powerful search engine within Snowflake, while the catalog provides broader visibility into enterprise data assets outside of Snowflake.
Universal Search represents a major leap forward in data discovery within Snowflake. Its semantic understanding and integration with security features make it an invaluable tool for data-driven organizations.
Final Clean Up
Delete created objects and reset the Demo Environment
🔄[Execute Steps 9 in the Demo Scripts: To RESET the Demo Environment]
Resources
Search Snowflake objects and resources with Universal Search: https://docs.snowflake.com/user-guide/ui-snowsight-universal-search