You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake历史存储成本追踪咨询:是否有内置追踪表?

Snowflake存储历史统计追踪方案

总存储成本的历史查看

Snowflake的ACCOUNT_USAGE库下STORAGE_USAGE表可查看账户级历史存储成本统计,包含每日总存储用量(涵盖数据库、阶段、失败查询等占用的存储),但无法拆分到数据库或Schema维度。

数据库/Schema级历史存储的实现方式

Snowflake没有内置原生表直接提供数据库或Schema级的历史存储大小数据,必须通过定期快照自行实现,具体操作如下:

  • 创建用于存储快照数据的表:
    CREATE TABLE STORAGE_HISTORY_SNAPSHOT (
        SNAPSHOT_TIMESTAMP TIMESTAMP_NTZ DEFAULT CURRENT_TIMESTAMP(),
        DATABASE_NAME VARCHAR,
        SCHEMA_NAME VARCHAR,
        TABLE_NAME VARCHAR,
        STORAGE_SIZE_BIGINT,
        STORAGE_SIZE_GB FLOAT
    );
    
  • 通过Snowflake Task创建定时任务,定期查询当前各对象存储大小并插入快照表,示例查询语句:
    INSERT INTO STORAGE_HISTORY_SNAPSHOT (DATABASE_NAME, SCHEMA_NAME, TABLE_NAME, STORAGE_SIZE_BIGINT, STORAGE_SIZE_GB)
    SELECT 
        TABLE_CATALOG AS DATABASE_NAME,
        TABLE_SCHEMA AS SCHEMA_NAME,
        TABLE_NAME,
        BYTES AS STORAGE_SIZE_BIGINT,
        BYTES / POWER(1024, 3) AS STORAGE_SIZE_GB
    FROM INFORMATION_SCHEMA.TABLE_STORAGE_METRICS
    WHERE TABLE_TYPE = 'BASE TABLE';
    
  • 后续可通过查询该快照表,分析不同时间点数据库/Schema/表的存储大小变化、增长趋势等。

补充说明

  • 当前存储状态可通过INFORMATION_SCHEMA.TABLE_STORAGE_METRICS、DATABASE_STORAGE_METRICS等视图实时查看,但这些视图仅返回当前状态,无历史数据。
  • 若仅需数据库级历史存储,也可基于SHOW DATABASES结果结合DESCRIBE DATABASE的BYTES字段做快照,但使用INFORMATION_SCHEMA视图更便捷。

内容的提问来源于stack exchange,提问作者user45867

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:02:35