草庐IT

【云存储】云存储技术的概念和其优势

带你去吃小豆花 2024-02-20 原文

目录

云平台整体架构

什么是云存储?

云存储技术的发展

云存储与传统存储相比的优势?


 

云平台整体架构

云存储是云计算的存储部分,理解云存储架构的前提是理解云平台整体架构。云计算按照服务类型大致可以分为三类:基础设施即服务(IaaS)、平台即服务(PaaS)以及软件即服务(SaaS):

 IaaS将硬件设备等基础资源以虚拟机的形式封装成服务供用户使用,如Amazon云计算AWS (Amazon Web Service )的弹性计算云EC2。

 PaaS进一步抽象硬件资源,提供用户应用程序的运行环境,开发者只需要将应用程序提交给PaaS平台, PaaS平台会自动完成程序部署,处理服务器故障,扩容等问题,典型的如(Google App Engine)GAE。另外,微软的云计算平台Windows Azure Platform也可大致归入这一类。

SaaS的针对性更强,它将某些特定应用软件封转成服务,如Salesforce公司提供的在线客户端管理CRM服务, Google的企业应用套件Google Apps等。

什么是云存储?

云存储是在云计算概念上衍生、发展出来的一个概念,它除了可以节省整体的硬件成本(包括电力成本)外,还具备良好的可扩展性、对用户的透明性、按需分配的灵活性和负载的均衡性等特点。近年来,虽然已经有很多公司推出了云存储产品,包括Amazon S3, Microsoft Azure, Google AppEngine P使用的Datastore,以及 GoogleCloud Storage等。

云存储是通过网络将大量普通存储设备构成的存储资源池中的存储和数据服务以统一的接口按需提供给授权用户。(我的个人理解就是集中商一样,将所有存储资源集合到一起,然后按需分配给用户。)

云存储属于云计算的底层支撑,它通过多种云存储技术的融合,将大量普通PC服务器构成的存储集群虚拟化为易扩展、弹性、透明、具有伸缩性的存储资源池,并将存储资源池按需分配给授权用户,授权用户即可以通过网络对存储资源池进行任意的访问和管理,并按使用付费。

云存储将存储资源集中起来,并通过专门的软件进行自动管理,无须人为参与。用户可以动态使用存储资源,无须考虑数据分布,扩展性,自动容错等复杂的大规模存储系统技术细节,从而更加专注于自己的业务,有利于提高效率、降低成本和技术创新。云存储具有如下特点:

  • 超大规模。云存储具有相当的规模,单个系统存储的数据可以到达千亿级,甚至万亿级,如2011年Q4 Amazon S3存储的对象个数已经达到7620亿个。
  • 高可扩展性。云存储的规模可以动态伸缩,满足数据规模增长的需要。可扩展性包含两个维度:第一,系统本身可以很容易地动态增加服务器资源以应对数据增长;第二,系统运维可扩展,意味着随着系统规模的增加,不需要增加太多运维人员。
  • 高可靠性和可用性。通过多副本复制以及节点故障自动容错等技术,云存储提供了很高的可靠性和可用性。
  • 安全。云存储内部通过用户鉴权,访问权限控制,安全通信(如HTTPS, TLS协议)等方式保障安全性。
  • 按需服务。云存储是一个庞大的资源池,用户按需购买,像自来水,电和煤气那样计费。
  • 透明服务。云存储以统一的接口,比如RESTful接口的形式提供服务,后端存储节点的变化,比如增加节点,节点故障对用户是透明的。
  • 自动容错。云存储能够自动处理节点故障,从而实现运维可扩展,保证高可靠性和高可用性。
  • 低成本。低成本是云存储的重要目标。云存储的自动容错使得可以采用普通的PC服务器来构建;云存储的通用性使得资源利用率大幅提升;云存储的自动化管理使得运维成本大幅降低;云存储所在的数据中心可以建在电力资源丰富的地区,从而大幅降低能源成本。

云存储相关的概念还包括云存储系统、云存储技术、云存储服务等:

 

云存储系统由大量的廉价的存储设备(一般为普通PC服务器)组成,融合了分布式存储、多租户共享、数据安全、数据去重等多种云存储技术,为用户提供灵活的、方便的、按需分配的云存储服务。可以看出,云存储技术的核心在于分布式存储。

 

云存储技术的发展

云存储包含两个部分:云端+终端。

云端:云存储服务端

终端:PC机、手机、移动多媒体设备等终端设备

云存储的发展需要云端和终端里面的多种技术的支持,涉及到的主要有以下这些技术:

(1)摩尔定律

1、集成电路芯片上所集成的电路的数目,每隔18个月就翻一番;

2、微处理器的性能每隔18个月提高一倍,而价格下降一半;

3、用一美元所能买到的计算机性能,每隔18个月翻两番。

最明显的例子莫过于CPU,最新的x86芯片在性能上已经是30年前8086的1000倍,而现在手机等低能耗设备的ARM芯片在性能上比过去的大型主机的芯片都强大很多,同时这些硬件的价格也比过去更便宜。此外,诸如SSD、万兆网络和GPU等新兴技术的出现也极大地推动着IT产业的发展。

(2)宽带网络

公有云存储是一个多区域分布,遍布全国甚至遍布全球的庞大的公用系统,使用者需要通过ADSL等宽带接人互联网。由于ADSL宽带的发展和光纤人户的不断普及,现在的网络带宽已经从过去33.6kbps的MODEM拨号网络增长到平均1Mbps甚至10Mbps,再加上无线网络和移动通信的不断发展,个人用户在任何时间、任何地点都能利用互联网。只有实现随时随地快速访问互联网,才能真正享受云存储服务,否则只能是空谈。

(3) Web技术

Web技术的核心是分享。只有通过Web技术,云存储的使用者才可能通过PC、手机、移动多媒体等设备,实现数据、文档、图片、音频和视频等内容的集中存储和资料共享。另外,随着类似AJAX、jQuery、Flash、 Silverlight和HTML5等Web技术的不断发展,Chrome和Safari等功能强大的浏览器的不断涌现,Web已经不再是简单的页面,它的用户体验已经越来越接近桌面应用。这样,用户只需要通过互联网连接到云端,就可以享受功能强大的Web应用提供的服务。

(4)移动设备

随着苹果的iOS和Google的Android这类智能手机系统的不断发展和普及,诸如手机这样的移动设备已经不再是一个移动电话而已,更是一个完善的信息终端。通过它们,可以轻松访问互联网上的信息和应用。由于移动设备整体功能也越来越接近台式机,通过这些移动设备,能够随时随地访问云存储服务。另外,移动设备价格较低,而且降价较快,用户可能同时拥有多个移动设备且需要经常更换,云存储很好地解决不同移动设备之间的数据共享问题。

(5)分布式存储、CDN、P2P技术

云存储系统由多个存储设备构成,不同存储设备之间需要通过分布式存储,CDN、P2P等分布式技术,实现多个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更好的数据访问性能。如果没有这些技术,存储系统只能是一个个独立的系统,不能形成云状结构,也就没有云存储。另外, CDN ( Content DeliveryNetwork)以及P2P等技术保证云中的图片,视频等文件能够被快速访问,并且节约云存储服务商提供的带宽成本

(6)数据加密,云安全

只有客户的数据安全得到保证,数据不会丢失,未授权用户无法访问数据,这样才会有人选择云存储

云存储与传统存储相比的优势?

资源的利用率有很大的不同。传统存储对资源的利用率非常低,对存储资源的分配通常是静态的,即参考用户的估计值对存储设备划分成分区或卷,以分区或卷为单位将存储资源分配给用户,相应的网络和CPU资源也是固定的。

但是考虑一个问题:绝大多数网站的访问流量都不是均衡的,例如,有的网站时间性很强,白天访问的人少,到了晚上8点到10点就会流量暴涨。举一个典型的例子是电子商务网站;有的网站季节性很强,平时访问人不多,但是到国庆节,春节的访问量就很大,典型的例子是铁道部火车票预订网站;有的网站突发性很强,典型的例子是微博开放平台上的外部应用。网站拥有者为了应对这些突发流量,需要按照峰值要求来购买服务器和网络带宽,造成资源的平均利用率很低。云存储通过共享的方式提供弹性的服务,它根据每个租用者的需要在一个超大的资源池中动态分配和释放资源,而不需要为每个租用者预留峰值资源。由于云存储的规模极大,其租用者数量非常多,支撑的应用种类也是五花八门,通过这种错峰效应,资源利用率可以达到80%左右,是传统模式的5~7倍。

参考书籍:《大规模分布式存储系统原理解析与架构实战》

 

有关【云存储】云存储技术的概念和其优势的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby - Rack:如何将 URL 存储为变量? - 2

    我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.

  3. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  4. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  5. ruby-on-rails - 为什么在 Rails 5.1.1 中删除了 session 存储初始化程序 - 2

    我去了这个website查看Rails5.0.0和Rails5.1.1之间的区别为什么5.1.1不再包含:config/initializers/session_store.rb?谢谢 最佳答案 这是删除它的提交:Setupdefaultsessionstoreinternally,nolongerthroughanapplicationinitializer总而言之,新应用没有该初始化器,session存储默认设置为cookie存储。即与在该初始值设定项的生成版本中指定的值相同。 关于

  6. ruby-on-rails - 尝试设置 Amazon 的 S3 存储桶 : 403 Forbidden error & setting permissions - 2

    我正在关注Hartl的railstutorial.org并已到达11.4.4:Imageuploadinproduction.我做了什么:注册亚马逊网络服务在AmazonIdentityandAccessManagement中,我创建了一个用户。用户创建成功。在AmazonS3中,我创建了一个新存储桶。设置新存储桶的权限:权限:本教程指示“授予上一步创建的用户读写权限”。但是,在存储桶的“权限”下,未提及新用户名。我只能在每个人、经过身份验证的用户、日志传送、我和亚马逊似乎根据我的名字+数字创建的用户名之间进行选择。我已经通过选择经过身份验证的用户并选中了上传/删除和查看权限的框(而不

  7. ruby - 如何打印出 Mechanized 存储的 cookie? - 2

    我正在使用mechanize登录网站,然后检索页面。我遇到了一些问题,我怀疑这是由于cookie中的某些值造成的。当Mechanize登录网站时,我假设它存储了cookie。如何通过Mechanize打印出存储在cookie中的所有数据? 最佳答案 代理有一个cookie方法。agent=Mechanize.newpage=agent.get("http://www.google.com/")agent.cookiesagent.cookies.to_scookie返回一个Mechanize::Cookiesobject

  8. ruby-on-rails - 闪存消息存储在哪里? - 2

    我以为它们存储在cookie中-但不,检查cookie没有任何结果。session也不存储它们。那么,我在哪里可以找到它们?我需要这个来直接设置它们(而不是通过flashhash)。 最佳答案 它们存储在inyoursessionstore.自rails2.0以来的默认设置是cookie存储,但请检查config/initializers/session_store.rb以检查您是否使用默认设置以外的东西。 关于ruby-on-rails-闪存消息存储在哪里?,我们在StackOverf

  9. ruby-on-rails - 用于门户的 Ruby 技术 - 2

    我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它

  10. ruby-on-rails - 在 Rails 中存储(结构化)配置数据的位置 - 2

    对于我正在编写的Rails3应用程序,我正在考虑从本地文件系统上的XML、YAML或JSON文件中读取一些配置数据。重点是:我应该把这些文件放在哪里?Rails应用程序中是否有用于存储此类内容的默认位置?附带说明一下,我的应用程序部署在Heroku上。 最佳答案 我经常做的是:如果文件是通用配置文件:我在目录/config中创建一个YAML文件,每个环境有一个上层key如果我为每个环境(大项目)创建一个文件:我为每个环境创建一个YAML并将它们存储在/config/environments/然后我在加载YAML的地方创建了一个初始化

随机推荐