Using Snowflake Dynamic Tables to forget your data worries
Written by Artem Oleynikov, Consultant at Nordsky
Using Snowflake Dynamic Tables to forget your data worries
Solving change data capture has been one of the longest-standing problems in data engineering. Although there are tools to address this, no one would argue that it is simple. That was, at least, before the introduction of Dynamic Tables.
In a nutshell, dynamic tables seamlessly handles data transformations, scheduling, and pipeline management for you. All you have to do is define what your result table should look like.
When creating a dynamic table, you specify the query used to transform the data from one or more base objects or dynamic tables. An automated refresh process executes this query regularly and updates the dynamic table with the changes made to the base objects.
Dynamic tables can (and should) be built into hierarchical structures that can update one or multiple target tables on a specified time lag. Time lag, or table freshness, refers to how quickly changes to base tables are propagated downstream. This can range from minutes to days, depending on user specifications.
Consider a directed acyclic graph (or DAG) for a demo table FCT_LINEITEM
Not only is the refresh process fully automated, but it is also made transparent. You can visually follow the data lineage of FCT_LINEITEM, check data freshness, or view details of any upstream tables. Dynamic tables simplify and make accessible otherwise complex data processes.
For instance, here's an example of the same task performed using a more traditional method with tasks & streams (on the left) versus the dynamic tables approach:
As you can see, managing the right code snippet is way easier than the left one. Multiply that by the number of tables in an average data warehouse and the difference becomes apparent: it's your data team drowning in maintenance tasks versus them building extra value for the business.
And best of all, dynamic tables enjoy the same features as regular tables - Time Travel and Fail-Safe for incident or disaster recovery, Replication for secure data sharing, and data protection features like Tagging and Masking. Furthermore, dynamic tables can be used with Streams to facilitate more complex analytical workflows.
Dynamic Tables are an illustrative and characteristic feature of Snowflake:
An otherwise cumbersome process is made easy, while leaving room for added complexity when necessary.
Transparency and observability are paramount, democratizing very technical topics.
Fully integrated with the rest of the Snowflake ecosystem, leveraging all other platform benefits, such as enhanced security and data sharing.
Dynamic Tables, like many other Snowflake features, free up time and brainpower of your team members, allowing them to focus on what really matters.
Dynamic Tables are a game-changer for simplifying data processes and boosting efficiency. With seamless integration into the Snowflake ecosystem, they free up your data team to focus on what really matters.
Ready to level up your data game?
Get in touch with Nordsky and see how we can help you transform your business into a data-driven company.
Never miss the latest news.
Stay ahead of the curve with our newsletter, delivering the latest industry insights, trends, and updates directly to your inbox.