存储是差距最大的组件
EC2 / S3 / EBS 是所有云服务的定价之锚。如果说 EC2/S3 定价还勉强能算合理,那么 EBS 的定价乃是故意杀猪。公有云厂商最好的块存储服务与自建可用的 PCI-E NVMe SSD 在性能规格上基本相同。然而相比直接采购硬件,AWS EBS 的成本高达 60 倍,而阿里云的 ESSD 则可高达 100 倍。
评估因素 | 本地 PCI-E NVME SSD | Aliyun ESSD PL3 | AWS io2 Block Express |
---|
容量 | 32TB | 32 TB | 64 TB |
IOPS | 4K随机读:600K~1.1M4K 随机写 200K~350K | 4K随机读:最大 1M
| 16K随机IOPS:256K |
延迟 | 4K随机读:75us 4K随机写:15us | 4K 随机读:200us
| 随机10:500us 上下文推断为16K |
可靠性 | UBER<1e-18,折合18个9 MTBF:200万小时 5DWPD,持续三年 | 数据可靠性 9个9 存储与数据可靠性 | 持久性:99.999%,5个9(0.001% 年故障率) io2 说明 |
成本 | 31.5 ¥/TB·月 (5年均摊/3.2T MLC) | 3200¥/TB·月 (原价 6400¥,包月4000¥) 3年预付整体打5折才有此价格 | 1900 ¥/TB·月 使用最大规格 65536GB 256KIOPS 最优惠状态 |
SLA | 5年质保换新 | Aliyun RDS SLA 可用性 99.99%:月费15% 99%:月费 30% 95%:月费100% | Amazon RDS SLA 可用性 99.95%:月费 15% 99%:月费 25% 95%:月费100% |
常见的 3.2 TB 规格企业级 NVMe SSD 有着极为强悍的性能、可靠性与性价比,价格 ¥6000 元上下。
以 3.2TB 规格的企业级 PCI-E SSD 卡为参照基准,AWS 上售租比为 1个月,阿里云上为 9 天,租用此时长即可买下整块磁盘。若在阿里云以采购三年最大优惠五折计算,租用三年的时间可购买 19 块同款硬盘。
不同云存储服务的对比
云厂商会争论说块存储的对标物是 SAN,而本地 DAS 在云上的对标物应当是实例存储(Host Storage)。
公有云的实例存储基本都是临时性的( Ephemeral Storage),实例一旦休眠/停止就会回收抹除数据【7,11】,难以用于严肃的生产数据库,云厂商自己也建议你不要把重要数据放在上面。因此唯一能用于数据库的存储就是 EBS 块存储 (类似于DBFS之类的产品指标与成本与 EBS 基本类似,在此合并同类项)。
用户在意的不是设备块底下到底是 SAN,SSD,还是HDD;真正重要的永远是实打实的硬指标:延迟、IOPS,可靠性,成本。
有的“专家”又会说,云上的块存储稳定可靠,多副本冗余纠错。
在以前,Share Everything 的数据库要用 SAN 存储跑,然而现在很多数据库都是 Share Nothing 架构 了,在数据库实例层面进行冗余,不再需要存储层搞个几副本,更何况企业级磁盘本身就有极强的自我纠错能力与安全冗余( UBER < 1e-18 )。
在上层数据库本身已经有冗余的情况下,多副本块存储对数据库来说属于毫无意义的浪费。退一万步讲,如果云厂商真的用了多余的两副本来做无谓的冗余,那也不过是溢价率从 100x 降到 33x ,杀猪逻辑依然没有质变。
“专家”还会说,买“云服务”其实类似于买保险:“年化 0.02% 的故障看起来大部分人一次都遇不到,但是遇到一次就毁灭性的打击,而云厂商来为你兜底”。
听上去好像很有吸引力,但翻开各家云厂商 EBS 的 SLA,你会发现压根没有为可靠性兜底的条款。ESSD 云盘介绍上是写了 9个9 的数据可靠性,但他也不敢把这句话写到 SLA 里。云厂商敢兜的只有可用性,而且还是相当逊的可用性,以 AWS EBS SLA 【9】为例:
对象存储和块存储对比
存储是有事实标准的:POSIX 文件系统 + 标准块存储。无论是数据库文件,图片音视频都使用同样的文件系统接口存储在磁盘上。但是 AWS 的“神之一手” 将其切分为两种不同的服务:S3 (简单对象存储)与 EBS (弹性块存储)。
S3 的全称 是 Simple Storage Service ,简单存储服务。它是文件系统/存储的一种简化替代:牺牲了强一致性、目录管理,访问时延等功能属性,以换取廉价的成本与海量伸缩的能力。它提供了一个简单的、高延迟、高吞吐扁平 KV 存储服务,从标准的存储服务中剥离出来。这个部分物美价廉,是公有云用来吸引用户上云的一大杀手锏:因此成为了可能是唯一一个在各家公有云通行的云计算事实标准。
而数据库需要的是低延迟,强一致、高质量、高性能、可随机读写的块存储,这一部分被包装为 EBS 服务:Elastic Block Store ,弹性块存储服务,这个部分成为了公有云厂商的 禁脔 :不愿为用户染指。因为EBS是 RDS 的定价之锚 —— 也就是云数据库的壁垒与护城河。
RDS for PostgreSQL 为例, AWS 上 64C / 256GB 的 db.m5.16xlarge RDS用一个月价格 $25,817 / 月,折合每月 18 万元人民币,一个月的租金够你把两台性能比这还要好的多得多的服务器直接买下来自建了。租售比甚至都不到一个月,租十来天就够你买下来整台服务器。
阿里云存储费用参考
自建参考对比
添加评论