-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[ADAP-1078] [Feature] Add Materialized View as a Materialization to dbt-snowflake #870
Comments
I'd like to second this feature request. Specifically, materialized views are the Snowflake recommended approach to query large external tables, a gap in which dynamic tables cannot bridge. |
@jeremy-thomas-roc Thank you for your comment. We have confirmed with Snowflake that that is no longer the recommendation: Iceberg tables are the recommended way to query and manage large external tables. |
@amychen1776 their official documentation seems to contradict that: also, Iceberg tables are a larger technical lift than a materialized view, especially for smaller teams or single use. it seems prudent that dbt be able to support the "next best" option, if they do indeed recommend Iceberg going forward. if it's a prioritization issue, I would be open to contributing, as I may end up creating this materialization for our team anyway. |
@jeremy-thomas-roc Thank you! I just let the Engineering team know and see if they can update their documentation with the new recommendation. We always welcome external PRs from the community :) |
@amychen1776 i opened a draft PR to get some feedback on my direction, hopefully this will help! |
Thanks @jeremy-thomas-roc ! |
Thanks @jeremy-thomas-roc ! @amychen1776 |
Iceberg tables in their current state cannot replace the simplicity of external tables in conjunction with materialized views! Many companies, like us, still have a need for partition management to be done at the file system level, by tools outside of Snowflake. |
Thank you @CM000n for the input - I understand the use case. As an update, unfortunately, MVs for Snowflake are not on our roadmap for the next quarter. I will revisit this next quarter and will be happy to update if things change here. @jeremy-thomas-roc I appreciate the work you have done with the associated PR and it was very helpful in better understanding the scope/impact (and giving us a meaningful leg up for when we can pick this up). |
Thanks for the answer @amychen1776. |
Our new quarter starts in February, but I want to be mindful about making promises I can't keep. I (or anyone related to my team) will update this issue when we make the decision to prioritize supporting Materialized Views. This does not mean a check in every quarter to say hey this is not supported for x quarter. That said - for anyone coming across this issue, please continue to thumbs up the OP because this is a simple way to show us that this is desired. |
Is this your first time submitting a feature request?
Describe the feature
Snowflake has an object type called Materialized Views. I'm aware that dbt-snowflake previously supported these and it was archived into the dbt-labs-experimental-features repo, I'm unsure as to why this logic was deprecated.
The Dbt Docs currently suggest using dynamic tables instead of materialized views in Snowflake, but having recently had a call with a Senior Snowflake Solutions Architect it was made apparent that dynamic tables aren't a replacement for materialized views and in fact, they are often used in combination (i.e. a materialized view may sit on top of a dynamic table). I have considered manually creating a materialised view outside of dbt however it would be much preferable to contain all of the DDL within the dbt project.
Describe alternatives you've considered
I've considered the following alternatives
Materialized View
isn't a RelationType defined in relation.pyWho will this benefit?
All Snowflake Users should find a benefit in having access to Materialized Views, it is often recommended as a performance improvement by Snwoflake Support
Are you interested in contributing this feature?
Happy to contribute though am not familiar with the dbt codebase
Anything else?
No response
The text was updated successfully, but these errors were encountered: