物化

在模型中运行转换时,你可以定义如何将生成的结果存储或物化(Materialization)到目标数据库中。Recurve 支持以下物化选项:

  • 表 (Table)

  • 视图 (View)

  • 增量 (Incremental)

  • 临时 (Ephemeral)

根据你的转换用例,你可以选择不同的物化策略。你可以在 元数据 部分查看并配置模型的物化方式。

默认情况下,所有模型都会物化为表(Table)。

表 (Table)

定义:创建一个表并在构建模型时存储结果。每次运行模型时,表会被删除并用最新的数据重新创建。

使用场景:当你需要将数据物理存储,并且希望通过更快的查询性能换取额外的存储空间时,可以使用表。

视图 (View)

定义:在数据库中创建一个视图,视图只是一个存储的查询,不保存数据,而是提供一个虚拟的表环境,便于执行复杂的操作。

使用场景:当你不想存储物理表,并且可以接受每次访问视图时重新执行查询的性能开销时,使用视图是一个不错的选择。

增量 (Incremental)

定义:向已有的表中添加新的或更新的记录,而不是重新创建整个表。

使用场景:适用于处理非常大的数据集,每次重建整个表会很低效。增量模式只会处理自上次运行以来新增或更新的数据。

临时 (Ephemeral)

定义:模型本身不会被物化,而是会将模型片段插入到引用它的下游模型中。类似于将模型片段视为公共表表达式(CTE)。

使用场景:适用于不需要存储的中间计算,这些计算只会在下游模型中被引用。

Last updated