Snowflake Unveils Native Apps, UniStore, and More Python Support at Summit
Snowflake kicked off its annual conference today by making a slew of improvements to its cloud data warehouse, including the introduction of native apps for purchase in its Snowflake Marketplace, support for transactional data via its new UniStore, and more Python support for data analysts and data scientists.
Snowflake partners can now use the Native Application Framework (currently in preview) to build native Snowflake apps that can be sold and distributed through its new Snowflake Marketplace (formerly the Data Marketplace). Snowflake customers can run the apps in their own accounts, thereby eliminating the need to move data, which helps security and privacy.
“Apps are not new. People have been building apps on Snowflake really from day one,” said Chris Child, senior director of product management for Snowflake. “But getting apps into the hands of your customer has always been hard.”
Native apps addresses that difficulty by enabling customers to bring applications to their data, instead of shipping data to their apps, Child said. Specifically, the native apps can be built as stored procedures, user defined functions (UDFs), or user defined table functions (UDTFs), according to Snowflake. Once they’re built, they can run anywhere in Snowflake. They can also leverage the Streamlit functionality that Snowflake obtained with its acquisition of Streamlit earlier this year.
“They’re easy to build because native applications are built with Snowflakes primitives,” Child said. “If you know how to build a pipeline or a model in Snowflake, you really already know how to build a native application.”
One of the technologies underpinning native apps is the data clean room, which enables two or more parties to securely collaborate with data in the Snowflake environment. Data clean rooms are especially important in light of the deprecation of cookies, said Christian Kleinerman, senior vice president of product for Snowflake.
“…[I]t makes it ever more important that companies compare and collaborate their first party data but do so while preserving privacy and maintaining governance,” he said. “We continue to invest in that and you will see it go into private preview a number of visibility controls for customers that want to publish data or functions for applications into the marketplace with more detail.”
UniStore Unites Transactional and Analytical Data
Another way that Snowflake is tackling data silos is with UniStore, a new storage and querying option Snowflake designed for transactional data.
Instead of storing transactional and analytical data in separate repositories, which exacerbates data silos, Snowflake wants customers to store both types of data in its data warehouse. That improves the potential to gain insights from a variety of customers’ data, said Carl Perry, director of product management at Snowflake.
“UnitStore is really a modern approach to working with both transactional and analytical data in a single unified platform,” Perry said. “Now with your transactional and your analytical data all inside the data cloud, you can now start to perform amazing analytical queries on top of that data and discover insights that were never previously possible because it’s on both your transactional and analytical data at the same time.”
A key element of UniStore is the concept of a hybrid table, which is currently in preview. A hybrid table allows fast single-row transactions to be performed on data quickly, according to Snowflake.
“And because this is just another table type in Snowflake, it integrates seamlessly with all of your existing data and tables that are inside Snowflake,” Perry said. “And because of this, it’s incredibly simple to use and leverage. And we built a ton of innovative functionality that really makes this easy for all of our customers to move that transactional data and analytical data to Snowflake.”
More Python Added
Snowflake has been embracing Python for the past year or so with the addition of a Python DataFrame API last year. Now it’s taking the integration with the popular language one step further with the launch of Snowpark for Python.
A Python version of Snowpark, which is Snowflake’s application development framework, elevates Python’s status within the Snowflake warehouse to a preeminent position, Kleinerman said.
Currently in public preview across all three supported clouds, Snowpark for Python includes several new functions, Kleinerman said, including a client API, a stored procedure, a UDTF, and a UDF with a batch interface used designed for bulk scoring.
“And based on a partnership with Anaconda, we’re providing a curated set of libraries, which is an opinionated version set of libraries that make it easier to maintain governance and program the data with confidence,” Kleinerman said.
The Anaconda integration will also come in handy when using new large memory warehouses, another feature Snowflake is unveiling at Summit 2022. The new instances will be useful for memory-intensive applications, such as feature engineering and model training on big data using Anaconda libraries, such as NumPy and others.
Snowflake is also launching Snowflake worksheets for Python, which allows customers to use Python and Snowpark’s DataFrame API for Python to develop data pipelines, machine learning models, and applications directly Snowflake’s GUI, called Snowsight, the company says.
The company also announced support for using Python in Snowflake’s new Streamlit environment, which will be handy for creating interactive applications and collaborate with others.
Finally, it’s unveiling support for SQL-based machine learning. Currently in preview, Snowflake is starting its rollout with time-series forecasting using SQL, which the company says will let customers embed ML into their applications and improve decision quality.