云存储的几十年发展历程,其计算架构模型,也从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. C# 自定义配置文件

    配置文件有两种设置方式,第一种是直接在网站根目录下的web.config中设置:第二种方式是自定义配置文件,在web.config中指定其他配置文件的路径. 第一种:除了在常用的appSettings ...

  2. Win10系列:C#应用控件基础20

    SemanticZoom控件 SemanticZoom控件由相互关联的缩小视图和放大视图所组成,缩小视图用来显示内容的索引,放大视图可以用来显示内容的详细信息,用户可以根据阅读需要在两种视图之间自由切 ...

  3. Java 模拟面试题

    1.面向对象的特点 继承,封装,多态 2.对象和类的区别是什么? 对象是对客观事物的抽象,类是对对象的抽象.类是一种抽象的数据类型,它们的关系是,对象是类的实例,类是对象的模板. 3.静态成员和实例成 ...

  4. FC磁盘设备管理

    本文转自:http://www.cactifans.org/linux/1071.html 转自EMC中文支持论坛 – https://community.emc.com/go/chinese   介 ...

  5. C++设计模式之-代理模式

    根据程洁的大话模式: // Proxy.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> # ...

  6. 学习java的第4天 (2019-03-21 11:49)

    学习java的第4天       好文要顶 关注我 收藏该文   里里零关注 - 0粉丝 - 0       0 0         posted on 2019-03-21 11:49 编辑 抱歉! ...

  7. JavaScript之Math

    1. Math Math是js的内置函数,无需创建,把Math作为对象使用就可以调用其属性和方法. 2.Date    2.1 日期对象创建 var now = new Date ( ); 含参数时表 ...

  8. oracle 汉字转拼音

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 Sql代码 --oracle汉字转拼音 PACKAGE ...

  9. python day27--网络编程

    一‘.网络基础 1.什么是IP IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统 ...

  10. 剑指Offer 10. 矩形覆盖 (递归)

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 题目地址 https://www.nowcoder.com/ ...