21世纪高等院校云计算和大数据人才培养规划教材

云存储系统——Swift的原理、架构及实践

分享 推荐 0 收藏 11 阅读 3.4K
武志学 , 赵阳 , 马超英 (编著) 978-7-115-37815-6

关于本书的内容有任何问题,请联系 王威

全国第一套完整的云计算和大数据专业教材
国内著名云计算专家执笔
配套完整的教学辅助资料

在当前的云计算大数据时代,如何能够安全可靠低成本的存储和使用海量数据是各个企业面临的一个大问题。云存储是通过采用网格、分布式文件系统、服务器虚拟化、集群应用等技术,将网络中海量的异构存储设备构成可弹性扩展、低成本、低能耗的共享存储资源池,并提供数据存储访问、处理功能的一个系统服务。企业和个人都可以通过一个简单的Web服务接口,在任何时间、任何地点存储和检索任意数量的数据,获得高可用、高可靠的数据存储以及稳定廉价的基础存储设施。
本书不仅从理论上介绍了云存储系统的起因、特点、原理、架构和使用场景,更是通过深入浅出地讲解当前国际上最热门的开源云存储系统Swift的原理、架构和使用,使学生在掌握云存储理论知识的同时,能够完全了解、搭建、维护Swift云存储系统,以及开发基于Swift的各类应用。
¥32.00 ¥27.20 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书主要介绍了云存储的起源、概念及特点,文件系统、块存储系统和对象存储系统的原理和使用场景,Swift云存储系统的原理、特性及架构,Swift云存储系统的搭建和维护,Swift云存储系统的各种使用接口;基于Swift的应用开发等方面内容,不仅从理论上介绍了云存储系统的起因、特点、原理、架构和使用场景,更是通过深入浅出地讲解当前国际上最热门的开源云存储系统Swift的原理、架构和使用,使学生在掌握云存储理论知识的同时,能够完全了解、搭建、维护Swift云存储系统,以及开发基于Swift的各类应用。

目录

目 录
第 1章 云存储概述 - 2 -
1.1云存储起源 - 2 -
1.1.1云存储技术起源 - 2 -
1.1.2云存储服务起源 - 3 -
1.2云存储概念 - 4 -
1.3云存储的特点 - 4 -
第 2章 对象存储系统 - 9 -
2.1非结构化数据存储 - 9 -
2.1.1什么是非结构化数据 - 9 -
2.1.2非结构化数据的存储要求 - 10 -
2.1.3存储系统的种类 - 10 -
2.1.4传统的共享存储方法的缺点 - 10 -
2.2 对象存储系统 - 12 -
2.2.1对象存储的产生 - 12 -
2.2.2对象存储的基本概念 - 12 -
2.2.3对象存储的关键特性与价值 - 13 -
2.2.3对象存储的主要应用场景 - 14 -
第3章 SWIFT简介 - 17 -
3.1 SWIFT的开发历史 - 17 -
3.2 SWIFT的特性 - 17 -
3.2.1极高的数据持久性 - 17 -
3.2.2可扩展性 - 18 -
3.2.3高并发 - 18 -
3.2.4完全对称的系统架构 - 18 -
3.2.5硬件设备要求低 - 18 -
3.2.6开发的友好性 - 18 -
3.2.7管理友好性 - 19 -
3.3 SWIFT应用场景 - 19 -
3.3.1常见案例介绍 - 19 -
3.3.2存储用于数据分析 - 19 -
3.3.3备份、归档和灾难恢复 - 19 -
3.3.4静态网站托管 - 20 -
3.4 CAP理论简介 - 20 -
3.4.1 CAP理论 - 20 -
3.4.2一致性种类 - 20 -
3.4.4CAP理论的应用 - 21 -
第4章 SWIFT的工作原理 - 25 -
4.1核心概念 - 25 -
4.1.1 Swift URL - 25 -
4.1.2账号(Accounts) - 25 -
4.1.3容器(Containers) - 25 -
4.1.4对象(Objects) - 26 -
4.1.5 Swift API - 26 -
4.2 SWIFT的总体架构 - 26 -
4.2.1代理服务器(Proxy Server) - 27 -
4.2.2存储服务器(Storage Servers) -27 -
4.3 SWIFT的工作原理 - 28 -
4.3.1虚节点 - 29 -
4.3.2 The Ring(环) - 29 -
4.3.3一致性服务器(Consistency Servers) - 30 -
4.3.4区域(Zones) - 32 -
4.3.5地区(Regions) - 32 -
4.3.6数据存储点选择算法 - 33 -
4.4使用场景举例 - 33 -
4.4.1上传(PUT) - 33 -
4.4.2下载(GET) - 34 -
4.5总结 - 35 -
第5章 SWIFT的使用 - 38 -
5.1命令行客户端 - 38 -
5.1.1安装 - 38 -
5.1.2认证 - 38 -
5.1.3访问控制 - 40 -
5.1.4访问容器和对象 - 40 -
5.1.5 swift CLI命令清单 - 42 -
5.2存储服务的HTTP API - 43 -
5.2.1认证 - 43 -
5.2.2存储账号服务 - 45 -
5.2.3存储容器服务 - 49 -
5.2.4存储对象服务 - 54 -
5.3利用CURL使用SWIFT存储服务 - 58 -
5.3.1 curl的安装 - 59 -
5.3.2 curl简单使用 - 59 -
5.3.3认证 - 59 -
5.3.4获取集群存储使用情况 - 60 -
5.3.5创建容器和获取容器列表 - 60 -
5.3.6分页返回容器列表 - 61 -
5.3.7内容格式 - 62 -
5.3.8获取容器的元数据 - 63 -
5.3.9删除容器 - 63 -
5.3.10创建对象 - 63 -
5.3.11分页返回对象列表 - 64 -
5.3.12下载、复制和删除对象 - 65 -
5.3.13对象元数据 - 66 -
5.4总结 - 67 -
第6章 SWIFT的特性 - 70 -
6.1创建大对象 - 70 -
6.1.1动态大对象 - 70 -
6.1.2静态大对象 - 71 -
6.1.3静态和动态大对象的比较 - 72 -
6.2 许可和访问控制表 - 73 -
6.3多版本对象 - 74 -
6.4失效对象 - 76 -
6.5客户元数据 - 76 -
6.6总结 -77-
第7章 使用JAVA开发SWIFT应用 - 80 -
7.1 JCLOUDS简介 - 80 -
7.1.1 jclouds的特性 - 80 -
7.1.2 BlobStore简介 - 81 -
7.1.3 BlobStore的核心概念 - 81 -
7.2 JCLOUDS-SWIFT的安装 - 82 -
7.2.1 jclouds简介 - 82 -
7.2.2 jclouds安装 - 82 -
7.3BLOBSTORE API - 84 -
7.3.1连接 - 84 -
7.3.2获取BlobStore接口 - 85 -
7.3.3容器操作命令 - 85 -
7.3.4 blob操作命令 - 86 -
7.3.5使用 BlobStore API - 86 -
7.4使用BLOBSTORE API的功能 - 93 -
7.4.1上传大型数据 - 94 -
7.4.2大型列表 - 95 -
7.4.3目录标识 - 95 -
7.4.4Content Disposition - 95 -
7.5 SWIFTCLIENT 接口 - 96 -
7.5.1 SwiftClient接口简介 - 96 -
7.5.2 SwiftClient接口使用 - 97 -
第8章 SWIFT的实现原理 - 103 -
8.1环(RING)的实现原理 - 103 -
8.1.1普通Hash算法与场景分析 - 103 -
8.1.2一致性哈希算法 - 104 -
8.1.3 虚节点(Partition) - 106 -
8.1.4 副本(Replica) - 108 -
8.1.5分区(Zone) - 110 -
8.1.6权重(Weight) - 110 -
8.1.7小结 - 110 -
8.2环的数据结构 - 110 -
8.3存储节点的实现 - 111 -
8.3.1对象(objects)目录 - 112 -
8.3.2帐号(accounts)目录 - 115 -
8.3.3容器(containers)目录 - 118 -
8.3.4临时(tmp)目录 - 120 -
8.3.5 async_pending目录 - 120 -
8.3.6隔离(quarantined)目录 - 122 -
8.3.7小结 - 123 -
8.4容器间同步的实现 - 123 -
8.4.1简介 - 123 -
8.4.2设置容器同步 - 124 -
8.4.3容器同步的实现 - 125 -
8.5总结 - 127 -
第9章 SWIFT的单机搭建 - 129 -
9.1安装说明 - 129 -
9.1.1安装环境 - 130 -
9.1.2单机版Swift结构 - 130 -
9.2环境准备 - 131 -
9.2.1系统要求 - 131 -
9.2.2更新配置操作系统 - 131 -
9.3安装代理(PROXY)节点 - 132 -
9.3.1创建swift目录 - 132 -
9.3.2创建swift.conf文件 - 133 -
9.3.3创建Swift服务 - 133 -
9.3.4创建SSL自签名证书 - 133 -
9.3.5更改memcached监听地址 - 133 -
9.3.6创建代理节点配置文件 - 133 -
9.3.7生成相关ring以及builder文件 - 134 -
9.4安装存储节点 - 135 -
9.4.1安装存储服务相关包 - 135 -
9.4.2配置各个存储节点 - 135 -
9.4.3更改rsyncd.conf文件 - 140 -
9.4.4设置rsyncd文件 - 141 -
9.4.5建立存储点 - 141 -
9.5安装成功验证 - 141 -
9.5.1检测swift运行状态 - 141 -
9.5.2上传和列出文件 - 142 -
9.5.3下载文件 - 142 -
9.6常见问题说明 - 142 -
第 10章 SWIFT的多机搭建 - 145 -
10.1基本结构和术语 - 145 -
10.2安装环境准备 - 146 -
10.2.1操作系统配置 - 146 -
10.2.2添加下载源 - 146 -
10.2.3创建Swift用户 - 147 -
10.2.4创建Swift的工作目录 - 147 -
10.3安装代理节点 - 148 -
10.3.1安装代理节点Proxy - 148 -
10.3.2创建工作目录 - 148 -
10.3.3配置memched监听默认端口 - 148 -
10.3.4创建swift.conf文件

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

武志学,山西人,北京科技大学学士、硕士,剑桥大学三一学院博士。武志学,因其学习优异,本科毕业后即留北京科技大学任教,并推荐给北京大学著名计算机教授杨芙清做代培研究生。
1989年,武志学获得了英国计算机ICL公司给剑桥大学计算机系的奖学金,进入了著名的三一学院攻读计算机博士。获得博士学位后,武志学在英国纽卡斯尔大学计算机系做了2年的研究院士。在此期间参与了多个欧洲共同体有关大型计算机分布式系统软件容错的研究项目。
1995年,武志学进入了当时研发欧洲最大分布式系统ANSA的APM公司,把多年在大型数据库和分布式系统的研究成果应用到实际系统中。
1998年APM公司被美国思杰(Citrix Systems)公司购买。在美国思杰公司,武志学担任高级/主任研究员,负责对新技术的分析和对公司中远期产品研发,并且参加了和领导了多个产品的设计和研发。并获得多项美国和英国专利。
近年来,武志学在美国思杰公司主要致力于计算机虚拟技术和云技术的研究,并参与着国际云平台OpenStack以及Cloud Foundry研发。
[1] 现在,武志学成为成都国腾实业集团有限公司的CTO,国腾云计算研究中心主任,电子科大成都学院云计算系主任。

同系列书

  • Hadoop大数据处理技术基础与实践

    安俊秀 王鹏 靳宇倡

    全书共有12章,从Hadoop起源开始,介绍了Hadoop的安装和配置,并对Hadoop的组件分别进行了介绍,...

    ¥45.00
  • 云计算虚拟化技术与应用

    王培麟 姚幼敏 梁同乐 詹增荣 钟伟成

    全书共11章,分为理论篇、技术篇和实战篇三个部分。本书将虚拟化技术与应用融为一体,较为系统地介绍了虚拟化技术发...

    ¥39.80
  • 云计算技术与应用基础

    刘志成 林东升 彭勇

    本书从云计算技术与应用的8个维度对云计算技术基础进行了全面介绍,内容包括云概述、云标准、云存储、云服务、云桌面...

    ¥45.00
  • 大数据导论 思维、技术与应用

    武志学

    本书将基本概念与实例相结合,由浅入深、循序渐进地对大数据思维、技术和应用做了全面系统的介绍。全书共12章,分为...

    ¥49.80
  • 大数据技术与应用基础

    陈志德 曾燕清 李翔宇

    本书在介绍大数据发展背景、特点及主要技术层面的基础上,对大数据的数据采集、数据存储、常见计算模式和典型系统工具...

    ¥39.80

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部