当前课程知识点:大数据平台核心技术 >  第一讲 大数据和ODPS >  主讲人:武永卫 >  大数据处理平台概述(主讲人:武永卫)

返回《大数据平台核心技术》慕课在线视频课程列表

大数据处理平台概述(主讲人:武永卫)在线视频

大数据处理平台概述(主讲人:武永卫)

下一节:大数据平台ODPS(主讲人:程永)

返回《大数据平台核心技术》慕课在线视频列表

大数据处理平台概述(主讲人:武永卫)课程教案、知识点、字幕

各位好

我是清华大学

计算机系的武永卫

欢迎大家学习由清华大学

和阿里云公司

合作开设的大数据平台

核心技术课程

当前全球的数据量

每年正在以60%的速度递增

而据IDC统计

在2020年数据的总量

将达到40个ZB

很快我们也将跨入YB的时代

当前人 机 物三元世纪的

高度融合引发了数据规模的

爆炸式增长

和数据模式的高度复杂化

世界已经进入

网络化的大数据时代

也就是Big Data时代

我们注意到在这个大背景下

从公司战略到产业生态

从学术研究到生产实践

从城镇管理到国家治理

都因为大数据

而发生着本质的变化

而采集到的原始数据

往往是一些零金碎玉

缺乏逻辑

需要通过不同的逻辑方式

进行集成融合

从不同的角度解释和挖掘

才能得出前人所未知的大价值

因此如何从大数据中

得到大价值才是关键所在

为了实现大数据的大价值目标

大数据的技术体系

通常被分为3个层次

最下面的是大数据的

采集与预处理

中间是大数据的存储与管理

最上面是大数据的计算与分析

在这个技术体系当中

大数据平台向下需要管理

和使用好各种存储介质

计算设备以及各种其他的硬件

而向上需要支持

各种不同类型的大数据处理

和计算模式的需求

比如说需要支持图计算

流计算数处理

等多种不同模式

数据量大

是大数据平台的一个难关

但不是最大的挑战

比数据量大更难应对的是

数据的多样性 实时性

不确定性 关联性 抑制性

等各种特性

那么如何利用好这些特性

实现大数据的高效存储管理

和高价值挖掘分析

是大数据平台的核心任务

我们来看一个具体的例子

我们每天也都上网

也都使用像谷歌

facebook的这样的一些产品

而谷歌的广告推荐

正是基于用户所输入的

搜索关键词的精准营销

他利用了搜索关键词

相关的数据分析

进行更精准的广告推荐

类似的facebook也使用

基于像性别 年龄 地区等等

各种用户属性数据

进行广告的精准营销

而阿里小贷和余额宝

则是两个互联网金融的

典型案例

阿里小贷利用数据分析

进行用户贷款准入门槛

和授信额度的审核

余额宝则将社会零散的基金

聚集成为可支付的理财产品

这些都是以数据

为驱动的互联网商业模式

这些商业模式

均需要庞大的用户规模

和网络流量才能得以实现

这就带来了新的技术挑战

也就是大数据的挑战

我们可以再简单看看

上面这个例子

在数据方面的情况

事实上

在计算机和互联网被发明前

所有的文字作品

总共大约也就50PB的信息

而仅2011年

facebook就使用超过

1pb的空间

存储了4千亿张照片

而谷歌每天处理的数据

则超过了20个pb

全球被创建和复制的数据总量

达到了1.8个ZB

而在2013年

仅天猫平台在双11这天

支付宝成交笔数

就是1.71亿笔

这样的数据规模和需求

就要求大数据处理平台软件

需要处理的数据

能支撑指数级增长

数据处理的时效性

正确性和维度要求

也在急速的提高

当前分布式系统由于其可扩展

高可靠和低成本等特性

已经成为互联网公司

和新商业模式下

IT构架的常规选择

大数据平台也不例外

主要采用分布式

而大数据平台采用分布式

与传统的高性能领域的分布式

有一点不同

清华的校友曾在谷歌、腾讯工作

LinkedIn现在的数据分析师王益

在一次访谈中曾经说道

大数据在处理

使用分布式的一个核心理由

是投入更多的机器处理

更大的数据

而不是投入更多的机器

数据大小不变

计算速度更快

我比较认同这个观点

传统的高性能计算的目标

主要是投入更多机器

计算速度更快

大数据与传统的并行

或者高性能计算不同

目的更多的是为了

能处理更大的数据

下面

我们借用一个分布式的例子

来看看分布式系统有哪些挑战

这个例子中的每个人

假设是一台机器

这些人聚集在一起

相邻的两只脚捆在一起

构成了一个集群

目标任务

就是大家一起向前走30米

当然如果能走得快就更好了

这个时候我们会发现

第一个挑战

就是同时性的相对性

什么意思

捆绑在一起的两只腿

需要同时向前移动

而不同的捆绑组

涉及到不同的人

会形成相互之间的牵绊

因此一个人不能同时迈两只脚

也就是会影响到其他人

另外每个人的速度

和加速度不同

也会形成牵绊

因此大家一起协调好

就非常重要

任何一个时刻

不同的人或者机器

确保自己的工作按时完成

且能和大家保持一致

非常重要

第二个挑战难免会有人摔倒

就像有机器会坏掉一样

这时候怎么办

也就是如何容灾

如何做到在一个人摔倒的时候

其他的人不受影响

还能继续工作

而且这个人的工作

还有人能够接替完成

或者此人

能够很快的恢复继续工作

第三点的挑战来自于每个人

或者机器的不同带来的困难

每个人的身高

腿长性别运动技能

以及适应性都不同

就像不同的设备的

CPU网络内存

硬盘等都可能不同一样

在这种情况下

大家如何能保持一致

而且充分发挥各自的优势

为团队作出贡献

就显得格外重要

最后动态环境下的不确定性

带来的挑战比如说

地面不平整

地上有石头

天上会下雨等等

都会造成各种不确定的

意外发生

就像机器可能会断电掉电

网卡会坏掉硬盘坏了等等

都会常态的发生一样

那么如何避免这种情况发生

或者在发生了的时候

如何自动调整等

都是分布式系统

需要面临的挑战性问题

大数据平台面临的问题

总结一下包括

如何实现在线事务处理的同时

保证数据的一致性

和并发性处理的性能

如何针对不同的大数据处理

分析查询等需求

进行有效的

存储组织布局和优化

第三在保证大数据系统

可靠性的前提下

如何减少存储和计算开销

第四针对特定类型的大数据

如更新频繁的时序图数据

如何有效地进行

数据的存储和处理等

第五如何针对复杂的大数据

处理工作流选择合适的

底层存储设备和系统

以达到性能

和存储开销等的一个最优化

等等等等有很多问题需要解决

而现在的各种开源的相关的

大数据平台和系统也有很多

像这张图所展示的

所展示的有Hadoop

Spark Storm

Giraph OceanBase

等等等等

对这些现有的大数据系统

我们进行一下分类

可以简单分为5类

分别是分布式文件系统

半结构化数据存储系统

大数据计算框架和编程模型

图计算和机器学习系统

和类SQL查询系统

当然也有其它一些分类

这个分类

只是我个人的一个理解

不一定完全正确

下面我们简单看一下每一类

都有哪些系统

分布式文件系统

包括了大家所熟知的HDFS

支持FUSE接口

相对轻量级的MooseFS

高性能无单点失效的

文件系统Ceph

以及淘宝文件系统TFS

它适合于小文件存储

兼顾了可扩展性可用性

和性能等

半结构化存储系统

有Hadoop平台上的

基于BigTable

实现的HBase

跨地域的分布式数据库Spanner

高可扩展的分布式Key-Value

数据库Dynamo

可在一致性和性能之间

权衡和调节的Cassandra

以及支持关系型数据查询的

分布式数据库OceanBase

计算框架和编程模型

有Hadoop上的

MapReduce

支持环式数据流

和内存计算的Spark

而Dryad

支持用有向无环图

表示人物间的依赖关系

提供了比较灵活的编程语义

适合流式数据处理的Storm

和数据流计算引擎Naiad等

图计算和机器学习系统有

Hama

分布式计算框架

Giraph

异步图计算框架Graphlab

支持类数据库查询优化的

分布式机器学习系统MLbase

Hadoop上的机器学习框架

Mahout等

类SQL的查询系统则包括了

Hive Shark DryadLINQ Dremel等

上面的现有开源大数据系统

介绍大家就会发现

现在有很多大数据相关的系统

不同的系统

有不同的用途

不同的特征

不同的优势和缺点

我们如何为我们的应用

选择合适的系统

就成为一个问题

我们通过一个选择的例子

来看看

为了避免单点故障

通常可以利用数据冗余

来提高可用性

然而多份数据副本

会导致一致性的问题

而为了解决一致性问题

又会带来性能瓶颈

同时为了应对数据规模增长

还需要进行数据分区

而解决带有分区的一致性

和性能问题的难度

就会进一步增加

因此这就成为了一个

找平衡点的问题

那如何找平衡点呢

事实上平衡点与你

需要解决什么问题

你的业务需求是什么

性能需求是什么

是3秒钟完成

还是30分钟完成相关

综合考虑你所要解决的问题

及解决该问题的实际性能规模

可靠性等多个方面的因素

找到一个平衡点

很重要

总结一下

也就是说

没有最优的技术

只有最优的选择

以应用为出发点

做好最优的选择很重要

别人的选择未必适合你

你的选择一定要有理由

那么我们这门课程

就选择阿里大数据平台为样板

进行大数据平台

核心技术的讲授

每个部分的内容

都请阿里云的技术专家

为大家讲解

这张图给出了

阿里大数据平台的模块图

包含了很多内容非常完整

在下一讲会重点讲解

我就跳过

简单地说

这门课程

将介绍分布式系统的基本原理

设计初衷和实现细节

介绍如何用分布式系统

解决大数据处理的问题

覆盖了多种数据处理的场景

横向比较各个领域的开源系统

讨论同类系统的区别

以及区别产生的原因

课程强调动手实践能力的培养

通过实践解决分布式系统实现

和数据处理领域的常见问题

这是该课程的安排

前面四周

主要讲授

阿里ODPS开放数据

处理服务

分布式存储

资源管理与任务调度

分布式编程模型

第五和六两周

讲离线分布式关系型计算

和全局数据管理与调度

第七 八 九3周讲

流计算的系统设计与实现

内存计算

和分布式机器学习平台

中间有3次实践作业

我现在讲的是这门课的开篇

后面的内容

主要都是阿里的技术专家

为大家讲授

希望大家能够有收获

谢谢大家

大数据平台核心技术课程列表:

第一讲 大数据和ODPS

-主讲人:武永卫

--大数据处理平台概述(主讲人:武永卫)

-主讲人:程永

--大数据平台ODPS(主讲人:程永)

-QUIZ--作业

第二讲 分布式存储

-大纲

--大纲(主讲人:姚文辉)

-初步认识大数据对分布式存储系统的需求

--初步认识大数据对分布式存储系统的需求

-理解大数据对分布式存储系统的需求

--理解大数据对分布式存储系统的需求(主讲人:姚文辉)

-具体说明大数据对分布式存储系统的需求

--具体说明大数据对分布式存储系统的需求(主讲人:姚文辉)

-大规模分布式存储的挑战

--大规模分布式存储的挑战(主讲人:姚文辉)

-小概率事件-Raid卡故障

--小概率事件-Raid卡故障(主讲人:姚文辉)

-分布式存储系统举例

--分布式存储系统举例(主讲人:姚文辉)

-分布式存储系统重要功能设计要点剖析

--分布式存储系统重要功能设计要点剖析(主讲人:姚文辉)

-链式写正常流程

--链式写正常流程(主讲人:姚文辉)

-写流程的另一种常见方式:主从模式

--写流程的另一种常见方式:主从模式(主讲人:姚文辉)

-链式写异常流程

--链式写异常流程(主讲人:姚文辉)

-写异常处理的另一种方法-Seal and New

--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)

-读正常流程

--读正常流程(主讲人:姚文辉)

-读流程优化-BackupRead

--读流程优化-BackupRead(主讲人:姚文辉)

-IO QoS

--IO QoS(主讲人:姚文辉)

-数据正确性:checksum

--数据正确性:checksum(主讲人:姚文辉)

-数据可靠性-Replication

--数据可靠性-Replication(主讲人:姚文辉)

-数据均衡-Rebalance

--数据均衡-Rebalance(主讲人:姚文辉)

-垃圾回收-Garbage collection

--垃圾回收-Garbage collection(主讲人:姚文辉)

-Erasure coding

--Erasure coding(主讲人:姚文辉)

-Erasure coding(3,2)写入和读取过程

--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)

-元数据管理的高可用性和可扩展性

--元数据管理的高可用性和可扩展性(主讲人:姚文辉)

-元数据管理的高可用性

--元数据管理的高可用性(主讲人:姚文辉)

-Paxos概要

--Paxos概要(主讲人:姚文辉)

-Raft

--Raft(主讲人:姚文辉)

-元数据管理的可扩展性

--元数据管理的可扩展性(主讲人:姚文辉)

-不同存储介质的特性

--不同存储介质的特性(主讲人:姚文辉)

-盘古混合存储

--盘古混合存储(主讲人:姚文辉)

-QUIZ--作业

第三讲 资源管理与任务调度

-阿里云飞天分布式调度

--阿里云飞天分布式调度(主讲人:陶阳宇)

-任务调度

--任务调度(主讲人:陶阳宇)

-资源调度

--资源调度(主讲人:陶阳宇)

-容错机制

--容错机制(主讲人:陶阳宇)

-规模挑战

--规模挑战 (主讲人:陶阳宇)

-安全域性能隔离

--安全域性能隔离(主讲人:陶阳宇)

-分布式调度的发展方向

--分布式调度的发展方向(主讲人:陶阳宇)

-QUIZ--作业

第四讲 分布式编程模型的设计与演化

-数据格式和抽象

--数据格式和抽象(主讲人:吴威)

-分布式编程模型

--分布式编程模型(主讲人:吴威)

-MapReuduce编程模型

--MapReuduce编程模型(主讲人:吴威)

-关系型数据编程模型

--关系型数据编程模型(主讲人:吴威)

-分布式图计算模型

--分布式图计算模型(主讲人:吴威)

-分布式编程未来展望

--分布式编程未来展望(主讲人:吴威)

-QUIZ--作业

实践1:通过两阶段提交协议完成数据上传

-分布式事务

--分布式事务 (主讲人:冯骁)

-分布式一致性算法

--分布式一致性算法(主讲人:冯骁)

-两阶段提交与三阶段提交

--两阶段提交与三阶段提交(主讲人:冯骁)

-实践--介绍

--实践--介绍(主讲人:冯骁)

第五讲 离线分布式关系型计算

-关系型计算基本原理_1

--离线分布式关系型计算_1(主讲人:王鹏飞)

-关系型计算基本原理_2

--关系型计算基本原理_2(主讲人:王鹏飞)

-分布式环境中的连接计算和聚合计算

--分布式环境中的连接计算和聚合计算(主讲人:王鹏飞)

-其他计算和物理优化

--其他计算和物理优化(主讲人:王鹏飞)

-QUIZ--作业

第六讲 全局数据管理与调度

-提纲

--提纲(主讲人:罗李)

-课程背景介绍

--课程背景介绍(主讲人:罗李)

-前序知识

--前序知识(主讲人:罗李)

-分布式节点距离计算法则

--分布式节点距离计算法则(主讲人:罗李)

-数据分布策略

--数据分布策略(主讲人:罗李)

-分布式计算调度

--分布式计算调度(主讲人:罗李)

-数据就近原则计算如何容错

--数据就近原则计算如何容错(主讲人:罗李)

-ODPS跨集群数据依赖

--ODPS跨集群数据依赖(主讲人:罗李)

-QUIZ--作业

实践2:编写MR完成Group By+Join操作

-主讲人:谢德军

--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)

第七讲 流式计算的系统设计与实现

-增量计算和流式计算

--流式计算的系统设计与实现(主讲人:强琦)

-与批量计算的区别

--与批量计算的区别(主讲人:强琦)

-业界典型系统技术概要分析

--业界典型系统技术概要分析(主讲人:强琦)

-核心技术

--核心技术(主讲人:强琦)

-消息机制

--消息机制(主讲人:强琦)

-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制

--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)

-StreamSQL

--StreamSQL(主讲人:强琦)

-QUIZ--作业

第八讲 内存计算

-软硬件趋势、分布式计算简史与内存计算

--软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)

-分布式计算

--分布式计算(主讲人:强琦)

-内存计算

--内存计算(主讲人:强琦)

-统一的计算框架

--统一的计算框架(主讲人:强琦)

-业界经典系统技术分析-spark&flink

--业界经典系统技术分析-spark&flink(主讲人:强琦)

-QUIZ--作业

第九讲 大规模数据的分布式机器学习平台

-主讲人:褚葳

--大规模数据的分布式机器学习平台(主讲人:褚葳)

-QUIZ--作业

实践3:实现MapReduce编程运行时库

-分布式环境下的新问题

--分布式环境下的新问题(主讲人:徐冬)

-工程实现范例

--工程实现范例(主讲人:徐冬)

-课程设计相关问题

--课程设计相关问题(主讲人:徐冬)

大数据处理平台概述(主讲人:武永卫)笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。