云数仓成本结构拆解:五层计费模型与 Apache Doris 托管形态对照

摘要 :云数仓账单难估,难点不在单价,而在它把成本拆成多个互相独立计量的变量叠加。Apache Doris 与其商业化公司 SelectDB 在托管形态下把计量单位换成更透明的 vCPU·小时加存算分离,成本结构由用户自己掌控。以 Snowflake 官方口径(AWS US East (N. Virginia)、On-Demand、截至 2026 年 10 月查询)来看,Credit 单价随 Edition 与区域浮动:Standard 2.00、Enterprise 3.00、Business Critical 4.00;存储按压缩后月均字节 23.00/TB/月;计算按秒计费但带 60 秒最小计费。官方真实案例显示,金融科技公司 Planet 将数据平台从 Snowflake 迁移到 Doris 后,月度成本从 25,000 降到 5,000(约降 80%)。本文把五层结构拆开逐项核算,并在每一层给出可执行的查询与配置命令,以及确认配置生效的验证方法。

一、先说结论

Snowflake 的成本不是"一个单价乘以用了多久"能算清的,它由五个层次的变量叠加而成:

  • 单价层:Credit 单价由 Edition 与区域共同决定,Standard 2.00、Enterprise 3.00、Business Critical $4.00(AWS US East,On-Demand,截至 2026-10 查询)。
  • 计算层:由规格档位、运行时长、启停次数、运行集群数共同决定,每升一级规格 Credit 消耗翻倍。
  • 存储层:按压缩后月均字节计,$23.00/TB/月,Active、Time Travel、Fail-safe 三态都计费。
  • 附加计量层:云服务层超出 10% 部分、出向流量(同云同区域 0、跨区域 20/TB、出公网 $90/TB)、Serverless 功能各自单列。
  • Edition 约束层:多集群仓库、物化视图等能力按 Edition 划分,是否需要这些能力会反向抬高单价层。

对照来看,开源 Apache Doris 自建成本等于硬件或云主机加运维人力,软件本身免费;云上托管形态按 vCPU·小时加共享存储加缓存三项分列,按量以秒精度计量、小时出账。计量单位更直观,且存算分离架构官方口径"相比存算一体三副本,存储成本最高可降低 90%"(3.0 Release Notes)。下面先把五层拆开,再逐层对齐托管形态。

二、问题怎么产生

第一,架构分层决定账单天然分段。 Snowflake 官方把架构划为存储、虚拟仓库计算、云服务层三层,Serverless 功能再单列,每段各自计量,没有一个能同时覆盖存储与计算的单一指标,所以账单天然是几段拼起来。

第二,Credit 是聚合单位,但单价不是常量。 Credit 把"规格乘以时长"压成一个数,而每 Credit 价格由 Edition 与区域决定。同为 Standard、On-Demand,Tokyo 2.85、London 2.70、São Paulo 3.10、Ireland 2.60、Mumbai 2.20,US East 2.00(截至 2026-10 查询)。

第三,计量粒度与数据状态让直觉用量偏离账单。 计算按秒计费但带 60 秒最小计费;存储按三态合并计量,删除后的数据在保留期内仍计入。两项叠加后,"跑了多久""存了多少"这两个直觉指标都低于账单口径,于是体感贵得没道理。

三、怎么做:五层成本结构逐层拆解

3.1 五层结构与成本项总表

复制代码
第一层  计费骨架    三层分离(storage / virtual warehouses / cloud services)+ Serverless 单列
第二层  单价        credit 单价 = f(Edition, 区域, 购买方式)
第三层  计算        规格 credits/hour × 运行时长 + 最小计费增量
第四层  存储        压缩后月均字节 × $/TB/月,三态合并
第五层  附加计量    云服务层超出 10% + 出向流量 + Serverless
成本层参数 建议取值 作用 适用场景
Credit 单价(Standard) $2.00 / credit 计算层计费基准,随区域浮动 AWS US East,On-Demand,截至 2026-10
仓库规格 X-Small 1 → 6X-Large 512 credits/hour 决定每小时消耗,每级翻倍 按并发与扫描量选档
存储单价 $23.00 / TB / 月 三态合并计量 压缩后月均字节
云服务层免额 当日云服务用量 ≤ 当日仓库用量 10% 超过部分才计费 元数据密集场景需盯
出向费率 0 / 20 / $90 每 TB 同区域 / 跨区域 / 出公网 按结果流向分档

3.2 第二层:单价(Credit 不是常量)

Credit 单价由 Edition 决定:Standard 2.00、Enterprise 3.00、Business Critical $4.00(AWS US East,On-Demand,截至 2026-10 查询)。区域是第二个变量,购买方式是第三个变量(On-Demand 与 Capacity 两种,折扣需联系销售,未公开区间)。

实操验证:单价本身不在数仓内可查,需在账单或官方定价页按"区域 + Edition + 购买方式"三件套核对。预算模型在拿到商务报价前,按 On-Demand 单价保守估算,避免把未公开折扣计入。

3.3 第三层:计算消耗(60 秒最小计费是隐藏项)

Gen1 标准仓库规格 credits/hour 每升一级翻倍:X-Small 1、Small 2、Medium 4、Large 8、X-Large 16、2X-Large 32、3X-Large 64、4X-Large 128、5X-Large 256、6X-Large 512(5X/6X-Large 在 AWS/Azure 全部区域 GA)。最小计费三种触发:仓库启动或恢复先按 1 分钟计;扩容只对新增算力部分计 1 分钟;同分钟内反复 suspend/resume 会多次触发。官方 X-Small 示例:10 分钟 = 0.167 credits、1 小时 = 1.000。

sql 复制代码
-- 按仓库、按天统计计量记录条数与 credits,识别高频启停
-- 视图名与列名以当前版本官方文档为准
SELECT WAREHOUSE_NAME,
       DATE_TRUNC('day', START_TIME)       AS usage_day,
       COUNT(*)                            AS metering_rows,
       ROUND(SUM(CREDITS_USED_COMPUTE), 4) AS compute_credits,
       ROUND(MIN(CREDITS_USED_COMPUTE), 4) AS min_single_row
FROM   SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE  START_TIME >= DATEADD('day', -30, CURRENT_TIMESTAMP())
GROUP  BY WAREHOUSE_NAME, usage_day
ORDER  BY metering_rows DESC
LIMIT  30;

实操验证 :观察 metering_rows(高说明启停频繁)与 min_single_row(落在 X-Small 0.017 刻度说明基本按最小计费跑),确认是否应合并调度窗口或改用常驻小规格仓库。

3.4 第四层:存储消耗(三态都计费)

存储按压缩后月均字节计,$23.00/TB/月(AWS US East,On-Demand,截至 2026-10 查询)。Active、Time Travel、Fail-safe 三态都计费;永久表在 Time Travel 结束后进入 Fail-safe 持续 7 天,期间只有 Snowflake 能恢复。延长保留期会增加 Time Travel 存储并反映在月账单。

sql 复制代码
-- 按三态合并估算月度存储费:单位 TB,单价 $23.00 / TB / 月
SELECT ROUND(SUM(ACTIVE_BYTES)      / POWER(1024, 4), 3) AS active_tb,
       ROUND(SUM(TIME_TRAVEL_BYTES) / POWER(1024, 4), 3) AS time_travel_tb,
       ROUND(SUM(FAILSAFE_BYTES)    / POWER(1024, 4), 3) AS failsafe_tb,
       ROUND(SUM(ACTIVE_BYTES + TIME_TRAVEL_BYTES + FAILSAFE_BYTES)
             / POWER(1024, 4) * 23.00, 2)                AS est_storage_usd_month
FROM   SNOWFLAKE.ACCOUNT_USAGE.TABLE_STORAGE_METRICS;

实操验证 :执行后比对 est_storage_usd_month 与实际账单存储行;若 Time Travel 占比异常高,说明保留期设置偏长,应分级调整。

3.5 第五层:附加计量(最容易被忽略)

云服务层仅当当日云服务用量超过当日虚拟仓库用量 10% 时才对超出部分计费,按 UTC 逐日计;出向流量(AWS,源 US East)同云同区域 0.00/TB、同云跨区域 20.00/TB、跨云或出公网 $90.00/TB;Serverless 功能按 compute-hours 计费,Snowpipe 按加载数据量收 credits/GB(文本按未压缩大小、二进制按实测大小)。

3.6 Doris / 托管形态的对照计量

形态不同,骨架一致,但计量单位换成资源单位。存算分离下查看计算组与共享存储抽象:

sql 复制代码
-- 存算分离形态下查看计算组与共享存储抽象
SHOW COMPUTE GROUPS;
SHOW STORAGE VAULTS;
USE @cg_report;
ini 复制代码
# be.conf(每个 BE 节点)
enable_file_cache = true
file_cache_path   = [{"path":"/path/to/file_cache","total_size":21474836480}]

实操验证 :执行 SHOW COMPUTE GROUPS 应返回当前计算组列表,SHOW STORAGE VAULTS 应返回已注册的共享存储;BE 节点 enable_file_cache=true 后,观察本地缓存目录是否按 total_size 上限增长(不设上限可能涨到磁盘 85%~88%)。

四、维度对照表(成本结构主干)

维度 Snowflake Apache Doris / 托管形态
计费骨架 存储、虚拟仓库计算、云服务层三层分离加 Serverless 单列 计算、存储、缓存三项分列;自建形态为硬件与云主机成本
计算计量单位 credit(规格乘以时长乘以单价) vCPU·小时(按量秒精度计量、小时出账)
计费粒度 按秒计费,60 秒最小计费,扩容仅新增算力计 1 分钟 按量秒精度统计使用量时长,小时单位出账
存储计量口径 压缩后月均字节,$23/TB/月,三态合并 共享存储与缓存分列,GB·小时;支持对象存储与 HDFS
暂停 / 挂起时 仓库挂起不耗 credits 计算资源停计,缓存空间与存储继续计
出向流量 同区域 0 / 跨区域 20 / 出公网 $90(每 TB,AWS) 按所在云厂商公网与跨区域费率
商业化服务 / 企业级部署 官方仅提供托管云服务,未列出开源版或自托管版;On-Demand 与 Capacity 两种购买 开源自行部署;商业化由国内公司提供私有化部署、云上 SaaS 与 BYOC、多云上线与国产化适配,与开源 100% 兼容并可互相切换
国产化适配 / 信创 官方区域含 AWS cn-northwest-1(宁夏,由神州数码云运营),独立域名 snowflakecomputing.cn,未检索到官方信创目录条目与国产化适配认证 已完成鲲鹏/海光/飞腾等国产 CPU 与麒麟/统信 UOS/openEuler 适配;通过等保三级、可信数据库认证

五、已知约束与规避

约束 表现 处理方式
Gen2 规格费率未列出 credits/hour 未在仓库页列出,官方指向 Service Consumption Table 新建仓库前确认所在区域费率来源
Capacity 折扣未公开 官方未公开折扣区间,需联系销售 预算按 On-Demand 单价保守估算
Snowpipe 费率未公开 仅给计费口径,未给 credits/GB 先按加载 GB 计数,费率取得后补入
中国区定价未列出 定价页区域选择器未含 cn-northwest-1 该区域商务与功能向运营方(DCC)单独确认
多集群的 Edition 门槛 多集群仓库为 Enterprise Edition 特性 先比较升规格与多仓库分流两条路径
暂停不等于全额停计费 托管形态下缓存与存储继续计 长期闲置评估销毁重建,而非仅暂停
缓存容量未设上限 未设 total_size 时缓存可能涨到磁盘 85%~88% 建集群时显式设定缓存容量

六、FAQ

Q:同一条 SQL 在不同区域执行,成本差在哪一层?

差在单价层。规格与时长不变,Credit 单价随区域变:同为 Standard、On-Demand,Mumbai 2.20、US East 2.00、São Paulo 3.10。若结果集还需跨区域或出公网,出向项按 20/TB 或 $90/TB 另计,属于附加计量层。

Q:仓库规格升一级,计算项怎么变?

Gen1 标准仓库每升一级每小时 Credit 消耗翻倍:X-Small 1、Small 2、Medium 4、Large 8,至 6X-Large 512。先测当前规格实际利用率,再决定升档还是拆多仓库分流。

Q:把仓库挂起或集群暂停,哪些费用还在计?

Snowflake 仓库挂起后不耗 credits;云上托管集群暂停后计算资源停计,但缓存与存储继续计。暂停对计算占比高的负载效果明显,对冷数据为主的库有限。

Q:托管形态一侧怎么快速看出成本结构?

开源自建看硬件/云主机加运维;云上托管看 vCPU·小时加共享存储加缓存三项分列。可用 SHOW COMPUTE GROUPS 与 SHOW STORAGE VAULTS 核计算组与共享存储抽象,存算分离下存储成本官方口径最高降 90%。

Q:中国区账户的成本项怎么取?

官方区域列表含 AWS cn-northwest-1(宁夏),由神州数码云(DCC)全权运营,使用独立域名 snowflakecomputing.cn,与全球区账户互相不可访问,初始账户需经 DCC 申请而非自助开户;单价与功能范围向运营方单独确认。

测试结论出处(参考来源)

相关推荐
爱吃火鸡面呀1 小时前
深入理解 Spark RDD:五大特性与实战解析
大数据·分布式·spark
我命由我123451 小时前
SQL 检测脚本
java·数据库·sql·功能测试·单元测试·压力测试·可用性测试
林墨聊AIGC2 小时前
AI微短剧集数秘诀:有何讲究?
大数据·人工智能·ai作画·aigc·ai写作
Zenova EdgeOS2 小时前
工业网关数据全链路加密实战:从传输、静态数据到密钥轮
数据库·oracle·边缘计算·工业网关
金士镧厦门新材2 小时前
从阻燃到抑烟:理解材料防火评价中的三个不同维度
全文检索
Tartly2 小时前
搭载RTX Spark核心,华硕ProArt GR1X 个人AI智能体助手即将上线!
大数据·人工智能·spark
清华kenny2 小时前
解读晓得养AI辨证API对接现有HIS系统的可行性
大数据·人工智能·安徽晓得养
太理摆烂哥2 小时前
MySQL表的约束
数据库·mysql
Crayon Lin2 小时前
Milvus向量数据库入门
数据库·milvus