云存储技术和应用课件_第1页
云存储技术和应用课件_第2页
云存储技术和应用课件_第3页
云存储技术和应用课件_第4页
云存储技术和应用课件_第5页
已阅读5页,还剩141页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云存储技术和应用云存储技术和应用1提纲存储发展历史云存储概念和技术云存储应用提纲存储发展历史2存储的发展历史直连存储DAS存储区域网络SAN网络附着存储NAS对象存储设备OSD存储的发展历史直连存储DAS3存储发展历史-直连存储DASDirect-AttachedStorage概念:存储设备是通过电缆(通常是SCSI接口)直接到服务器的,I/O(输入/输入)请求直接发送到存储设备。存储发展历史-直连存储DASDirect-Attached4存储发展历史-直连存储DASDirect-AttachedStorage备份和恢复:占用服务器资源,数据量越大,备份和恢复的时间就越长CPU发展速度比存储发展速度快,磁盘阵列容量增大,IO成为瓶颈服务器或磁盘阵列扩展都需要停业务,电信和银行无法忍受服务器SCSI插槽数量有限,存储资源和数据无法服务器之间共享存储发展历史-直连存储DASDirect-Attached5存储发展历史-存储区域网络SANStorageAreaNetwork

概念:SAN的概念是允许存储设备和CPU(服务器)之间建立直接的高速网络(与LAN相比)连接,通过这种连接实现只受光纤线路长度限制的集中式存储。光纤交换机存储发展历史-存储区域网络SANStorageAreaN6存储发展历史-存储区域网络SANStorageAreaNetwork

独立于服务器网络的高速光纤存储网,适合大数据高速处理存储资源全局多主机动态共享备份与恢复:不需要服务器参与IO带宽:多个服务器可以并行访问统一存储设备在线升级:在线增加服务器或存储设备扩展性:光纤交换机提供很多接口,也可以连接其他交换机存储发展历史-存储区域网络SANStorageAreaN7存储发展历史-块访问存储发展历史-块访问8存储发展历史-块访问存储发展历史-块访问9存储发展历史-网络附着存储NASNetworkAttachedStorage概念NAS由SUN公司在上个世纪80年代中期推出NFS开始,是一种面向用户提供文件级服务的专用数据存储设备,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。存储发展历史-网络附着存储NASNetworkAttach10存储发展历史-网络附着存储NASNetworkAttachedStorage容易部署:不需要依赖任何其他设备,只要有一个网络端口就可以在任何能上网的设备上使用易于使用:文件接相对块接口更容易使用文件共享:方便多个主机共享数据长距离传输:基于IP网络易于扩展:简单的增加NAS设备到网络中即可低成本:相对SAN价格便宜存储发展历史-网络附着存储NASNetworkAttach11存储发展历史-文件访问存储发展历史-文件访问12存储发展历史-文件访问文件的Inode包含多个块,为了提高大文件操作效率还会将两个或三个块组合起来提供访问。存储发展历史-文件访问文件的Inode包含多个块,为了提高大13存储发展历史-本地文件系统文件/目录管理10%工作量块管理90%工作量存储发展历史-本地文件系统文件/目录管理10%工作量14存储发展历史-分布式文件系统通过NFS/CIFS接口访问存储发展历史-分布式文件系统通过NFS/CIFS接口访问15存储发展历史-对象存储存储发展历史-对象存储16存储发展历史-对象存储设备OSDSCSIBlockInterfaceStorageDeviceBlockI/OManagerObjectInterfaceApplicationsFileSystemUserComponentFileSystemStorageComponentSystemCallInterfaceCPUApplicationsFileSystemUserComponentSystemCallInterfaceCPUStorageDeviceBlockI/OManagerFileSystemStorageComponent存储发展历史-对象存储设备OSDSCSIBlockInte17存储发展历史-对象存储设备OSDManagersObject-basedStorageDevicesMANAGEMENTEthswitchSANSECRETKEYSECRETKEYSECRETKEYAccessRequestDATAValidateCapabilityClient存储发展历史-对象存储设备OSDManagersObjec18存储发展历史-对象存储vs块存储存储发展历史-对象存储vs块存储19存储发展历史-对象存储vs文件存储存储自治:容量扩展负载均衡备份QoS、SLA感知和数据分组预取压缩/去冗余强安全/加密Compliance、Retention、securedelete可用性、副本自治愈存储发展历史-对象存储vs文件存储存储自治:20存储发展历史-对象定义对象的定义Object

ID:对象唯一标示User

Data:对象的数据Metadata:元数据,空间管理信息Attributes:对象属性存储发展历史-对象定义对象的定义21存储发展历史总结存储发展历史总结22提纲存储发展历史云存储概念和技术云存储应用提纲存储发展历史23云存储需求云存储需求24云存储需求2011年全球数据量将达1.8ZB,这人类将开始进入ZB时代云存储需求2011年全球数据量将达1.8ZB,这人类将开始进25云存储需求高容量:海量,且可扩展高性能:快速的访问、定位高可用:个别磁盘失效,甚至整个中心被毁低成本:传统的NAS、SAN技术构建大规模存储系统成本很高云存储需求高容量:海量,且可扩展26云存储概念和特点云存储是在云计算(cloudcomputing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。高可用、可扩展、按需付费云存储概念和特点云存储是在云计算(cloudcomputi27GoogleCloudGoogleFileSystemBigTableGoogleAppEngineMapReduceMicrosoftAzureLiveServicesSQLServices.NETServicesSharepointServicesDynamicCRMServicesIBMBlueCloudHadoopDB2Xen&PowerVMWebsphereTivoliSoftwareAmazonCloudS3SimpleDBEC2SimpleQueueEBS云存储有哪些?GoogleGoogleFileSystemBigTab28云存储的热点分布式文件系统(Google

GFS、Hadoop

HDFS。。)NoSQL数据库(Google

BigTable、Facebook

Cassandra。。)对象存储(Amazon

S3)分布式块存储(Amazon

EBS)云存储的热点分布式文件系统(GoogleGFS、Hadoo29分布式文件系统应用场景Google:搜索、AppEngine、Gmail、Youtube、Map。。Baidu:Hadoop

HDFS搜索、数据分析Taobao:TFS存储图片网页Hadoop

HDFS数据分析分布式文件系统应用场景Google:30GFS-需求分析组件失效是常态文件规模一般都在几个G以上Writeoncereadmany负载模型文件写入后,基本不需要重写操作文件被大量地连续读操作,随机读很少发生允许大量客户端并行追加写同一个文件,追加写操作必须是原子操作对海量数据处理来说,带宽是稀缺资源GFS-需求分析组件失效是常态31GFS-接口(API)提供文件系统接口非标准的POSIXAPI仅仅提供几种最基本的操作–create,delete,open,close,read,write利用写时拷贝(copy-on-write)技术实现快照功能GFS-接口(API)提供文件系统接口32GFS-体系结构文件被切割成固定大小的块(Chunk)一个主Master,多个ShadowMaster多个Chunkserver多clientGFS-体系结构文件被切割成固定大小的块(Chunk)33GFS-Master设计主master将所有元数据保存在内存中,实现快速访问同时提供chunk令牌管理、孤立块垃圾回收、块迁移、副本管理功能定期与chunkserver发送心跳消息,收集chunkserver状态任何对元数据的写操作都会保存到日志中元数据在一段时间内会缓存在clients中ShadowmastersMaster的状态(checkpoint和log)会定期复制到shadowmasters中,以保证系统的可靠性。当master失效后,系统会尝试从shadowmaster中读取checkpoint和log进行数据恢复,恢复周期一般为秒级即使master失效,shadow也能提供文件的只读访问。GFS-Master设计主master34GFS-ChunkServer设计在linux系统中以实体文件存放chunk默认放置3个chunk副本,2个在同一个机架的不同机器,1个在另外的机架平衡访问负载平衡存储空间提供可用性和可靠性

块数据不缓存块大小为64MB减少元数据,每chunk对应64Bytes元数据,2P数据需要2G内存减少网络开销,因为client往往对一个chunk进行多次操作,所以chunkserver可以在一段时间之类保持住一个client和chunkserver之间的TCP连接小文件容易形成访问热点,解决方案:为小文件准备更多的副本GFS-ChunkServer设计在linux系统中以实体35GFS-client设计client是一组供上层应用调用文件系统的API,它向master请求元数据,向client请求数据client在有限时间内缓存元数据client不缓存数据,因为用户请求的数据往往很大或者是流式写操作,缓存没有意义GFS-client设计client是一组供上层应用调用文36Amazon

S3概念数据模型接口AmazonS3概念37对象存储(应用场景)AmazonS3Facebook

hystack盛大云分布式key-value存储各种媒体文件,如图片,音乐,视频等等;最终用户数据的存储,比如文档,数据表格,数据文件等;数据备份和存档,如交易数据,log数据,用户访问的数据等;阿里云基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。开通赠送5GB空间,按使用付费。提供类S3

REST

API接对象存储(应用场景)AmazonS338S3存储的发展1020数据来源:S3存储的发展1020数据来源:http://www.sni39S3简介S3(SimpleStorageService)是Amazon推出的简单存储服务,它提供简单的Web服务接口,随时随地地在网络上存取数据,使得开发人员进行网络规模的计算更容易S3基于高扩展性、可靠、快速、廉价的数据存储基础设施运行它自己的全球站点网络S3简介S3(SimpleStorageService)40S3的价格S3的价格41对象Objects存储数据的基本实体,包含

对象数据部分和元数据部分桶Buckets容器是对象的集合,容器可以包含子容器一个容器可以包含多个对象和子容器关键字Keys桶或对象的唯一标识示例:访问容器photos下的对象family.jpg:/webdisk/photos/family.jpg容器容器对象存储客户端HTTPRESTfulRequest&Response云存储容器容器容器对象存储客户端对象存储客户端数据对象S3数据模型对象Objects容器容器对象存储HTTPRESTful42Objects对象是存储在AmazonS3上的基本实体,这一实体包含对象数据部分和元数据部分元数据是一套描述对象名-值(name-value)对。元数据包括一些默认的元数据和标准HTTP元数据,如:最后一次修改时间和内容类型等,开发人员可以在对象存储时指定自定义的元数据Objects对象是存储在AmazonS3上的基本实体,43Buckets一个桶就是一个存储在AmazonS3上的对象的容器,每个对象都包含在一个桶内。一个桶的所有权属于创建它的AWS帐户。每个AWS帐户能一次拥有多达100个桶,桶的所有权不可转移。但是,如果一个桶是空的,它可以被删除并且名字可以重新使用。一个桶中存储对象的数量没有限制而且使用多少个桶性能并没有变化。你可以把你所有的对象都存在一个桶中也可以把他们安排在多个桶中。桶不能嵌套,也就是说,不能在桶中创建桶。例如:如果名为photos/puppy.jpg的对象存储在johnsmith桶中,那么可以用

/photos/puppy.jpg

来访问它.Buckets一个桶就是一个存储在AmazonS3上的对象44Keys一个关键字是一个对象在一个桶中的唯一标识符。每一个AmazonS3中的对象都可以通过服务端点、桶名和关键字的组合唯一地找到例如:在http://doc./2006-03-01/AmazonS3.wsdl

中,“doc”是一个桶名,"2006-03-01/AmazonS3.wsdl"是一个关键字Keys一个关键字是一个对象在一个桶中的唯一标识符。每一个A45S3接口:RESTfulAPIHTTP协议不仅仅可以用来进行网络传输,而且可以用以下几种API来实现所有的Web操作PUT="here'ssomenewinfo"(Create)GET="givemesomeinfo"(Retrieve)POST="here'ssomeupdateinfo"(Update)DELETE="deletesomeinfo"(Delete)HTTPAPI符合CRUD(Create,Retrieve,Update,andDelete)原则S3接口:RESTfulAPIHTTP协议不仅仅可以用来进46RESTGET示例GET/NelsonHTTP/1.1Host:quotes.Date:Wed,01Jun201012:00:00GMTAuthorization:AWS15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=HTTP/1.1200OKx-amz-id-2:j5ULAWpFbJQJpukUsZ4tfXVOjVZExLtEyNTvY5fe+hHIegsN5p578JLTVpkFrpLx-amz-request-id:BE39A20848A0D52BDate:Wed,01Jun201012:00:00GMTx-amz-meta-family:MuntzLast-Modified:Sun,1Jan201012:00:00GMTETag:"828ef3fdfa96f00ad9f27c383fc9ac7f“Content-Type:text/plainContent-Length:5Connection:closeServer:AmazonS3ha-haRequestResponseRESTGET示例GET/NelsonHTTP/1.147NOSQL数据库概念Key-valueColumnDocumentGraphyNOSQL数据库概念48WhatisNoSQL?NoSQL=Nonrelational或者NotonlySQLNoSQL是相对于RDBMS的,具有以下特征非关系分布式开源

水平扩展schema-freeeasyreplicationsupportsimpleAPI最终一致性支持海量数据(HugeData)不支持ACIDNoSQL于2009年发展迅速()WhatisNoSQL?NoSQL=Nonrelati49WhyNoSQL?web2.0时代,数据量激增,对数据库技术提出了新的需求:Highperformance——对数据库高并发读写的需求HugeStorage——对海量数据的高效率存储和访问的需求HighScalability&&HighAvailability——对数据库的高可扩展性和高可用性的需求Lowcost——对数据库低成本的需求传统RDBMS无法满足,而一些关系特性无用武之地却严重限制了性能:数据库事务一致性数据库的写实时性和读实时性复杂的SQL查询,特别是多表关联查询NoSQL放弃关系模型,弱化RDBMS一些非必要功能,提高扩展性、可用性,实现海量存储WhyNoSQL?web2.0时代,数据量激增,对数据库技50WhyNoSQL?RDBMS数据量激增,并发量大性能下降?ScalingupScalingout不可能无限制ScalingupSharding会丧失RDBMS的某些特性(ACID,实时性,表join困难)手工Sharding是件恶心的事,不灵活在很多场合,关系数据库的某些特性无用武之地,反而限制性能:事务强一致性读写实时性复杂的SQL查询,尤其是跨表join放弃关系型模型NoSQLWhyNoSQL?RDBMS数据量激增,并发量大?Sca51NoSQL应用现状公司应用NoSQL自研/应用应用场景GoogleBigTable自研Webindexing,GoogleEarth,GoogleFinanceFacebookCassandra自研收件箱搜索AmazonDynamo自研购物车新浪Redis应用微博淘宝OceanBase自研淘宝收藏夹,逐步在其他应用上线Tair自研登录/查看商品详情/淘江湖等视觉中国MongoDB应用视觉中国网站优酷MongoDB应用在线评论业务HBase应用运营数据分析及挖掘处理TokyoTyrant应用搜索产品Redis应用频繁修改的在线业务中国移动HandlerSocket应用飞信空间豆瓣网BeansDB自研豆瓣社区NoSQL应用现状公司应用NoSQL自研/应用应用场景Goo52NoSQL四大家族Key-ValueDynamoRiakMemcachedRedisTokyoCabinet/TyrantVoldemort……ColumnBigTableHBaseCassandraHyperTable……DocumentMongoDBCouchDB……GraphNeo4jHyperGraphDB……NoSQL四大家族Key-ValueDynamoRiakMe531)Key-Value数据模型:简单的键值对典型应用:Cache高读写的简单存储优势:简单、读写速度快劣势:存储数据缺少结构化,只能存储Key-Value对复杂的结构需要上层应用处理1)Key-Value数据模型:简单的键值对54Dynamo购物车问题不开源,公布了paper技术特征:一致性哈希虚节点VectorClockHintedHandoffAnti-entropyMerkleTreeGossipDynamo购物车问题55云存储技术和应用课件56云存储技术和应用课件57云存储技术和应用课件58云存储技术和应用课件59云存储技术和应用课件60云存储技术和应用课件61Memcached用作大型网站缓存系统开源协议:BSD开发语言:C协议:memcached协议(自定义的基于TCP的文本协议)特性:协议简单基于libevent事件处理内存存储不相互通信的分布式Memcached用作大型网站缓存系统62云存储技术和应用课件632)Column-Oriented数据模型:BigTable式表格,稀疏矩阵典型应用:海量数据存储与分析优势:查找列速度快,可扩展性强,更容易进行分布式扩展劣势:功能相对局限,对于跨表的join性能不高2)Column-Oriented数据模型:BigTabl64云存储技术和应用课件65云存储技术和应用课件663)Document-Oriented数据模型:灵感来源于LotusNotes,JSON-like典型应用:Web应用优势:数据结构要求不严格,灵活劣势:查询性能不高,而且缺乏统一的查询语法3)Document-Oriented数据模型:灵感来源于674)Graph-Oriented数据模型:图模型典型应用:基于网络的应用,地理位置信息(用作GIS)、社交网络(SNS)、网络拓扑等优势:可以利用图结构相关算法劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案4)Graph-Oriented数据模型:图模型68提纲存储发展历史云存储概念和技术云存储应用提纲存储发展历史69设计一个网盘系统需求:海量用户,系统用户数上千万/上亿,由少到多系统并发访问用户数上十万用户访问可以通过PC、手机、Pad系统刚开始用户数少,投资有限,随着用户增加追加投资高可靠,7*24小时不中断设计:设计一个系统,描述由哪些部分组成,每个部分的功能是什么,可以使用哪些技术实现分组进行,每个小组出一个代表上来分享设计一个网盘系统需求:70设计一个网盘系统提示,从下面列表中选择可能是用到的技术完成系统的设计:iOS开发技术、Android开发技术、UI交互设计技术、美工、HTTP服务端技术、xml/jason技术、负载均衡技术、分布式缓存技术、分布式文件系统、分布式对象存储(类S3)、Oracle、mySQL、BerkerlyDB、DynamoDB、虚拟机技术、Java/C++/C/Objective

C、php、html、mongodb、redis、memcache、Nginx(web负载均衡)、设计一个网盘系统提示,从下面列表中选择可能是用到的技术完成系71总结存储概念:背景需求发展历史文件、块、对象存储存储技术:分布式文件系统GFS对象存储S3分布式数据库NoSQL存储应用:Sina微博系统设计总结存储概念:72云存储技术和应用课件73云存储技术和应用云存储技术和应用74提纲存储发展历史云存储概念和技术云存储应用提纲存储发展历史75存储的发展历史直连存储DAS存储区域网络SAN网络附着存储NAS对象存储设备OSD存储的发展历史直连存储DAS76存储发展历史-直连存储DASDirect-AttachedStorage概念:存储设备是通过电缆(通常是SCSI接口)直接到服务器的,I/O(输入/输入)请求直接发送到存储设备。存储发展历史-直连存储DASDirect-Attached77存储发展历史-直连存储DASDirect-AttachedStorage备份和恢复:占用服务器资源,数据量越大,备份和恢复的时间就越长CPU发展速度比存储发展速度快,磁盘阵列容量增大,IO成为瓶颈服务器或磁盘阵列扩展都需要停业务,电信和银行无法忍受服务器SCSI插槽数量有限,存储资源和数据无法服务器之间共享存储发展历史-直连存储DASDirect-Attached78存储发展历史-存储区域网络SANStorageAreaNetwork

概念:SAN的概念是允许存储设备和CPU(服务器)之间建立直接的高速网络(与LAN相比)连接,通过这种连接实现只受光纤线路长度限制的集中式存储。光纤交换机存储发展历史-存储区域网络SANStorageAreaN79存储发展历史-存储区域网络SANStorageAreaNetwork

独立于服务器网络的高速光纤存储网,适合大数据高速处理存储资源全局多主机动态共享备份与恢复:不需要服务器参与IO带宽:多个服务器可以并行访问统一存储设备在线升级:在线增加服务器或存储设备扩展性:光纤交换机提供很多接口,也可以连接其他交换机存储发展历史-存储区域网络SANStorageAreaN80存储发展历史-块访问存储发展历史-块访问81存储发展历史-块访问存储发展历史-块访问82存储发展历史-网络附着存储NASNetworkAttachedStorage概念NAS由SUN公司在上个世纪80年代中期推出NFS开始,是一种面向用户提供文件级服务的专用数据存储设备,存储系统不再通过I/O总线附属于某个特定的服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。存储发展历史-网络附着存储NASNetworkAttach83存储发展历史-网络附着存储NASNetworkAttachedStorage容易部署:不需要依赖任何其他设备,只要有一个网络端口就可以在任何能上网的设备上使用易于使用:文件接相对块接口更容易使用文件共享:方便多个主机共享数据长距离传输:基于IP网络易于扩展:简单的增加NAS设备到网络中即可低成本:相对SAN价格便宜存储发展历史-网络附着存储NASNetworkAttach84存储发展历史-文件访问存储发展历史-文件访问85存储发展历史-文件访问文件的Inode包含多个块,为了提高大文件操作效率还会将两个或三个块组合起来提供访问。存储发展历史-文件访问文件的Inode包含多个块,为了提高大86存储发展历史-本地文件系统文件/目录管理10%工作量块管理90%工作量存储发展历史-本地文件系统文件/目录管理10%工作量87存储发展历史-分布式文件系统通过NFS/CIFS接口访问存储发展历史-分布式文件系统通过NFS/CIFS接口访问88存储发展历史-对象存储存储发展历史-对象存储89存储发展历史-对象存储设备OSDSCSIBlockInterfaceStorageDeviceBlockI/OManagerObjectInterfaceApplicationsFileSystemUserComponentFileSystemStorageComponentSystemCallInterfaceCPUApplicationsFileSystemUserComponentSystemCallInterfaceCPUStorageDeviceBlockI/OManagerFileSystemStorageComponent存储发展历史-对象存储设备OSDSCSIBlockInte90存储发展历史-对象存储设备OSDManagersObject-basedStorageDevicesMANAGEMENTEthswitchSANSECRETKEYSECRETKEYSECRETKEYAccessRequestDATAValidateCapabilityClient存储发展历史-对象存储设备OSDManagersObjec91存储发展历史-对象存储vs块存储存储发展历史-对象存储vs块存储92存储发展历史-对象存储vs文件存储存储自治:容量扩展负载均衡备份QoS、SLA感知和数据分组预取压缩/去冗余强安全/加密Compliance、Retention、securedelete可用性、副本自治愈存储发展历史-对象存储vs文件存储存储自治:93存储发展历史-对象定义对象的定义Object

ID:对象唯一标示User

Data:对象的数据Metadata:元数据,空间管理信息Attributes:对象属性存储发展历史-对象定义对象的定义94存储发展历史总结存储发展历史总结95提纲存储发展历史云存储概念和技术云存储应用提纲存储发展历史96云存储需求云存储需求97云存储需求2011年全球数据量将达1.8ZB,这人类将开始进入ZB时代云存储需求2011年全球数据量将达1.8ZB,这人类将开始进98云存储需求高容量:海量,且可扩展高性能:快速的访问、定位高可用:个别磁盘失效,甚至整个中心被毁低成本:传统的NAS、SAN技术构建大规模存储系统成本很高云存储需求高容量:海量,且可扩展99云存储概念和特点云存储是在云计算(cloudcomputing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。高可用、可扩展、按需付费云存储概念和特点云存储是在云计算(cloudcomputi100GoogleCloudGoogleFileSystemBigTableGoogleAppEngineMapReduceMicrosoftAzureLiveServicesSQLServices.NETServicesSharepointServicesDynamicCRMServicesIBMBlueCloudHadoopDB2Xen&PowerVMWebsphereTivoliSoftwareAmazonCloudS3SimpleDBEC2SimpleQueueEBS云存储有哪些?GoogleGoogleFileSystemBigTab101云存储的热点分布式文件系统(Google

GFS、Hadoop

HDFS。。)NoSQL数据库(Google

BigTable、Facebook

Cassandra。。)对象存储(Amazon

S3)分布式块存储(Amazon

EBS)云存储的热点分布式文件系统(GoogleGFS、Hadoo102分布式文件系统应用场景Google:搜索、AppEngine、Gmail、Youtube、Map。。Baidu:Hadoop

HDFS搜索、数据分析Taobao:TFS存储图片网页Hadoop

HDFS数据分析分布式文件系统应用场景Google:103GFS-需求分析组件失效是常态文件规模一般都在几个G以上Writeoncereadmany负载模型文件写入后,基本不需要重写操作文件被大量地连续读操作,随机读很少发生允许大量客户端并行追加写同一个文件,追加写操作必须是原子操作对海量数据处理来说,带宽是稀缺资源GFS-需求分析组件失效是常态104GFS-接口(API)提供文件系统接口非标准的POSIXAPI仅仅提供几种最基本的操作–create,delete,open,close,read,write利用写时拷贝(copy-on-write)技术实现快照功能GFS-接口(API)提供文件系统接口105GFS-体系结构文件被切割成固定大小的块(Chunk)一个主Master,多个ShadowMaster多个Chunkserver多clientGFS-体系结构文件被切割成固定大小的块(Chunk)106GFS-Master设计主master将所有元数据保存在内存中,实现快速访问同时提供chunk令牌管理、孤立块垃圾回收、块迁移、副本管理功能定期与chunkserver发送心跳消息,收集chunkserver状态任何对元数据的写操作都会保存到日志中元数据在一段时间内会缓存在clients中ShadowmastersMaster的状态(checkpoint和log)会定期复制到shadowmasters中,以保证系统的可靠性。当master失效后,系统会尝试从shadowmaster中读取checkpoint和log进行数据恢复,恢复周期一般为秒级即使master失效,shadow也能提供文件的只读访问。GFS-Master设计主master107GFS-ChunkServer设计在linux系统中以实体文件存放chunk默认放置3个chunk副本,2个在同一个机架的不同机器,1个在另外的机架平衡访问负载平衡存储空间提供可用性和可靠性

块数据不缓存块大小为64MB减少元数据,每chunk对应64Bytes元数据,2P数据需要2G内存减少网络开销,因为client往往对一个chunk进行多次操作,所以chunkserver可以在一段时间之类保持住一个client和chunkserver之间的TCP连接小文件容易形成访问热点,解决方案:为小文件准备更多的副本GFS-ChunkServer设计在linux系统中以实体108GFS-client设计client是一组供上层应用调用文件系统的API,它向master请求元数据,向client请求数据client在有限时间内缓存元数据client不缓存数据,因为用户请求的数据往往很大或者是流式写操作,缓存没有意义GFS-client设计client是一组供上层应用调用文109Amazon

S3概念数据模型接口AmazonS3概念110对象存储(应用场景)AmazonS3Facebook

hystack盛大云分布式key-value存储各种媒体文件,如图片,音乐,视频等等;最终用户数据的存储,比如文档,数据表格,数据文件等;数据备份和存档,如交易数据,log数据,用户访问的数据等;阿里云基于OSS,用户可以搭建出各种多媒体分享网站、网盘、个人企业数据备份等基于大规模数据的服务。开通赠送5GB空间,按使用付费。提供类S3

REST

API接对象存储(应用场景)AmazonS3111S3存储的发展1020数据来源:S3存储的发展1020数据来源:http://www.sni112S3简介S3(SimpleStorageService)是Amazon推出的简单存储服务,它提供简单的Web服务接口,随时随地地在网络上存取数据,使得开发人员进行网络规模的计算更容易S3基于高扩展性、可靠、快速、廉价的数据存储基础设施运行它自己的全球站点网络S3简介S3(SimpleStorageService)113S3的价格S3的价格114对象Objects存储数据的基本实体,包含

对象数据部分和元数据部分桶Buckets容器是对象的集合,容器可以包含子容器一个容器可以包含多个对象和子容器关键字Keys桶或对象的唯一标识示例:访问容器photos下的对象family.jpg:/webdisk/photos/family.jpg容器容器对象存储客户端HTTPRESTfulRequest&Response云存储容器容器容器对象存储客户端对象存储客户端数据对象S3数据模型对象Objects容器容器对象存储HTTPRESTful115Objects对象是存储在AmazonS3上的基本实体,这一实体包含对象数据部分和元数据部分元数据是一套描述对象名-值(name-value)对。元数据包括一些默认的元数据和标准HTTP元数据,如:最后一次修改时间和内容类型等,开发人员可以在对象存储时指定自定义的元数据Objects对象是存储在AmazonS3上的基本实体,116Buckets一个桶就是一个存储在AmazonS3上的对象的容器,每个对象都包含在一个桶内。一个桶的所有权属于创建它的AWS帐户。每个AWS帐户能一次拥有多达100个桶,桶的所有权不可转移。但是,如果一个桶是空的,它可以被删除并且名字可以重新使用。一个桶中存储对象的数量没有限制而且使用多少个桶性能并没有变化。你可以把你所有的对象都存在一个桶中也可以把他们安排在多个桶中。桶不能嵌套,也就是说,不能在桶中创建桶。例如:如果名为photos/puppy.jpg的对象存储在johnsmith桶中,那么可以用

/photos/puppy.jpg

来访问它.Buckets一个桶就是一个存储在AmazonS3上的对象117Keys一个关键字是一个对象在一个桶中的唯一标识符。每一个AmazonS3中的对象都可以通过服务端点、桶名和关键字的组合唯一地找到例如:在http://doc./2006-03-01/AmazonS3.wsdl

中,“doc”是一个桶名,"2006-03-01/AmazonS3.wsdl"是一个关键字Keys一个关键字是一个对象在一个桶中的唯一标识符。每一个A118S3接口:RESTfulAPIHTTP协议不仅仅可以用来进行网络传输,而且可以用以下几种API来实现所有的Web操作PUT="here'ssomenewinfo"(Create)GET="givemesomeinfo"(Retrieve)POST="here'ssomeupdateinfo"(Update)DELETE="deletesomeinfo"(Delete)HTTPAPI符合CRUD(Create,Retrieve,Update,andDelete)原则S3接口:RESTfulAPIHTTP协议不仅仅可以用来进119RESTGET示例GET/NelsonHTTP/1.1Host:quotes.Date:Wed,01Jun201012:00:00GMTAuthorization:AWS15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=HTTP/1.1200OKx-amz-id-2:j5ULAWpFbJQJpukUsZ4tfXVOjVZExLtEyNTvY5fe+hHIegsN5p578JLTVpkFrpLx-amz-request-id:BE39A20848A0D52BDate:Wed,01Jun201012:00:00GMTx-amz-meta-family:MuntzLast-Modified:Sun,1Jan201012:00:00GMTETag:"828ef3fdfa96f00ad9f27c383fc9ac7f“Content-Type:text/plainContent-Length:5Connection:closeServer:AmazonS3ha-haRequestResponseRESTGET示例GET/NelsonHTTP/1.1120NOSQL数据库概念Key-valueColumnDocumentGraphyNOSQL数据库概念121WhatisNoSQL?NoSQL=Nonrelational或者NotonlySQLNoSQL是相对于RDBMS的,具有以下特征非关系分布式开源

水平扩展schema-freeeasyreplicationsupportsimpleAPI最终一致性支持海量数据(HugeData)不支持ACIDNoSQL于2009年发展迅速()WhatisNoSQL?NoSQL=Nonrelati122WhyNoSQL?web2.0时代,数据量激增,对数据库技术提出了新的需求:Highperformance——对数据库高并发读写的需求HugeStorage——对海量数据的高效率存储和访问的需求HighScalability&&HighAvailability——对数据库的高可扩展性和高可用性的需求Lowcost——对数据库低成本的需求传统RDBMS无法满足,而一些关系特性无用武之地却严重限制了性能:数据库事务一致性数据库的写实时性和读实时性复杂的SQL查询,特别是多表关联查询NoSQL放弃关系模型,弱化RDBMS一些非必要功能,提高扩展性、可用性,实现海量存储WhyNoSQL?web2.0时代,数据量激增,对数据库技123WhyNoSQL?RDBMS数据量激增,并发量大性能下降?ScalingupScalingout不可能无限制ScalingupSharding会丧失RDBMS的某些特性(ACID,实时性,表join困难)手工Sharding是件恶心的事,不灵活在很多场合,关系数据库的某些特性无用武之地,反而限制性能:事务强一致性读写实时性复杂的SQL查询,尤其是跨表join放弃关系型模型NoSQLWhyNoSQL?RDBMS数据量激增,并发量大?Sca124NoSQL应用现状公司应用NoSQL自研/应用应用场景GoogleBigTable自研Webindexing,GoogleEarth,GoogleFinanceFacebookCassandra自研收件箱搜索AmazonDynamo自研购物车新浪Re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论