我的文件存储方案

先看看我的存储方案有哪些,再在实际场景中分析优劣。

一、各种存储方案与报价

1.storj

注意:storj上传文件会加密,文件体积会变大,增加大小约为0.1%。

(1)价格

storj升级为V3后收费系统有些奇怪,想看官网文档的可以点这个链接,下面是详细的解释。

  1. 存储费

存储费的计算方法与传统存储服务相似,按照占用空间大小和时间收费。在storj上,最小的文件大小计费单位为字节,时间为小时。

官网给出的价格为每月每 GB 0.004 USD,也就是每月每 TB 4 美元。官网给了一个例子:用户上传了一个 1TB 的文件。当月过半时,用户删除了该文件。使用加密开销时,文件存储为 1.001TB。1.001TB 相当于 1,001,000,000,000 字节。该文件将存储 360 小时。该文件的存储时间为 360,360,000,000,000 字节小时。在此示例中,每月每 GB 的价格为 0.004 USD,每 GB 小时的价格为 0.000005556 USD。每字节小时的价格为 0.00000000000000005556 美元。存储费用总额为 2.00 USD。

  1. 流量费

storj不计上传费,只计下载费。同样的,storj下载费的文件大小最小单位为字节。

官网给出的价格为每 GB 0.007 USD,也就是每 TB 7 美元。但是storj的下载机制是存储文件的80个节点中的29个会直接传输分段,所以会有些节点重复传输,这些重复传输的文件大小也会计算在下载费中,叫长尾消除。长尾消除最多会增加30%的下载费。

官网也给了一个例子:用户下载一个 1 TB 的文件。基于长尾消除,最多可以使用 1.3 TB 的下载带宽。1.3 TB 的下载带宽占 1,300,000,000 字节。在此示例中,每 GB 的价格为 0.007 USD,每字节的价格为 0.000000045 USD。对出口收取的总金额为 9.10 USD。

  1. 分段费

这个就是storj存储计费的特殊之处。storj会自动将文件分段,分段后每个分段都会单独计费,每个段的费用为每月每个段 0.0000088 USD。同样的,每个段的存储时间的最小单位为小时。

storj默认分段大小为64MB,但是分段的大小用户是可以修改的,可以分的比64MB小,也可以比64MB大。实际上,我建议把分段大小设的大一些,这样分段费就可以少一点,并且还会降低长尾消除

(2)传输速度

由于storj在亚洲节点(尤其是中国)比较少,所以storj在国内的上传速度比较慢,但是下载速度还是可以的。根据网上测试的数据,storj在亚洲的上传速度为1MB/s-2MB/s,下载速度为7MB/s-8MB/s。(数据来源)

但是storj在新加坡的上传速度就比较快了,上传速度为17MB/s-18MB/s,下载速度为9MB/s-10MB/s。(数据来源)

本人测试结果:上传速度为500KB/s-3MB/s,下载速度为3MB/s-11MB/s。

(3)稳定性

storj会进行2.7倍的冗余备份,所以稳定性还是可以的。根据网上的数据,storj在5年左右的时间里,存储了1亿多的文件,没有出现过一次数据丢失的情况。(数据来源)

(4)其他

storj在注册账号时会根据服务地区注册,建议亚洲地区的注册在AP节点,AP节点注册地址

最近几天发现storj的官网被墙了。如果要用cloudflare的反代的话,请你自行判断要注册的地区。

2.btfs

btfs有一个官方的S3服务,叫做Storage3,之后会介绍。

(1)价格

  1. 存储费

btfs的存储价格是固定的(按照wbtt算),官方给出的价格为125 WBTT(GB/天)(数据来源)。换算成美元,大约为$2.3/TB/月。具体的价格可以用官方的价格计算器计算。
2. 流量费

无论使用btfs节点还是官方的网关都没有流量费。

(2)传输速度

未测试,根据传输原理,下载和上传速度与种子的传输速度差不多.

(3)稳定性

btfs会进行数据的冗余备份,稳定性有一定的保障。但是目前网络上btfs的测评比较少,所以稳定性如何还不好说。

3.Storage3

Storage3是btfs官方的S3服务,可以用来存储文件。

(1)价格

  1. 存储费

storage3是一次性购买永久容量的,每个账户有5GB的免费容量。想要增加容量就要购买Storage3的NFT,相关信息在下表或查看官方文档

级别 存储容量 价格
P级 150GB $684.02
T级 100GB $82.08
G级 50GB $41.04
2. 流量费

使用btfs官方的网关,没有流量费。

(2)传输速度

上传300KB/s-400KB/s,下载700KB/s-1.5MB/s。

3. filecoin

(1)价格

  1. 存储费

filecoin的存储价格是按照存储的文件大小和存储时间来计算的,价格是在提交存储订单时矿工会进行报价。由于每个矿工报价不一样,而且现在filecoin的存储市场竞争十分激烈,所以价格波动很大,据说不同的矿工之间报价甚至能达到100倍。不过按照目前的情况来看,大概率在每月每TB $0.7-$3.1。(数据来自网络,本人并未测试)

  1. 流量费

大多数情况下,filecoin节点也是ipfs节点。如果通过ipfs下载文件就不会有流量费。但是如果通过filecoin节点下载文件,那么就会产生流量费。(上传不知道,但应该不会有流量费)

(2)传输速度

如果通过filecoin的存储节点的话,那么传输速度取决于你的网速和矿工的能力。速度波动很大,网上用户有测到传输速度达到几十M/s的,也有测到传输速度只有几KB/s的。

(3)稳定性

由于filcoin的存储靠用户自己选择备份数,所以稳定性无法保证。(即使filecoin对于节点意外下线会进行严厉的处罚,但是还是无法保证节点的稳定性。)

(4)其他

建议选择能力强的矿工,这样你的文件存储的稳定性会高一些。可以在filfoxfilscan查看矿工的排名。

4. Backblaze B2 + Cloudflare

(1)价格

  1. 存储费

$6/TB/月

  1. 流量费

如果你使用cloudflare CDN,那么流量费是免费的。

(2)传输速度

取决于你的网速。但是出于cloudflare和GFW微妙的关系,实际上延迟会很大。

(3)稳定性

很多人都在用,就这样。

5. siacoin

(1)价格

  1. 存储费

sia的存储价格取决于节点报价,现在市场的平均值为$0.68/TB/月。你可以在Host Browser寻找你能接受的报价的节点。

sia会默认3倍冗余

  1. 流量费

sia的流量价格取决于节点报价,现在市场的平均值为上传$$0.07/TB,下载$2.48/TB。你可以在Host Browser寻找你能接受的报价的节点。

(2)传输速度

取决节点的网速,可以在Host Browser查看节点的网速。大多数的节点上传为2-5MB/s,下载为10-14MB/s。

(3)稳定性

虽然sia作为最早的去中心化存储方案之一,并且有较多节点,但是稳定性还是有点问题。

6. GitHub Container Registry(简称:GHCR)

(1)价格

使用公共的GHCR,没有任何费用。

(2)传输速度

取决于你的网速和连接的节点

(3)稳定性

未测试

7. Walrus

(1)价格

实时费用请到walrus staking查看

1 Epoch = 14 d
1 WAL = 1,000,000,000 FROST
wal的价格请在coingecko查看

  1. 存储费

$50.64/TB/月

  1. 流量费

上传$8.59/TB,下载免费

(2)传输速度

上传和下载取决于你的网速,可以很轻松地跑满带宽。(即使在中国大陆)
但是一开始需要向cf请求,所以延迟也是比较微妙的。

(3)稳定性

按照Walrus官方的说法,Walrus的稳定性还是不错的。即使walrus网络宕机了三分之二,walrus网络也会正常运行。但是现在的walrus节点有点少,所以稳定性有待考察。

8. Crust

(1)价格

  1. 存储费

$0.001024/TB/年

  1. 流量费
    由于使用ipfs传输,因此这一部分并不好确认。

(2)传输速度

使用ipfs.io、dweb.link这些大型公共网关下载速度还是可以的,但是上传目前比较麻烦。

(3)稳定性

目前只有200多个存储节点,稳定性一般。

9.其他

太常用的方案没有写,这个post主要是讲一讲比较新颖的方案。

cloudflare R2、AWS S3、阿里云和腾讯云等云存储

这里是未研究的存储方案

autonomi、deso drive(未上线)

当然,还有不实际的方案

swarm(存储费和流量费贵到登天(尤其是流量费,1个G都很贵))、Arweave(一次性支付,$32/GB)

二、实际情况下的分析与比较

我们按照存储50TB,下载流量1PB,上传流量50TB来考虑每月的情况。

排名 方案 存储费 下载费 上传费 总费用(USD) 成本说明 下载速度/稳定性 适合场景 备注
🥇 1 BTFS(去中心化) 50 TB × 2.3 $/TB = 115 免费 免费 ≈115 / 月 存储 2.3$/TB,流量免费 中等(依赖网关) 低成本、可接受较慢速度 基于 WBTT;速度/稳定性取决于节点
🥈 2 Backblaze B2 + Cloudflare 50 TB × 6 $/TB = 300 CDN 加速后免费 免费 ≈300 / 月 存储 6$/TB;走 Cloudflare egress 0 高,企业级稳定性 商业用途/对速度稳定性高 大陆访问受 GFW 影响;需配合 CF 缓存策略
🥉 3 Filecoin(矿工均价) 50 TB × (0.7–3.1 $/TB) = 35–155 通常可走 IPFS 免费(视路径) 一般免费 ≈35–155 / 月 价格波动,需选矿工;下载路径决定是否收费 波动大 技术熟练、价格敏感 选矿、检索策略影响很大
4 Walrus 50 TB × 10.31 $/TB = 515.5 免费 50 TB × 8.59 $/TB = 429.5 ≈945 / 月 存储 10.31$/TB,上传 8.59$/TB,下载免费 高,可跑满带宽;首包需经 CF,延迟微妙 高带宽下载、可接受中等成本 官方称容错强;目前节点偏少,稳定性待观察
5 Crust 50 TB × 0.001024 $/TB/年 ≈ 0.0043/月 取决于 IPFS 网关/自建带宽 取决于接入方式 存储≈0.004/月(不含流量) 存储几乎为零,但流量计费路径不确定 一般:公共网关下载尚可;上传较麻烦 极致低成本、能自建网关的用户 约 200+ 节点;公共网关不适合 1 PB/月的持续流量
6 Siacoin 3 × 50 TB × 0.68 $/TB = 102 1024 TB × 2.48 $/TB = 2 539.5 50 TB × 0.07 $/TB = 3.5 ≈2 645 / 月 存储便宜但下载昂贵 中上(依赖节点质量) 接受高下载成本、懂技术 默认 3× 冗余;速度/稳定性依节点而异
7 Storage3(永久容量 NFT) 一次性购入:50 GB ≈ 41.04 $ × 1024 ≈ 42 025 免费 免费 ≈42 025 / 一次性 永久买断,无月费 一般(依赖 BTFS 网关) 长期归档、预算充足 容量按 50 GB 粒度,不可拆分
8 Storj(默认 64 MB 分段) 50 TB × 4 $/TB + 分段费≈7 040 = 7 240 1024 TB × 7 $/TB × 1.3 = 9 337.6 免费 ≈16 577.6 / 月 下载贵(7$/TB×1.3),存储含分段费 高,但亚洲节点相对少 极度重视冗余与可靠性 企业级可靠,成本高
GHCR(公共 Registry) 免费 免费 免费 0 免费但非对象存储 免费 轻量级镜像分发 不适合大文件/大容量,注意备份

请你根据你的需求,选择合适的存储方案。

最后,如果你有更好的方案,欢迎在评论区留言,我会及时更新。