云存储的几十年发展历程,其计算架构模型,也从Scale Up走向Scale Out。但是展望未来数字世界的海量需求,目前流行的模型还能够持续满足吗?本文通过对云存储历史的回顾,及对Scale Up和Scale Out两种扩展模型的诠释,来揭开云存储的未来模式。
 
1. 云存储及其历史
 
简而言之,云存储(cloud storage)就是将数字内容安全的存储在服务器上,从而任何连接互联网的设备可以方便的获取。首先让我们简单回顾一下云存储的历史。
云存储的早期雏形要回溯到上个世纪的90年代,也就是互联网泡沫时期(dot-com boom),当时有许多家公司,例如EVault, NetMass, Arkeia和CommVault等等[1]均提供在线数据备份服务,当然它们绝大部分也随着互联网泡沫的破碎而烟消云散了。少数幸存下来的有一家叫Veritas NetBackup最后也被Symantec收购,现在依旧提供Symantec NetBackup的在线存储服务。
 
而真正让大家耳熟能详的云存储是2006年由Amazon提供的AWS S3云存储服务,其最具有革命意义的变革是,提出了即买即用(pay-per-use)的价格模型,使得云存储的使用像水电一样可计算衡量。从此云存储以S3为标准一路绝尘,我们所熟悉的大厂,比如Netflix, Pinterest, Dropbox也是S3的顾客。尾随的Microsoft和Google也于2010年分别发布了类似的Azure Blob Storage和Google Storage的存储服务。
 
云存储真正发展的十几年中,见证了移动互联网的崛起,大数据的生机勃发,人工智能的再次复兴,并能够展望到未来物联网,无人驾驶及各类机器人自动化的世界。海量数据的产生,存储,分析,预测及应用,快速以正反馈循环方式,推进着人类社会向数字世界大步迈进。所以,为了适应数据存储新的需求,各家云存储产品的应用场景及价格模型,已从单一向多元发展,比如AWS S3就有Standard,Intelligent-Tiering, Standard-IA,One Zone-IA,Glacier和Glacier Deep Archive六类存储产品来满足各类使用场景,我会在未来的文章里针对性的细讲一下。而本文重点所探讨的是,目前云存储的基础架构体系是否能够适应未来数据存储的要求和挑战?为了回答这个问题,让我们先简单回顾一下计算机体系架构里的Scale Up和Scale Out扩展模型。
 
2. Scale Up和Scale Out?
 
Scale Up又称为垂直扩展(scale vertically)[2],意为在单节点上添加资源,如CPU,内存和存储,在纵向上扩展从而获得更多计算或存储能力;Scale Up初期能够快速达到升级目的,操作起来相对比较简单,但随着计算或存储的要求越来越高,硬件资源的添加可能已经达到极限,不仅单节点的造价非常昂贵,维护成本很高,而且更容易留下单点故障的隐患。传统的RAID(Redundant Array of Inexpensive Disks)存储就是此种模式。
 
Scale Out又称为水平扩展(scale horizontally)[2],意为在分布式环境下,通过添加节点计算或存储资源,在横向上满足更多的计算存储需求;随着计算和存储单位价格的降低和效率的提升,使用低端的商用(commodity)系统,利用分布式技术可以搭建起“超级计算”中心,以及后来衍生出来的私有或公有云平台解决方案。虽然分布式系统会带来一定程度上的软件复杂度和管理困难,但由软件定义的计算和存储解决方案,能够以较低的价格和较高的鲁棒性,优雅的解决了海量增长的计算存储需求,也是目前云平台的主流技术。但它就一定能够承载未来的更加海量的需求吗?云存储的未来是什么?方向是向左还是向右?
 
3. 未来向左还是向右?
 
话说天下大势, 分久必合, 合久必分,事物发展的规律似乎从来就没有什么绝对。当下,云平台内部似乎已完全是Scale Out模式了,但当我们把镜头再拉远一点,从云平台在全球部署的每一个可用区来看,整体上它又是一个Scale Up模型,不是吗?单点投入巨大,耗费能源,使用成本高昂。而相反,随着强大的计算,存储和带宽能力能够进入寻常家庭、工作和生活等边缘节点,资源闲置或者不均衡使用也变得越来越明显。那么, - 是否能够将这些边缘节点的计算存储能力结合起来,组成一个真正意义上的Scale Out平台,提供人们日益增长的计算存储需求? - 可否将浪费或者不对等的资源重新组合,提供一个更加节能环保的绿色Scale Out平台? - 可否摒弃中心化的单点故障和数据安全隐患,真正做到廉价高效,零数据泄露的Scale Out平台?
 
答案是应该可以而且必须可以!
 
纵观云存储平台的发展历史,从单节点的Scale Up模式走向可用区内部的Scale Out模式,又从内部的Scale Out模式走向整体上相对的Scale Up模式。而未来数字世界的海量计算和存储需求的满足,一定需要真正意义上的全球Scale Out模型,那就是把边缘节点和半中心化节点高效且系统的组织起来,减少浪费,提高效率,节省成本,去除中心。将天空中几块为数不多的白云,变成漫天遍布的朵朵白云,让人们自由定价、自由选择、自由组合。
挑战虽然巨大,但未来很美好,让我们一起努力迎接云存储的明天!
 
文章作者:Bruce Lee(PP.IO总架构师)
转载请注明出处
如果有关于PPIO的交流,可以通过下面的方式联系我:
加我微信,注意备注来源
wechat:omnigeeker

云存储的未来:Scale Up还是Scale Out?的更多相关文章

  1. 自建存储与使用微软Azure、七牛等第三方云存储综合考察分析

    http://www.cnblogs.com/sennly/p/4136734.html 各种云服务这两年炒的火热,加之可以降低成本,公司想先在部分业务上尝试使用下,刚好最近有个项目有大量小文件需要存 ...

  2. 什么是Scale Up和Scale Out?

    导读:Scale Out(也就是Scale horizontally)横向扩展,向外扩展 Scale Up(也就是Scale vertically)纵向扩展,向上扩展 无论是Scale Out,Sca ...

  3. 国内云存储对比: 阿里云、腾讯云、Ucloud、首都在线

    阿里云的数据存储<http://www.aliyun.com/product/rds/> RDS — 关系型数据库服务(Relational Database Service,简称RDS) ...

  4. uploadify控制 上传图片到百度云存储

    最近使用uploadify 控制图片上传到百度网盘....总的想法是 招待会uploadify获取文件传入后台,调用百度云存储api上传到百度网盘,返回url 联系.送存储在数据库中的链接.因此,我们 ...

  5. JDFS:一款分布式文件管理系统,第四篇(流式云存储续篇)

    一 前言 本篇博客是JDFS系列博客的第四篇,从最初简单的上传.下载,到后来加入分布式功能,背后经历了大量的调试,尤其当实验的虚拟计算结点数目增加后,一些潜在的隐藏很深的bug就陆续爆发.在此之前笔者 ...

  6. 腾讯云VS AWS :云存储网关性能谁更优?

    p { text-indent: 2em }    随着企业规模的扩大及业务的扩展,现有IT基础设施特别是存储设备无法满足爆炸性的数据增长,企业 IT 部门为了解决该问题,往往面临市场上多种存储产品及 ...

  7. 什么是scale up和scale out

    Scale Out(也就是Scale horizontally)横向扩展,向外扩展Scale Up(也就是Scale vertically)纵向扩展,向上扩展无论是Scale Out,Scale Up ...

  8. YottaChain主网全面上线预示商业应用的落地区块链云存储不一样的云

    Yottachain存储网12月24日平安夜全面启动,意味着全球首个可商用的区块链存储公链全面落地.对于数据存储来说,小到我们个人的照片文档,大到政企机构数据库资料,都是互联网生活中如影随形的标配. ...

  9. 泛圈科技Yottachain区块链云存储打破传统云迎来价值数据存储

    随着物联网时代的发展,更多的数据随之产生.从智能设备到电脑再到视频游戏机,各种各样的信息从不同的电子产品源源不断地涌入.通常,人们将数据存储在本地驱动器中.但是,由于产生的数据量是无限的,超过了本地存 ...

随机推荐

  1. 2015-10-07 jQuery2

    jQuery (2) 四. 过滤选择器 1.  $("input[type='button']").val(“中国”)   //所有设置type=button的input,其val ...

  2. commons-lang3工具类学习(三)

    六.ObjectUtils Object工具类 allNotNull(Object... values) 检查所有元素是否为空,返回一个boolean 如果有一个元素为空返回false,所有元素不为空 ...

  3. 64位win7连接ACCESS报错“Microsoft.Jet.OLEDB.4.0”问题

    本人开发了桌面软件,关于事务提醒,自己一直在用,很喜欢,但是在64位win7上无法运行,网上说多种方法,都觉得麻烦.后来自己在vs2012下编译成x86版本,结果可以运行在64位win7下了. 原来如 ...

  4. keepalived高可用集群。

    keepalived故障切换转移原理1vrrp协议:(vritual router redundancy protocol)虚拟路由冗余协议,2故障转移.keepalived三大功能1实现物理高可用, ...

  5. react 调用webIm

    记录下遇到的问题,之前引用腾讯云的webim,一直出错,现在改好了, 引用了, 以上是在public下的index.html引用, 但是在子模块console.log(webim);会报这个错 解决也 ...

  6. 0913_Python初识及变量

    1.Python3不需加utf-8,Python必须加utf-82.单行注释用#,多行注释用""" """3.变量:只能由字母.数字.下划线 ...

  7. FCC JS基础算法题(1):Factorialize a Number(计算一个整数的阶乘)

    题目描述: 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积.阶乘通常简写成 n!例如: 5! = 1 * 2 * 3 * 4 * 5 = 120. 算法: function fac ...

  8. FCC JS基础算法题(11):Seek and Destroy (摧毁数组)

    题目描述: 实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值. 我们可以使用arguments来进行参数的遍历. function destroyer(arr) ...

  9. offsetWidth与clientWidth 区别

    offsetWidth       //元素宽度.内边距和边框,不包括外边距 offsetHeight      //元素高度.内边距和边框,不包括外边距 clientWidth        //元 ...

  10. 周强 201771010141 《面向对象程序设计(java)》第七周学习总结

    实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: (2)掌握Object类的常用API用法: (3)掌握ArrayList类用法与常用API: (4)掌握枚举类使用方法: (5)结合本章 ...