图书目录

第1章绪论/1

1.1分布式计算与分布式系统/1

1.1.1分布式计算简介/1

1.1.2分布式系统的实例/2

1.1.3分布式系统的目标/4

1.2云计算/5

1.2.1简介/5

1.2.2云计算的优点和缺点/7

1.3本书概要/10

1.4小结/11

习题/12第一篇分布式系统第2章分布式系统入门/15

2.1分布式系统的定义/15

2.1.1分布式与集中式/15

2.1.2分布式与计算机网络/16

2.1.3分布式系统层次结构/17

2.1.4分布式系统分类/18

2.2分布式系统中的软硬件/19

2.2.1硬件/19

2.2.2软件/20

2.3分布式系统中的主要特征/21

2.3.1容错性/21

2.3.2安全性/22

2.4小结/23

习题/23第3章客户—服务器端架构/25

3.1客户—服务器模式的基本概念和优点/25

3.1.1客户—服务器模式的基本概念/25

3.1.2客户—服务器模式优点/26

3.2客户—服务器端架构和体系结构/26

3.2.1面向连接服务与无连接服务/26

3.2.2应用程序的层次结构/27

3.2.3客户—服务器模型体系结构/29

3.3客户—服务器模型的进程通信/32

3.3.1进程通信中客户—服务器模型的

实现方法/32

3.3.2客户—服务器模型的进程

通信协议/34

3.4客户—服务器端模型的变种/37

3.4.1移动代码/37

3.4.2移动代理/38

3.4.3网络计算机/39

3.4.4瘦客户/40

3.4.5移动设备和自组网络/40

3.5小结/41

习题/42第二篇云计算技术第4章分布式云计算概述/45

4.1云计算入门/45

4.1.1云计算的定义/45

4.1.2云计算的发展历史/46

4.1.3云计算的特点/48

4.2云服务/49

4.2.1使用云平台的理由/49

4.2.2云平台的服务类型/50

4.2.3云平台服务的安全性/51

4.2.4云平台服务的供应商/51

4.2.5云平台服务的优势和面临的挑战/54

4.3云计算比较/55

4.3.1集群计算和云计算/55

4.3.2网格计算和云计算/57

4.3.3效用计算和云计算/59

4.3.4并行计算、分布计算和云计算/60

4.4小结/61

习题/62第5章Google公司的三大技术/63

5.1Google文件系统/63

5.1.1前言/63

5.1.2设计概要/64

5.1.3系统交互/68

5.1.4主控服务器操作/69

5.1.5容错和检测/70

5.2Bigtable技术/71

5.2.1Bigtable简介/71

5.2.2Bigtable数据模型/72

5.2.3API/73

5.2.4Bigtable所依赖的框架/74

5.2.5Bigtable实现的关键/75

5.2.6Bigtable性能优化方案/78

5.2.7Bigtable应用实例/81

5.2.8经验总结/83

5.3MapReduce技术/84

5.3.1前言/84

5.3.2编程模型/85

5.3.3实例/85

5.3.4输入输出类型/85

5.3.5更多实例/86

5.3.6MapReduce执行/86

5.4小结/89

习题/89第6章Yahoo!公司的云平台技术/91

6.1什么是PNUTS——灵活通用的表存储平台/91

6.1.1前言/91

6.1.2PNUTS概述/92

6.1.3PNUTS的设计和功能/93

6.1.4PNUTS的系统结构/93

6.1.5PNUTS的数据存储和检索/94

6.1.6副本和一致性/95

6.1.7其他数据库系统功能/97

6.1.8数据库服务/98

6.2Pig系统简述/98

6.2.1Pig的定义/98

6.2.2Pig简介/98

6.3ZooKeeper系统简述/99

6.3.1什么是ZooKeeper/99

6.3.2ZooKeeper项目介绍/99

6.4小结/100

习题/100第7章Greenplum数据库技术/101

7.1什么是Greenplum/101

7.2Greenplum 分析数据库/101

7.3Greenplum数据库的体系结构/102

7.3.1无共享大规模并行处理

体系结构/102

7.3.2Greenplum的分段单元服务/103

7.3.3数据分布和并行扫描/103

7.3.4容错能力和先进的复制技术/104

7.3.5全局并行查询优化技术/105

7.3.6gNet软件互联/105

7.3.7并行数据流引擎/106

7.3.8统一的分析处理/107

7.3.9基于标准,建立在开源PostgreSQL

数据库系统之上/107

7.4Greenplum的关键特性和优点/107

7.5小结/108

习题/108第8章Amazon公司的Dynamo技术/109

8.1Dynamo初步介绍/109

8.2Dynamo的背景资料/110

8.2.1系统的假设和需求/110

8.2.2服务层协议/111

8.2.3设计考虑因素/112

8.3Dynamo系统体系结构/113

8.3.1系统接口/114

8.3.2分割算法/114

8.3.3复制/115

8.3.4数据版本/116

8.3.5Dynamo中的get()和

put()的操作/118

8.3.6临时性故障处理/118

8.3.7处理永久的错误: 同步复制/119

8.3.8成员关系和故障检测/119

8.3.9增加/删除存储结点/120

8.4小结/121

习题/121第9章IBM公司的云计算技术/122

9.1IBM公司的云计算概述/122

9.2云风暴/123

9.3智能商业服务/124

9.4智慧地球计划/124

9.5Z系统/125

9.6虚拟化的动态基础架构技术/126

9.6.1虚拟化/127

9.6.2虚拟化的云计算技术/128

9.6.3实现虚拟化策略的关键解决

方案/129

9.7小结/132

习题/132第三篇分布式云计算的程序开发第10章Hadoop系统/135

10.1Hadoop简介/135

10.1.1Hadoop系统的由来/135

10.1.2Hadoop的作用/135

10.1.3Hadoop的优势/136

10.1.4Hadoop应用现状及发展

趋势/136

10.2Hadoop项目及其结构/137

10.3Hadoop体系结构/139

10.4Hadoop集群安全策略/141

10.5小结/143第11章MapReduce详解/145

11.1MapReduce简介/145

11.2MapReduce计算模型/146

11.2.1MapReduce Job/146

11.2.2Hadoop中hello world程序/147

11.2.3运行MapReduce应用程序/150

11.2.4新的API/152

11.2.5MapReduce的数据流和

控制流/154

11.3MapReduce工作机制/155

11.3.1MapReduce作业的执行流程/155

11.3.2提交作业/156

11.3.3初始化作业/158

11.3.4分配任务/160

11.3.5执行任务/162

11.3.6更新任务执行进度和状态/163

11.3.7完成作业/164

11.4开发MapReduce应用程序/164

11.4.1系统参数的配置/165

11.4.2配置开发环境/167

11.4.3编写MapReduce程序/168

11.4.4本地测试/170

11.4.5在集群上运行/170

11.5小结/173第12章HDFS详解/174

12.1HDFS简介/175

12.2HDFS的相关概念/176

12.3HDFS的体系结构/177

12.4HDFS的基本操作/179

12.4.1HDFS的命令行操作/179

12.4.2HDFS的Web界面/180

12.5HDFS中的读写数据流/180

12.5.1文件的读取/180

12.5.2文件的写入/182

12.5.3一致性模型/183

12.6小结/184第13章基于HBase系统的开发/186

13.1HBase简介/186

13.2HBase体系结构/187

13.2.1HRegion/187

13.2.2HRegion Server/188

13.2.3HBase Master/189

13.2.4ROOT表和META表/189

13.2.5HBase与ZooKeeper/190

13.3HBase数据模型/190

13.3.1数据模型/190

13.3.2概念视图/191

13.3.3物理视图/191

13.4HBase与HDFS/192

13.5Java API与HBase编程/192

13.5.1Java API简介/192

13.5.2HBase编程/198

13.6小结/201第14章基于Hive系统的开发/202

14.1Hive简介/202

14.1.1Hive的数据存储/202

14.1.2Hive的元数据存储/204

14.2Hive QL/204

14.2.1数据定义(DDL)操作/204

14.2.2数据管理(DML)操作/214

14.2.3SQL操作/216

14.2.4Hive QL使用实例/219

14.3Hive网络接口/221

14.3.1Hive网络接口配置/221

14.3.2Hive网络接口操作实例/222

14.4Hive编程/225

14.5Hive优化/228

14.6小结/230第15章基于Google App Engine系统的开发/231

15.1Google App Engine简介/231

15.1.1Google App Engine

基本功能/231

15.1.2Google App Engine

环境配置/233

15.1.3Google App Engine

资源配额/235

15.2如何使用Google App Engine/235

15.2.1Google App Engine Java SDK

使用/236

15.2.2Google App Engine Python SDK

使用/250

15.3基于Google App Engine的应用程序开发

实例/256

15.4小结/261

习题/261第16章基于Windows Azure系统的开发/263

16.1微软公司的云计算概述/263

16.1.1微软公司的云计算战略/263

16.1.2微软公司的动态云计算解决

方案/264

16.2Windows Azure平台简介/267

16.2.1Windows Azure/268

16.2.2SQL Azure/271

16.2.3.NET 服务/273

16.3Windows Azure服务使用/275

16.3.1Windows Azure环境配置/276

16.3.2开发GuestBook应用程序/276

16.3.3发布GuestBook应用程序/287

16.4小结/289

习题/290附录A云计算在线检测平台/291

A.1平台介绍/291

A.2结构和功能/291

A.2.1前台用户接口的结构和功能/292

A.2.2后台程序运行的结构和功能/293

A.2.3平台程序过滤功能/293

A.3检测流程/295

A.4使用介绍/296

A.4.1功能使用/296

A.4.2返回结果介绍/297

A.4.3使用注意事项/298

A.5小结/299技术名词索引/300参考文献/306后记/316