您好,欢迎访问三七文档
云存储技术和应用提纲•存储发展历史•云存储概念和技术•云存储应用存储的发展历史•直连存储DAS•存储区域网络SAN•网络附着存储NAS•对象存储设备OSD存储发展历史-直连存储DASDirect-AttachedStorage概念:存储设备是通过电缆(通常是SCSI接口)直接到服务器的,I/O(输入/输入)请求直接发送到存储设备。存储发展历史-直连存储DASDirect-AttachedStorage备份和恢复:占用服务器资源,数据量越大,备份和恢复的时间就越长CPU发展速度比存储发展速度快,磁盘阵列容量增大,IO成为瓶颈服务器或磁盘阵列扩展都需要停业务,电信和银行无法忍受服务器SCSI插槽数量有限,存储资源和数据无法服务器之间共享存储发展历史-存储区域网络SANStorageAreaNetwork概念:SAN的概念是允许存储设备和CPU(服务器)之间建立直接的高速网络(与LAN相比)连接,通过这种连接实现只受光纤线路长度限制的集中式存储。光纤交换机存储发展历史-存储区域网络SANStorageAreaNetwork独立于服务器网络的高速光纤存储网,适合大数据高速处理存储资源全局多主机动态共享备份与恢复:不需要服务器参与IO带宽:多个服务器可以并行访问统一存储设备在线升级:在线增加服务器或存储设备扩展性:光纤交换机提供很多接口,也可以连接其他交换机存储发展历史-块访问存储发展历史-块访问存储发展历史-网络附着存储NASNetworkAttachedStorage概念NAS由SUN公司在上个世纪80年代中期推出NFS开始,是一种面向用户提供文件级服务的专用数据存储设备,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。存储发展历史-网络附着存储NASNetworkAttachedStorage容易部署:不需要依赖任何其他设备,只要有一个网络端口就可以在任何能上网的设备上使用易于使用:文件接相对块接口更容易使用文件共享:方便多个主机共享数据长距离传输:基于IP网络易于扩展:简单的增加NAS设备到网络中即可低成本:相对SAN价格便宜存储发展历史-文件访问存储发展历史-文件访问文件的Inode包含多个块,为了提高大文件操作效率还会将两个或三个块组合起来提供访问。存储发展历史-本地文件系统文件/目录管理10%工作量块管理90%工作量存储发展历史-分布式文件系统通过NFS/CIFS接口访问存储发展历史-对象存储存储发展历史-对象存储设备OSDSCSIBlockInterfaceStorageDeviceBlockI/OManagerObjectInterfaceApplicationsFileSystemUserComponentFileSystemStorageComponentSystemCallInterfaceCPUApplicationsFileSystemUserComponentSystemCallInterfaceCPUStorageDeviceBlockI/OManagerFileSystemStorageComponent存储发展历史-对象存储设备OSDManagersObject-basedStorageDevicesEthswitchSANSECRETKEYSECRETKEYSECRETKEYValidateCapabilityClient存储发展历史-对象存储vs块存储存储发展历史-对象存储vs文件存储存储自治:容量扩展负载均衡备份QoS、SLA感知和数据分组预取压缩/去冗余强安全/加密Compliance、Retention、securedelete可用性、副本自治愈存储发展历史-对象定义对象的定义ObjectID:对象唯一标示UserData:对象的数据Metadata:元数据,空间管理信息Attributes:对象属性存储发展历史总结提纲•存储发展历史•云存储概念和技术•云存储应用云存储需求云存储需求2011年全球数据量将达1.8ZB,这人类将开始进入ZB时代云存储需求–高容量:海量,且可扩展–高性能:快速的访问、定位–高可用:个别磁盘失效,甚至整个中心被毁–低成本:传统的NAS、SAN技术构建大规模存储系统成本很高云存储概念和特点–云存储是在云计算(cloudcomputing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。–高可用、可扩展、按需付费GoogleCloudGoogleFileSystemBigTableGoogleAppEngineMapReduceMicrosoftAzureLiveServicesSQLServices.NETServicesSharepointServicesDynamicCRMServicesIBMBlueCloudHadoopDB2Xen&PowerVMWebsphereTivoliSoftwareAmazonCloudS3SimpleDBEC2SimpleQueueEBS云存储有哪些?云存储的热点•分布式文件系统(GoogleGFS、HadoopHDFS。。)•NoSQL数据库(GoogleBigTable、FacebookCassandra。。)•对象存储(AmazonS3)•分布式块存储(AmazonEBS)分布式文件系统应用场景•Google:–搜索、AppEngine、Gmail、Youtube、Map。。•Baidu:–HadoopHDFS搜索、数据分析•Taobao:–TFS存储图片网页–HadoopHDFS数据分析GFS-需求分析组件失效是常态文件规模一般都在几个G以上Writeoncereadmany负载模型文件写入后,基本不需要重写操作文件被大量地连续读操作,随机读很少发生允许大量客户端并行追加写同一个文件,追加写操作必须是原子操作对海量数据处理来说,带宽是稀缺资源GFS-接口(API)提供文件系统接口非标准的POSIXAPI仅仅提供几种最基本的操作–create,delete,open,close,read,write利用写时拷贝(copy-on-write)技术实现快照功能GFS-体系结构文件被切割成固定大小的块(Chunk)一个主Master,多个ShadowMaster多个Chunkserver多clientGFS-Master设计主master将所有元数据保存在内存中,实现快速访问同时提供chunk令牌管理、孤立块垃圾回收、块迁移、副本管理功能定期与chunkserver发送心跳消息,收集chunkserver状态任何对元数据的写操作都会保存到日志中元数据在一段时间内会缓存在clients中ShadowmastersMaster的状态(checkpoint和log)会定期复制到shadowmasters中,以保证系统的可靠性。当master失效后,系统会尝试从shadowmaster中读取checkpoint和log进行数据恢复,恢复周期一般为秒级即使master失效,shadow也能提供文件的只读访问。GFS-ChunkServer设计在linux系统中以实体文件存放chunk默认放置3个chunk副本,2个在同一个机架的不同机器,1个在另外的机架平衡访问负载平衡存储空间提供可用性和可靠性块数据不缓存块大小为64MB–减少元数据,每chunk对应64Bytes元数据,2P数据需要2G内存–减少网络开销,因为client往往对一个chunk进行多次操作,所以chunkserver可以在一段时间之类保持住一个client和chunkserver之间的TCP连接–小文件容易形成访问热点,解决方案:为小文件准备更多的副本GFS-client设计–client是一组供上层应用调用文件系统的API,它向master请求元数据,向client请求数据–client在有限时间内缓存元数据–client不缓存数据,因为用户请求的数据往往很大或者是流式写操作,缓存没有意义GFS-AwareApplicationPOSIXAPIGFSAPIRegularVFSwithlocalandNFS-supportedfilesSeparateGFSviewNetworkstackGFSMasterGFSChunkserverGFSChunkserverSpecificdrivers...ClientcomputerAmazonS3•概念•数据模型•接口对象存储(应用场景)•AmazonS3•Facebookhystack•盛大云分布式key-value存储各种媒体文件,如图片,音乐,视频等等;最终用户数据的存储,比如文档,数据表格,数据文件等;数据备份和存档,如交易数据,log数据,用户访问的数据等;•阿里云基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。开通赠送5GB空间,按使用付费。提供类S3RESTAPI接S3存储的发展025050075010001250Q12006Q12007Q12008Q12009Q12010S3存储对象数量(亿)1020数据来源:简介•S3(SimpleStorageService)是Amazon推出的简单存储服务,它提供简单的Web服务接口,随时随地地在网络上存取数据,使得开发人员进行网络规模的计算更容易•S3基于高扩展性、可靠、快速、廉价的数据存储基础设施运行它自己的全球站点网络S3的价格•对象Objects–存储数据的基本实体,包含对象数据部分和元数据部分•桶Buckets–容器是对象的集合,容器可以包含子容器–一个容器可以包含多个对象和子容器•关键字Keys–桶或对象的唯一标识•示例:访问容器photos下的对象family.jpg:–容器容器对象存储客户端HTTPRESTfulRequest&Response云存储容器容器容器对象存储客户端对象存储客户端数据对象S3数据模型Objects•对象是存储在AmazonS3上的基本实体,这一实体包含对象数据部分和元数据部分–元数据是一套描述对象名-值(name-value)对。元数据包括一些默认的元数据和标准HTTP元数据,如:最后一次修改时间和内容类型等,开发人员可以在对象存储时指定自定义的元数据Buckets•一个桶就是一个存储在AmazonS3上的对象的容器,每个对象都包含在一个桶内。•一个桶的所有权属于创建它的AWS帐户。每个AWS帐户能一次拥有多达100个桶,桶的所有权不可转移。但是,如果一个桶是空的,它可以被删除并且名字可以重新使用。•一个桶中存储对象的数量没有限制而且使用多少个桶性能并没有变化。你可以把你所有的对象都存在一个桶中也可以把他们安排在多个桶中。•桶不能嵌套,也就是说,不能在桶中创建桶。例如:如果名为photos/puppy.jpg的对象存储在johnsmith桶中,那么可以用来访问它.Keys•一个关键字是一个对象在一个桶中的唯一标识符。每一个AmazonS3中的对象都可以通过服务端点、桶名和关键字的组合唯一地找到例如:在中,“doc”是一个桶名,2006-03-01/AmazonS3.wsdl是一个关键字S3接口:RESTfulAPI•HTTP协议不仅仅可以用来进行网络传输,而且可以用以下几种
本文标题:云存储技术和应用
链接地址:https://www.777doc.com/doc-1658211 .html