Snowflake 中的动态数据屏蔽性能

Dynamic Data Masking performance in Snowflake

问题: 我们能够在 Snowflake 中实现动态数据屏蔽。我们针对显式字段(普通字段)遵循的模式是:Masking Policy + UDF。屏蔽策略评估用户的角色并通过 UDF 应用(或不应用)屏蔽。 现在,假设我们实施屏蔽的 table 有 1 亿条记录。 Q 是,UDF 运行了多少次?这 100% 与性能和潜在影响相关,因为 table 随着时间的推移而增长。

我们已经尝试:我们运行 多次测试并检查了配置文件,发现 Snowflake 重写了这样的列:Masking-Policy-Name(Field-姓名)。目前尚不清楚的是它是否评估 table.

中每条记录的屏蔽策略(以及 UDF)

期待看到您的反馈! 谢谢 狮子座

Snowflake 只会在结果集上执行 MP(有一些非常特殊的情况可能不是这种情况,但您不太可能遇到它们)。

但是,我想知道您为什么要使用 UDF 来实现您的 MP?鉴于使用 MP 总是会对性能产生影响,因此让它们尽可能简单是有意义的,而且您使用 UDF 的事实表明您正在实现一些复杂的逻辑(否则为什么要使用 UDF?)。