本书是从大数据和云计算相结合的视角,系统地介绍大数据云架构技术与实践的专业图书,全书分为五篇19章,分别介绍大数据云计算的概论、关键技术、体系架构、云架构实践与编程和安全。本书层次清晰,结构合理,主要内容包括大数据云计算关系、大数据应用价值、分布式计算、NoSQL数据库、机器学习、虚拟化、Docker容器、Web 2.0、绿色数据中心、基础设计即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、容器即服务(CaaS)、大数据云架构搭建、Spark大数据编程、大数据和云计算面临的安全威胁、保障大数据安全、应用大数据保障安全等。
本书可作为高年级本科生和研究生教材,也可作为广大科学技术人员和计算机爱好者的参考书。
作者着眼于大数据和云计算有机结合的视角,从理论探索和应用实践两个方面来撰写本书,适合对大数据和云计算具有初步认识并希望对大数据云架构进行深入、全面了解,并进行关实践的计算机信息相关专业高年级本科生使用,同时本书也将成为广大专业工程技术人员不可缺少的参考资料。
前言
移动互联网、电子商务及社交媒体的快速发展使得人类需要面临的数据量呈指数增长。根据IDC《数字宇宙》(Digital Universe)研究报告显示,2020年全球新建和复制的信息量将超过40ZB,是当前的10倍;而中国的数据量则会在2020年超过8ZB,比当前增长20倍。数据量的飞速增长带来了大数据技术的发展和服务市场的繁荣,同时在学术界,关于大数据的科研工作如火如荼,越来越多的学者投入到大数据云计算研究之中,相关文献呈指数增长。不断积累的大数据包含着很多在小数据量时不具备的深度知识和价值,带来巨大的技术创新与商业机遇。大数据分析挖掘将为行业/企业带来巨大的商业价值,实现各种高附加值的增值服务,进一步提升行业/企业的经济效益和社会效益。谈到大数据,不可避免地要提及云计算,云计算结合大数据,这是时代发展的必然趋势。有人把云计算和大数据比作是一个硬币的两面。云计算是大数据的IT基础和平台,而大数据是云计算范畴内最重要、最关键的应用。大数据必然架构在云上才能高效运作并对外服务,两者之间缺一不可,相辅相成,相互促进。大数据云计算正在快速发展,相关技术热点也呈现百花齐放的局面,业界各大厂商纷纷制定相应的战略,新的概念、观点和产品不断涌现。大数据和云计算作为新一代IT技术变革的核心,必将成为广大学生、科技工作者构建自身IT核心竞争能力的战略机遇。因而作为高层次IT人才,学习大数据和云计算知识,掌握相关技术迫在眉睫。然而,大数据和云计算密切相关,当前国内外相关的资料还相当少,缺乏比较系统完整的论述。目前在我国急需要一本教材能够全面而又系统地讲解大数据和云计算,普及大数据和云计算知识,推广云计算中大数据的应用,解决大数据架构的实际问题,进而培养高层次大数据人才。在这样的背景下,作者着眼于大数据和云计算有机结合的视角,从理论探索和应用实践两个方面来撰写本书,适合对大数据和云计算具有初步认识并希望对大数据云架构进行深入、全面了解,并进行实践的计算机信息相关专业高年级本科生使用,同时本书也将成为广大专业工程技术人员不可缺少的参考资料。本书分为5篇19章,第1~第3章为大数据云计算概论篇,第4~第10章为大数据云计算关键技术篇,第11~第14章为云计算架构篇,第15和第16章为大数据云架构实践与编程篇,第17~第19章为大数据安全篇。各章内容如下:第1章大数据概述,介绍大数据产生背景,大数据发展历程,大数据概念和特点,大数据应用场景,大数据研究展望等内容。第2章大数据和云计算,介绍大数据和云计算的关系,云计算的概念,云计算的由来,云计算类型,云计算的商业模式。第3章大数据应用价值,介绍大数据的应用价值,数据的生成、分析、存储、分享、检索、消费都在大数据的生态系统中进行,应用大数据技术,让数据参与决策,发掘找到大数据真正有效的价值,进而改变人们的未来,革新生活模式,产生社会变革。第4章分布式计算框架,介绍构成大数据云计算的主要关键技术分布式计算技术,以及Hadoop、Spark、Flink等分布式大数据计算框架。第5章NoSQL数据库,介绍NoSQL(NoSQL = Not Only SQL),这是一项全新的数据库技术,然后引出分布式数据库的重要理论CAP,最后介绍HBase。第6章机器学习,介绍机器学习的概念、分类和发展历程,简要介绍多种机器学习算法。第7章虚拟化,介绍构成云计算的主要关键技术虚拟技术,它整合多种计算资源,实现架构动态化,并达到集中管理和动态使用物理资源及虚拟资源,以提高系统结构的弹性和灵活性,降低成本、改进服务、减少管理风险等目标。第8章Docker容器,介绍Docker容器相关的概念、优势、由来和实现原理。第9章Web 2.0,介绍构成云计算主要的关键技术Web 2.0,是因特网的一次理念和思想体系的升级换代,由原来自上而下的由少数资源控制者集中控制主导的因特网体系转变为自下而上的由广大用户集体智慧和力量主导的因特网体系。第10章绿色数据中心,介绍构成云计算的主要关键技术绿色数据中心,是指数据机房中的IT系统、机械、照明和电气等能取得最大化的能源效率和最小化的环境影响。第11章基础设施即服务,介绍云计算环境中的IaaS(Infrastructure as a Service),分析Amazon公司的IaaS案例。第12章平台即服务,介绍云计算环境中的PaaS(Platform as a Service),分析Google App Engine和Windows Azure Platform的PaaS案例。第13章软件即服务,介绍云计算环境中的SaaS(Software as a Service),分析Salesforce的SaaS案例。第14章容器即服务,介绍云计算环境中的CaaS(Container as a Service),阐述Kubernetes和Mesos容器调度框架,分析互联网公司SAE容器云和互联网公司去哪网容器云。第15章大数据云架构搭建,介绍分布式的Hadoop与Spark集群搭建和基于Docker容器的Spark大数据云架构。第16章Spark大数据编程,介绍使用Intellij IDEA构建Spark开发环境,并列举应用Spark计算框架的WordCount和基于Spark Streaming股票趋势预测案例。第17章大数据云计算面临的安全威胁,介绍大数据云计算面临的各种安全威胁,阐述不同行业大数据安全的需求,指出大数据安全应该包括保障大数据安全和大数据用于安全两个层面的含义。第18章保障大数据安全,介绍保障大数据安全的相关技术和相关实践。第19章应用大数据保障安全,介绍应用大数据保障安全,包括大数据安全检测及应用,安全大数据,基于大数据的网络态势感知和视频监控数据的安全应用等方面内容。在本书最后给出了相关的参考文献,有兴趣的读者可以进一步阅读。此外,关于虚拟化技术,作者认为普通虚拟化和容器虚拟化是完全不同的两种技术,大数据云平台多采用容器架构,所以Docker容器技术作为本书独立一章,并且在第4篇详细介绍基于Docker容器的大数据云架构实践。在方兴未艾的大数据云计算时代,统一的标准和解决方案还未成形,不同人在不同背景下的需求和观点是不一样的,我们花费一年多的时间努力编著本书,希望能提供比较深入的见解,每一个对大数据和云计算感兴趣的读者都能学有所得。更进一步,大数据和云计算是新一代IT技术变革的核心,是中国建立自己IT体系的战略机遇,阅读本书,期待读者既能从宏观角度更全面地认识大数据云架构,同时也能从微观技术实践角度接触大数据和云计算,更深入地学习和掌握大数据和云计算知识。本书适合于从头至尾阅读,也可以按照喜好和关注点挑选独立的章节阅读。希望本书的介绍能加深读者对云计算的理解。由于编者水平有限,书中不妥之处在所难免,恳请读者批评指正。编者2016年5月
目录
第1篇大数据云计算概论
第1章大数据概述
1.1大数据产生与发展
1.1.1大数据产生背景
1.1.2大数据发展历程
1.1.3当前大数据
1.2大数据概念与特征
1.2.1大数据概念
1.2.2大数据的特点
1.3大数据应用
1.3.1企业内部大数据应用
1.3.2物联网大数据应用
1.3.3面向在线社交网络大数据的应用
1.3.4医疗健康大数据应用
1.3.5群智感知
1.3.6智能电网
1.4大数据的研究与展望
1.5本章小结
第2章大数据和云计算
2.1大数据和云计算的关系
2.1.1大数据和云计算关系概述
2.1.2云计算是大数据处理的基础
2.1.3大数据是云计算的延伸
2.2云计算概念
2.2.1云的兴起
2.2.2云计算的定义及其特点
2.2.3云计算名称的来历
2.3云计算类型
2.3.1基础设施类
2.3.2平台类
2.3.3应用类
2.3.4以所有权划分云计算系统类型
2.4云计算商业模式
2.4.1商业模式是云计算的基石
2.4.2云计算的市场规模
2.4.3云计算商业模式分析
2.5本章小结
第3章大数据应用价值
3.1大数据在电子商务中的应用
3.1.1大数据是电子商务发展要素
3.1.2电子商务大数据的实用措施
3.1.3电子商务大数据的转型路径
3.2大数据在金融的应用
3.2.1大数据金融的提出
3.2.2大数据金融的功能
3.2.3大数据金融的挑战
3.2.4大数据金融创新
3.3大数据在媒体的应用
3.3.1传统媒体的不足
3.3.2大数据驱动传统媒体的升级
3.3.3大数据引领新媒体发展
3.4大数据在医疗上的应用
3.4.1大数据改进临床决策支持系统
3.4.2大数据助推医疗产品研发
3.4.3大数据催生新医疗服务模式
3.5大数据在教育上的应用
3.5.1大数据教育与传统教育的优势
3.5.2大数据教学模式的不断改善
3.5.3教育大数据市场的广阔前景
3.5.4大数据变革教育应用的实践措施
3.6本章小结
第2篇大数据云计算关键技术
第4章分布式计算框架
4.1分布式计算基本概念
4.1.1分布式计算与并行计算
4.1.2分布式计算和并行计算的比较
4.2Hadoop系统介绍
4.2.1Hadoop发展历程
4.2.2Hadoop使用场景和特点
4.2.3Hadoop项目组成
4.3分布式文件系统
4.3.1分布式文件系统概述
4.3.2HDFS架构
4.3.3HDFS设计特点
4.4MapReduce计算模型
4.4.1MapReduce概述
4.4.2MapReduce应用实例
4.4.3MapReduce实现和架构
4.5分布式协同控制
4.5.1常见分布式并发控制方法
4.5.2Google Chubby并发锁
4.6Spark计算框架
4.6.1Spark简介
4.6.2Spark生态系统
4.7Flink计算框架
4.7.1Flink简介
4.7.2Flink中的调度简述
4.7.3Flink的生态圈
4.8本章小结
第5章NoSQL数据库
5.1NoSQL数据库概述
5.1.1NoSQL数据库的4大分类
5.1.2数据库系统CAP理论和BASE理论
5.1.3NoSQL的共同特征
5.2Hbase数据库
5.2.1HBase简介
5.2.2HBase访问接口
5.2.3HBase数据模型
5.2.4MapReduce on HBase
5.2.5HBase系统架构
5.3本章小结
第6章机器学习
6.1机器学习概述
6.1.1机器学习分类
6.1.2机器学习发展历程
6.2机器学习常用的算法
6.2.1回归算法
6.2.2基于实例的算法
6.2.3正则化方法
6.2.4决策树算法
6.2.5贝叶斯方法
6.2.6基于核的算法
6.2.7聚类算法
6.2.8关联规则学习
6.2.9遗传算法
6.2.10人工神经网络
6.2.11深度学习
6.2.12降低维度算法
6.2.13集成算法
6.3本章小结
第7章虚拟化
7.1虚拟化概述
7.1.1虚拟化发展历史
7.1.2虚拟化技术的发展热点和趋势
7.1.3虚拟化技术的概念
7.2虚拟化的分类
7.2.1从实现的层次划分
7.2.2从应用的领域划分
7.3应用虚拟化
7.3.1应用虚拟化的使用特点
7.3.2应用虚拟化的优势
7.3.3应用虚拟化要考虑的问题
7.4桌面虚拟化
7.4.1桌面虚拟化优势
7.4.2桌面虚拟化使用条件
7.5服务器虚拟化
7.5.1服务器虚拟化架构
7.5.2CPU虚拟化
7.5.3内存虚拟化
7.5.4I/O虚拟化
7.6网络虚拟化
7.6.1传统网络虚拟化技术
7.6.2主机网络虚拟化
7.6.3网络设备虚拟化
7.7存储虚拟化
7.7.1存储虚拟化概述
7.7.2按照不同层次划分存储虚拟化
7.7.3按照实现方式不同划分存储虚拟化
7.8本章小结
第8章Docker容器
8.1Docker容器概述
8.1.1Docker容器的由来
8.1.2Docker定义
8.1.3Docker的优势
8.2Docker的原理
8.2.1Linux
Namespace(ns)
8.2.2Control
Groups(cgroups)
8.2.3Linux容器(LXC)
8.2.4AUFS
8.2.5Grsec
8.3Docker技术发展与应用
8.3.1Docker解决的问题
8.3.2Docker的未来发展
8.3.3Docker技术的局限
8.4本章小结
第9章Web 2.0
9.1Web 2.0产生背景和定义
9.1.1Web 2.0产生背景
9.1.2Web 2.0的概念
9.1.3Web 2.0和Web 1.0比较
9.1.4Web 2.0特征
9.2Web 2.0应用产品
9.2.1Web 2.0主要应用产品
9.2.2主要产品的区别
9.3Web 2.0相关技术
9.3.1Web 2.0的设计模式
9.3.2Web标准
9.3.3向Web标准过渡
9.4本章小结
第10章绿色数据中心
10.1绿色数据中心概述
10.1.1云数据中心发展阶段
10.1.2绿色数据中心架构
10.1.3云数据中心需要整合的资源
10.2数据中心管理和维护
10.2.1实现端到端、大容量、可视化的基础设施整合
10.2.2实现虚拟化、自动化的管理
10.2.3实现面向业务的应用管理和流量分析
10.3本章小结
第3篇云计算架构
第11章基础设施即服务
11.1IaaS概述
11.1.1IaaS的定义
11.1.2IaaS提供服务的方法
11.1.3IaaS云的特征
11.1.4IaaS和虚拟化的关系
11.2IaaS技术架构
11.2.1资源层
11.2.2虚拟化层
11.2.3管理层
11.2.4服务层
11.3IaaS云计算管理
11.3.1自动化部署
11.3.2弹性能力提供技术
11.3.3资源监控
11.3.4资源调度
11.3.5业务管理和计费度量
11.4Amazon云计算案例
11.4.1概述
11.4.2Amazon S3
11.4.3Amazon
Simple DB
11.4.4Amazon RDS
11.4.5Amazon SQS
11.4.6Amazon EC2
11.5本章小结
第12章平台即服务
12.1PaaS概述
12.1.1PaaS的由来
12.1.2PaaS的概念
12.1.3PaaS模式的开发
12.1.4PaaS推进SaaS时代
12.2PaaS架构
12.2.1PaaS的功能
12.2.2多租户弹性是PaaS的核心特性
12.2.3PaaS架构的核心意义
12.2.4PaaS改变未来软件开发和维护模式
12.3Google的云计算平台
12.3.1设计理念
12.3.2构成部分
12.3.3App Engine服务
12.4Windows Azure平台
12.4.1Windows
Azure操作系统
12.4.2SQL Azure
12.4.3.NET服务
12.4.4Live服务
12.4.5Windows
Azure Platform的用途
12.5本章小结
第13章软件即服务
13.1SaaS概述
13.1.1SaaS的由来
13.1.2SaaS的概念
13.1.3SaaS与传统软件的区别
13.1.4SaaS模式应用于信息化优势
13.1.5SaaS成熟度模型
13.2模式及实现
13.2.1SaaS商务模式
13.2.2SaaS平台架构
13.2.3SaaS服务平台的主要功能
13.2.4SaaS服务平台关键技术
13.3Salesforce云计算案例
13.3.1Salesforce云计算产品组成
13.3.2Salesforce云计算特点
13.4本章小结
第14章容器即服务
14.1容器云服务
14.1.1云平台架构层次
14.1.2容器云
14.1.3容器云的特点
14.2Kubernetes应用部署
14.2.1Kubernetes架构
14.2.2Kubernetes模型
14.2.3内部使用者的服务发现
14.2.4外部访问Service
14.3Mesos应用
14.3.1Mesos体系结构和工作流
14.3.2Mesos流程
14.3.3Mesos资源分配
14.3.4Mesos优势
14.4基于Kubernetes打造SAE容器云
14.4.1Kubernetes 的好处
14.4.2容器云网络
14.4.3容器云存储
14.5基于Mesos去哪儿网容器云
14.5.1背景
14.5.2应用Mesos构建容器云
14.5.3云环境构建
14.6本章小结
第4篇大数据云架构实践与编程
第15章大数据云架构搭建
15.1分布式Hadoop与Spark集群搭建
15.1.1Hadoop集群构建
15.1.2Spark集群构建
15.2基于Docker大数据云架构
15.2.1简介
15.2.2Docker和Weave搭建
15.2.3Hadoop集群镜像搭建
15.2.4集群部署与启动
15.2.5基于Ambari管理平台的镜像搭建
15.2.6桌面系统XFCE搭建
15.3本章小结
第16章Spark大数据编程
16.1Spark应用开发环境配置
16.1.1使用Intellij开发Spark程序
16.1.2使用Spark Shell开发运行Spark程序
16.2Spark大数据编程
16.2.1WordCount
16.2.2股票趋势预测
16.3本章小结
第5篇大数据安全
第17章大数据云计算面临的安全威胁
17.1大数据云计算的安全问题
17.1.1大数据基础设施安全威胁
17.1.2大数据存储安全威胁
17.1.3大数据云架构网络安全威胁
17.1.4大数据带来隐私问题
17.1.5针对大数据的高级持续性攻击
17.1.6其他安全威胁
17.2不同领域大数据的安全需求
17.2.1因特网行业
17.2.2电信行业
17.2.3金融行业
17.2.4医疗行业
17.2.5政府组织
17.3大数据安全内涵
17.3.1保障大数据安全
17.3.2大数据用于安全领域
17.4大数据安全研究方向
17.4.1大数据安全保障技术
17.4.2大数据安全应用技术
17.5本章小结
第18章保障大数据安全
18.1大数据安全的关键技术
18.1.1非关系数据库安全策略
18.1.2防范APT攻击
18.2大数据安全保障实践
18.2.1大数据采集与存储的安全防护
18.2.2大数据挖掘与应用的安全防护
18.2.3大数据安全审计
18.2.4大数据安全评估与安全管理
18.2.5数据中心的安全保障
18.3本章小结
第19章应用大数据保障安全
19.1大数据安全检测及应用
19.1.1安全检测与大数据的融合
19.1.2用户上网流量数据的挖掘与分析
19.2安全大数据
19.2.1数据挖掘方法
19.2.2挖掘目标及评估
19.3基于大数据的网络态势感知
19.3.1态势感知定义
19.3.2网络态势感知
19.3.3基于流量数据的网络安全感知
19.3.4基于大数据分析的网络优化
19.3.5网络安全感知应用实践
19.4视频监控数据的安全应用
19.4.1视频监控数据的处理需求
19.4.2视频监控数据挖掘技术
19.4.3海量视频监控数据的分析与处理
19.5本章小结
参考文献