大规模分布式存储系统:原理解析与架构实战.pdf

大规模分布式存储系统:原理解析与架构实战.pdf

ID:57308696

大小:1.96 MB

页数:64页

时间:2020-08-11

大规模分布式存储系统:原理解析与架构实战.pdf_第1页
大规模分布式存储系统:原理解析与架构实战.pdf_第2页
大规模分布式存储系统:原理解析与架构实战.pdf_第3页
大规模分布式存储系统:原理解析与架构实战.pdf_第4页
大规模分布式存储系统:原理解析与架构实战.pdf_第5页
大规模分布式存储系统:原理解析与架构实战.pdf_第6页
大规模分布式存储系统:原理解析与架构实战.pdf_第7页
大规模分布式存储系统:原理解析与架构实战.pdf_第8页
大规模分布式存储系统:原理解析与架构实战.pdf_第9页
大规模分布式存储系统:原理解析与架构实战.pdf_第10页
资源描述:

《大规模分布式存储系统:原理解析与架构实战.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章概述Google、Amazon、Alibaba等互联网公司的成功催生了云计算和大数据两大热门领域。无论是云计算、大数据还是互联网公司的各种应用,其后台基础设施的主要目标都是构建低成本、高性能、可扩展、易用的分布式存储系统。虽然分布式系统研究了很多年,但是,直到近年来,互联网大数据应用的兴起才使得它大规模地应用到工程实践中。相比传统的分布式系统,互联网公司的分布式系统具有两个特点:一个特点是规模大,另一个特点是成本低。不同的需求造就了不同的设计方案,可以这么说,Google等互联网公司重新定义了大规模分布式系统。本

2、章介绍大规模分布式系统的定义与分类。1.1分布式存储概念大规模分布式存储系统的定义如下:“分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务。”分布式存储系统具有如下几个特性:可扩展。分布式存储系统可以扩展到几百台甚至几千台的集群规模,而且,随着集群规模的增长,系统整体性能表现为线性增长。低成本。分布式存储系统的自动容错、自动负载均衡机制使其可以构建在普通PC机之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动运维。高性能。无论是针对整个集群还是单台服务器,都要求分

3、布式存储系统具备高性能。易用。分布式存储系统需要能够提供易用的对外接口,另外,也要求具备完善的监控、运维工具,并能够方便地与其他系统集成,例如,从Hadoop云计算系统导入数据。分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库,如下所示:2第1章概述数据分布:如何将数据分布到多台服务器才能够保证数据分布均匀?数据分布到多台服务器后如何实现跨服务器读写操作?一致性:如何将数据的多个副本复制到多台服务器

4、,即使在异常情况下,也能够保证不同副本之间的数据一致性?容错:如何检测到服务器故障?如何自动将出现故障的服务器上的数据和服务迁移到集群中其他服务器?负载均衡:新增服务器和集群正常运行过程中如何实现自动负载均衡?数据迁移的过程中如何保证不影响已有服务?事务与并发控制:如何实现分布式事务?如何实现多版本并发控制?易用性:如何设计对外接口使得系统容易使用?如何设计监控系统并将系统的内部状态以方便的形式暴露给运维人员?压缩/解压缩:如何根据数据的特点设计合理的压缩/解压缩算法?如何平衡压缩算法节省的存储空间和消耗的CPU计算资

5、源?分布式存储系统挑战大,研发周期长,涉及的知识面广。一般来讲,工程师如果能够深入理解分布式存储系统,理解其他互联网后台架构不会再有任何困难。1.2分布式存储分类分布式存储面临的数据需求比较复杂,大致可以分为三类:非结构化数据:包括所有格式的办公文档、文本、图片、图像、音频和视频信息等。结构化数据:一般存储在关系数据库中,可以用二维关系表结构来表示。结构化数据的模式(Schema,包括属性、数据类型以及数据之间的联系)和内容是分开的,数据的模式需要预先定义。半结构化数据:介于非结构化数据和结构化数据之间,HTML文档就

6、属于半结构化数据。它一般是自描述的,与结构化数据最大的区别在于,半结构化数据的模式结构和内容混在一起,没有明显的区分,也不需要预先定义数据的模式结构。不同的分布式存储系统适合处理不同类型的数据,本书将分布式存储系统分为四类:分布式文件系统、分布式键值(Key-Value)系统、分布式表格系统和分布式数据库。1.分布式文件系统互联网应用需要存储大量的图片、照片、视频等非结构化数据对象,这类数据以对象的形式组织,对象之间没有关联,这样的数据一般称为Blob(BinaryLargeObject,二进制大对象)数据。第1章 概

7、  述 3分布式文件系统用于存储Blob对象,典型的系统有FacebookHaystack以及TaobaoFileSystem(TFS)。另外,分布式文件系统也常作为分布式表格系统以及分布式数据库的底层存储,如谷歌的GFS(GoogleFileSystem,存储大文件)可以作为分布式表格系统GoogleBigtable的底层存储,Amazon的EBS(ElasticBlockStore,弹性块存储)系统可以作为分布式数据库(AmazonRDS)的底层存储。总体上看,分布式文件系统存储三种类型的数据:Blob对象、定长块

8、以及大文件。在系统实现层面,分布式文件系统内部按照数据块(chunk)来组织数据,每个数据块的大小大致相同,每个数据块可以包含多个Blob对象或者定长块,一个大文件也可以拆分为多个数据块,如图1-1所示。分布式文件系统将这些数据块分散到存储集群,处理数据复制、一致性、负载均衡、容错等分布式系统难题,并将用户对Blob对象、定长块以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。