云计算课程课件05分布式存储.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《云计算课程课件05分布式存储.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 课程 课件 05 分布式 存储
- 资源描述:
-
1、云计算原理与实践Principles and Practice of Cloud Computing云计算原理与实践课程总览Outline 5.1 分布式存储的基础 5.2 文件存储 5.3 从单机存储系统到分布式存储系统 5.4 实践:分布式存储系统CephMachine LearningDomain expertiseMathematicsData engineering5.1 分布式存储的基础5.1.1 基本概念5.1.2 分布式存储分类5.1.3 分布式存储的发展历史5.1.1 基本概念分布式存储系统的定义:分布式存储系统是将为数众多的普通计算机或服务器通过网络进行连接,同时对外提供一
2、个整体的存储服务。分布式存储系统包括以下几个特性:高性能 可扩展 低成本 易用性分布式存储系统的技术挑战包括:数据和状态信息的持久化、数据的自动迁移、系统的自动容错、并发读写的数据的一致性等方面。5.1.2 分布式存储分类分布式存储面临的应用场景和数据需求都比较复杂,根据数据类型,可以将其分为非结构化数据、结构化数据、半结构化数据三类。正因为数据类型的多样性,不同的分布式存储系统适合处理不同类型的数据,因此可以将分布式存储系统分为四类:1.分布式文件系统2.分布式键值(Key-Value)系统3.分布式表系统4.分布式数据库1.分布式文件系统分布式文件系统存储三种类型的数据:Blob对象、定长
3、块以及大文件。图5.1 数据块与Blob对象、定长块、大文件之间的关系2 分布式键值(Key-Value)系统 分布式键值系统用于存储关系简单的半结构化数据,它提供基于主键的CRUD(Create/Read/Update/Delete)功能,即根据主键创建、读取、更新或者删除一条键值记录。典型的系统有Amazon Dynamo。分布式键值系统是分布式表系统的一种简化,一般用作缓存,比如Memcache。从数据结构的角度看,分布式键值系统支持将数据分布到集群中的多个存储节点。一致性散列是分布式键值系统中常用的数据分布技术,由于在众多系统中被采用而变得非常有名。3 分布式表系统 分布式表系统主要用
4、于存储半结构化数据。与分布式键值系统相比,分布式表系统不仅仅支持简单的CRUD操作,而且支持扫描某个主键范围。分布式表系统以表格为单位组织数据,每个表格包括很多行,通过主键标识一行,支持根据主键的CRUD功能以及范围查找功能。典型的分布式表系统包括Google Bigtable、Microsoft Azure Table Storage、Amazon DynamoDB等。4 分布式数据库分布式数据库是从传统的基于单机的关系型数据库扩展而来,用于存储大规模的结构化数据。分布式数据库采用二维表格组织数据,提供经典的SQL关系查询语言,支持嵌套子查询、多表关联等复杂操作,并提供数据库事务以及并发控制
5、。关系数据库是目前为止最为成熟的存储技术,功能丰富,有完善的商业关系数据库软件的支持。随着大数据时代的到来,为了解决关系数据库面临的可扩展性、高并发以及性能方面的问题,各种各样的非关系数据库不断涌现,这类被称为NoSQL的系统,可以理解为“Not Only SQL”的含义。图5.2 分布式文件系统的发展5.1.3 分布式存储的发展历史120世纪80年代的代表:AFS、NFS、Coda(1)AFS:1983年CMU和IBM共同合作开发了Andrew文件系统(Andrew File System,AFS)(2)NFS:1985年,Sun公司基于UDP开发了网络共享文件系统(Network File
6、 System,NFS)(3)Coda:1987年,CMU在基于AFS的基础上开发了Coda文件系统5.1.3 分布式存储的发展历史220世纪90年代的代表:XFS、Tiger Shark、SFS5.1.3 分布式存储的发展历史XFS:加州大学伯克利分校(UC Berkeley)开发了XFS文件系统,克服了以往分布式文件系统只适用于局域网而不适用于广域网和大数据存储的问题,提出了广域网进行缓存较少网络流量设计思想,采用层次命名结构,减少Cache一致性状态和无效写回Cache一致性协议,从而减少了网络负载,在当时获得了一定的成功。320世纪末的代表:(1)SAN(Storage Area Ne
7、twork)(2)NAS(Network Attached Storage)(3)GPFS(General Parallel File System)(4)GFS(Google File System)(5)HDFS(Hadoop Distributed File System)5.1.3 分布式存储的发展历史(1)SAN(Storage Area Network)通过将磁盘存储系统和服务器直接相连的方式提供一个易扩展、高可靠的存储环境,高可靠的光纤通道交换机和光纤通道网络协议保证各个设备间链接的可靠性和高效性。设备间的连接接口主要是采用FC或者SCSI。图5.3 SAN网络结构(2)NAS(
8、Network Attached Storage)通过基于TCP/IP的各种上层应用在各工作站和服务器之间进行文件访问,直接在工作站客户端和NAS文件共享设备之间建立连接,NAS隐藏了文件系统的底层实现,注重上层的文件服务实现,具有良好的扩展性图5.4 NAS存储网络结构(3)GPFS(General Parallel File System)GPFS是IBM公司开发的共享文件系统,起源于IBM SP系统上使用的虚拟共享磁盘技术。GPFS是一个并行的磁盘文件系统,它保证在资源组内的所有节点可以并行访问整个文件系统。GPFS允许客户共享文件,而这些文件可能分布在不同节点的不同硬盘上。它同时还提供
9、了许多标准的UNIX文件系统接口,允许应用不需修改或者重新编辑就可以在其上运行。(4)GFS(Google File System)图5.5 GFS架构图(5)HDFS(Hadoop Distributed File System)图5.6 HDFS总体结构示意图421世纪的代表:Cassandra、HBase、MongoDB、DynamoDB(1)Cassandra:是一套开源分布式NoSQL数据库系统,最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。(2)HBase:列存储数据库,擅长以
10、列为单位读取数据,面向列存储的数据库具有高扩展性,即使数据大量增加也不会降低相应的处理速度,特别是写入速度。5.1.3 分布式存储的发展历史421世纪的代表:Cassandra、HBase、MongoDB、DynamoDB(3)MongoDB:文档型数据库同键值(Key-Value)型的数据库类似,是键值型数据库的升级版,允许嵌套键值,Value值是结构化数据,数据库可以理解Value的内容,提供复杂的查询,类似于RDBMS的查询条件。(4)DynamoDB:Amazon公司的一个分布式存储引擎,是一个经典的分布式Key-Value存储系统,具备去中心化、高可用性、高扩展性的特点。5.1.3
11、分布式存储的发展历史5.2 文件存储5.2.1 单机文件系统5.2.2 网络文件系统5.2.3 并行文件系统5.2.4 分布式文件系统5.2.5 高通量文件系统5.2.1 单机文件系统现代文件系统的起源要追溯到分时操作系统时期。1965年,在Multics操作系统中首次提出使用树型结构来组织文件、目录以及访问控制的思想。这些思想被后来的UNIX文件系统(1973年)所借鉴。从结构上看,它包括四个模块:引导块、超级块、索引节点和数据块。为解决UNIX文件系统I/O性能低的问题,先后出现了1984年的快速文件系统(Fast File System,FFS)和1992年的日志结构文件系统(Log-S
12、tructured File,LFS)。20世纪90年代至今,出现了很多单机文件系统。包括SGI公司于1994年发布的XFS,以及Sun公司于2004年发布的ZFS。5.2.2 网络文件系统NFS(Network File System,网络文件系统)由Sun公司在1984年开发,被认为是第一个广泛应用的现代网络文件系统。NFS的设计目标是提供跨平台的文件共享系统。由于NFS的实现和设计思想都相对简单,该协议很快被纳入到RFC标准,并开始大量应用。然而,NFS单一服务器的结构也决定了它的扩展性有限。AFS(Andrew File System)是美国卡耐基梅隆大学1982年开发的分布式文件系统
展开阅读全文