Snowflake 第 2 代标准仓库

第 2 代标准仓库 (Gen2) 是 Snowflake 中当前标准虚拟仓库的更新版本(“下一代”),专注于提高分析和数据工程工作负载的性能。Gen2 基于更快的基础硬件和智能软件优化而构建,例如对删除、更新和合并操作以及表扫描操作的增强。使用 Gen2,您可以期望大多数查询可以更快地完成,并且可以同时完成更多工作。确切的细节取决于您的配置和工作负载。进行测试以验证此功能在多大程度上优化了您的成本和/或性能。

您可以使用以下值之一,在标准仓库的 CREATE WAREHOUSEALTER WAREHOUSE 命令中指定 RESOURCE_CONSTRAINT 子句:

  • STANDARD_GEN_1 代表 Snowflake 原生、业界领先的标准虚拟仓库。

  • STANDARD_GEN_2 代表下一代 Snowflake 标准虚拟仓库。

备注

目前,STANDARD_GEN_1 和 STANDARD_GEN _2 值在 Snowsight 中不可用。您必须使用 SQL 命令来指定它们。

第 2 代标准仓库不适用于仓库规模 X5LARGE 和 X6LARGE。

此功能适用于标准仓库。它不适用于 Snowpark-Optimized Warehouses。

STANDARD_GEN_1 为标准仓库提供的内存容量与 MEMORY _1X 为 Snowpark-Optimized Warehouses 提供的内存容量相同。

标准仓库 RESOURCE_CONSTRAINT 的默认值

如果您在创建标准仓库时未指定 RESOURCE_CONSTRAINT 子句,Snowflake 会创建第 1 代标准仓库。

将仓库更改为第 2 代仓库或从第 2 代仓库中移出

您可以更改标准仓库并指定不同的 RESOURCE_CONSTRAINT 子句,将其从第 1 代更改为第 2 代,或从第 2 代更改为第 1 代。在执行此操作之前,您必须暂停仓库。

您还可以通过更改 WAREHOUSE_TYPE 和 RESOURCE_CONSTRAINT 子句的值,在第 2 代标准仓库和 Snowpark-Optimized Warehouse 之间切换。这种变更还要求首先暂停仓库。

您可以在 SHOW WAREHOUSES 输出的 "resource_constraint" 列中查看标准仓库的设置。

此设置未反映在仓库的 INFORMATION_SCHEMA 视图中。

区域可用性

此功能适用于 Amazon Web Services (AWS) 和 Microsoft Azure 云服务提供商。它目前不适用于 Google Cloud Platform (GCP)。它目前也不适用于 VPS 账户。

第 2 代标准仓库可在以下地区使用。

  • AWS us-west-2(俄勒冈)

  • AWS eu-central-1(法兰克福)

  • Azure 东部 US 2(弗吉尼亚)

  • Azure 欧洲西部(荷兰)

重要

如果您对仓库使用账户复制功能,并且创建了任何第 2 代仓库,则任何次要区域也必须支持第 2 代仓库。否则,故障转移后,第 2 代仓库可能无法在次要区域中恢复。确保测试任何第 2 代仓库都可以在次要区域恢复。

第 2 代标准仓库的成本和计费

有关 Snowflake 虚拟仓库 credit 使用情况的一般信息,请参阅 虚拟仓库 Credit 使用量

有关第 2 代标准仓库 Credit 使用量的信息,请参阅 Snowflake 服务使用量表

示例

以下示例显示了在创建新仓库或更改现有仓库时如何指定第 2 代标准仓库。这些示例展示了相关变化,例如同时更改仓库规模、类型和内存容量。

以下示例创建了将所有其他属性保留为默认值的第 2 代仓库。仓库类型为 STANDARD,规模为 XSMALL。第 1 代和第 2 代标准仓库的这些默认值相同。

CREATE OR REPLACE WAREHOUSE next_generation_default_size
  RESOURCE_CONSTRAINT = STANDARD_GEN_2;
Copy

以下示例创建了规模为 SMALL 的 2 代标准仓库。

CREATE OR REPLACE WAREHOUSE next_generation_size_small
  RESOURCE_CONSTRAINT = STANDARD_GEN_2
  WAREHOUSE_SIZE = SMALL;
Copy

以下示例显示如何将第 1 代标准仓库转换为第 2 代标准仓库。在整个运营过程中,仓库规模保持不变,即为 XLARGE。

CREATE OR REPLACE WAREHOUSE old_to_new_xlarge
  WAREHOUSE_SIZE = XLARGE;

ALTER WAREHOUSE old_to_new_xlarge SUSPEND;
ALTER WAREHOUSE old_to_new_xlarge
  SET RESOURCE_CONSTRAINT = STANDARD_GEN_2;
ALTER WAREHOUSE old_to_new_xlarge RESUME;
Copy

以下示例说明如何将第 2 代标准仓库转换为 Snowpark 优化型。Snowpark-Optimized Warehouses 目前不能作为第 2 代仓库使用。因为该仓库的类型为 STANDARD 时,其规模为 XSMALL,所以我们指定 MEMORY_1X 的值为 RESOURCE_CONSTRAINT。该 RESOURCE_CONSTRAINT 产生的内存大小与 XSMALL 规模的 Snowpark-Optimized Warehouses 兼容。

CREATE OR REPLACE WAREHOUSE gen2_to_snowpark_optimized
  RESOURCE_CONSTRAINT = STANDARD_GEN_2;

ALTER WAREHOUSE gen2_to_snowpark_optimized SUSPEND;
ALTER WAREHOUSE gen2_to_snowpark_optimized
  SET WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED' RESOURCE_CONSTRAINT = MEMORY_1X;
ALTER WAREHOUSE gen2_to_snowpark_optimized RESUME;
Copy

以下示例说明如何将 Snowpark-Optimized Warehouses 转换为标准的第 2 代仓库。Snowpark-Optimized Warehouses 从规模 MEDIUM 和相对较大的内存容量(以 MEMORY_16X 的 RESOURCE_CONSTRAINT 值表示)开始。变更后,仓库类型为 STANDARD,规模仍然为 MEDIUM。但是,它的内存容量较低。这是因为 STANDARD_GEN_2 的 RESOURCE_CONSTRAINT 值与资源限制为 MEMORY_1X 的 Snowpark-Optimized Warehouses 具有相同的内存容量。

CREATE OR REPLACE WAREHOUSE snowpark_optimized_medium_to_gen2
  WAREHOUSE_TYPE = 'SNOWPARK-OPTIMIZED'
  WAREHOUSE_SIZE = MEDIUM
  RESOURCE_CONSTRAINT = MEMORY_16X;

ALTER WAREHOUSE snowpark_optimized_medium_to_gen2 SUSPEND;
ALTER WAREHOUSE snowpark_optimized_medium_to_gen2
  SET WAREHOUSE_TYPE = STANDARD RESOURCE_CONSTRAINT = STANDARD_GEN_2;
ALTER WAREHOUSE snowpark_optimized_medium_to_gen2 RESUME;
Copy
语言: 中文