中文网 发表于:14年08月19日 10:35 [综述] DOIT.com.cn
七牛云存储如何把服务器成本降到32.5%?答案是:抛弃“三副本存储方案”,我们往下看看,其道理何在呢?
在经历2013年年底,云基础服务商之间开始竞相降价的价格战后,该市场留存的头部玩家已经逐渐尝到了甜头——包括云主机服务商QingCloud、UCloud,云存储服务商七牛在内的创业公司,相继在今年拿到数千万美元的融资。这让我想起在八个月前,金山云的CEO王育林曾在接受PingWest采访时说:“如果不是百亿级以上的市场,金山就不会专门成立子公司去做它。”
在拿到宽带资本、经纬中国、启明创投的C轮千万美元投资后,七牛云存储的创始人许式伟表示:“接下来,七牛要和产业上下游更多的公司相互协作,在技术上实现对接。”
从创业之初,七牛就和那些大体量的云基础服务提供商区别开来——只专注于非结构化数据存储内容,目前有超过10万的用户基数,覆盖在线教育、电商、旅游、图片社交等领域。据许式伟介绍,在七牛的客户群中,有许多用户一边用阿里云、腾讯云的云主机服务,一边使用七牛的云存储。这表明,七牛与这些大公司的服务在竞争之外,也是可以协作的。
为了保证数据可靠性,同时尽量降低成本,七牛在6月发布的2.0版产品中加入了纠删码算术冗余技术。为了便于理解,我们通过一种比较具象的比方来解释:传统的存储方法中,假设备份数据X、Y,在不同的硬盘中各自备份三份副本,这时数据的冗余度为3。据许式伟的介绍,七牛的存储方法的冗余度做到在1.4左右。这时候,你也许会问,为什么数据副本变少了,但存储可靠性却没有降低呢?
实际上,七牛2.0的数据备份,是分别备份一份X、一份Y,再备份类似X+Y,X²+Y²这样的冗余数据。那么,即便Y的数据丢失,就可以通过已知X+Y和X数据,去恢复Y的数据。七牛2.0的纠删码(EC) 采用的是28+4,也就是把文件切分为28份,然后再根据这28份数据计算出4份冗余数据(比如X+Y),最后把这32份数据存储在32台不同的机器上。
这种新式的存储方式相比经典三副本冗余方案,需要的服务器只需要后者的32.5%,大大降低了成本,最高同时损坏四个硬盘数据也不会丢失,提高了硬件的容灾能力。
此外,相较于传统的单机数据恢复,七牛采取了多组服务器的存储集群修复。也就说,一台服务器上的数据损失,能够通过剩余存储集群能力共同为其恢复数据,且集群规模越大,效率越高。许式伟认为这些“技术壁垒”,使得他并不畏惧来自竞争对手的价格战——“首先我们存储的成本低,即便把价格降下来,我们也会有轻微的利润;而我们并不完全靠价格取胜,还包括增值服务。”
在基础技术之上,七牛为一些开发者的共性需求做一些优化服务,在存储的基础上加入了一些PaaS应用,比如图片存储中的缩略图、自定义尺寸、防盗链等。在2013年年底,七牛团队发现客户对音频、视频内容的存储需求比例开始增加后,开始为视频数据存储,提供了十余种可供调用的API接口——包括视频格式转码、视频水印、视频帧提取、数据分析等功能。
尽管,目前视频客户需求的比例还不算太高,但许式伟认为,随着视频类应用和服务的兴起,这会成为一种趋势。目前,包括视频监控设备供应商海康威视、短视频应用美拍、在线教育平台开课吧,都已经是七牛云储存的案例用户。