#Snowflake Dynamic Tables (DT) have been one of the most popular features I've seen us release, they've saved countless hours of data engineering time.
Instead of using Streams, Tasks, Stored Procedures, etc. (STSPs) and the management / monitoring that comes with them, you simply define your end state in a SQL statement and we take care of the rest.
They shouldn't be used everywhere, not every problem is a nail and you may need STSPs for more control, but they can help your data teams deliver more data products with less effort, increasing their productivity.
One thing that caught me out was even though we call them "Dynamic Tables", in one respect I think they behaved more like views, in that if the source tables the DT's rely on are truncated, the next time the DT runs you'll get zero records. This meant you had to keep that "raw" data in Snowflake, when perhaps you knew that it would never be needed / accessed, which is annoying...
Well, not any more, we now have immutability constraints for Dynamic Tables! This means you can lock specific portions of your Dynamic Tables so they never change during refreshes. From our docs:
"By marking specific portions of a dynamic table as immutable, you can perform the following tasks:
- Prevent propagation of updates or deletions to existing data.
- Restrict inserts, updates, and deletes for rows that meet a condition.
- Limit future modifications while still enabling incremental updates to other parts of the table."
To find out more check our documentation here https://lnkd.in/erRtUVKT and see our tech blog here https://lnkd.in/eRbwJVUD
University of Nebraska at…•15K followers
8moImpressive