当前课程知识点:大数据平台核心技术 > 第八讲 内存计算 > 软硬件趋势、分布式计算简史与内存计算 > 软硬件趋势、分布式计算简史与内存计算(主讲人:强琦)
大家好 我是来自
阿里云数据事业部的强琦
今天跟大家分享的内容
是内存计算
如果大家关注分布式领域的话
应该知道近期内存计算非常火
比如spark flink等系统
大有赶超前人之势
那么 今天我就会为大家
结合这几个著名的系统
和我们自己实践的心得
深入的分析内存计算领域的
主要技术和难点
以及对未来计算技术的展望
内存计算之所以
目前受到大家如此的瞩目
是和当前计算机硬件发展
密不可分
那么 我将会从内存计算的
软硬件发展趋势
分布式计算的简要发展历史
以及内存计算发展后
统一计算框架的趋势
结合业绩经典的技术分析
来和大家一起探讨
我们现在使用的主流硬件
从多核CPU 32核到56核
内存也从以前的
十几个G 几十个G
到现在的192G 384G
以及定制机型下更大的内存
那么 从整个存储的层级
到cpu的cache
到momery 到flash card
到SSD 到SATA混合
我们可以做到
机型可以做到三T的SSD
11×6T的SATA硬盘
而网络拓扑和带宽
我们从IDC内的万兆网卡
到IDC间的专线光缆
带宽有很大的提升
那么 还有一个很重要的
技术指标
大数据和它的复用程度
什么意思呢
就是有些数据处理面
就很少为别的任务所使用
但是 有些数据
它是会被大量任务所读写
所读取
所以 可以想象这种大量的
读写比 比较高的数据
应该是业务价值极高的数据
所以 我们可以针对不同的
读写比的数据
进行不同的系统优化
随之而来 会有相应的问题
我们之前从小型机到分布式
现在去努力提高单机的能力
这两个是不是矛盾的
这些大家都可以思考一下
那么 是不是单机的
能力越强越好
构建在虚拟机上的分布式
是不是天然就是矛盾的
这个意思是说
我把一个机器
切成很多个虚拟机
然后 再把虚拟机
组合成一个机群
那么 这种方法论是不是实用
希望每个同学
自己都有一些思考
数据密集型的计算
可能会根据不同的计算平台
选定不同的机型号
所以 这就需要看计算任务
到底 短板和瓶颈在哪里
比如说瓶颈在CPU
那我们适当的增加CPU核心
把混合存储和内存降下来
那么 这样可以有效的降低
整个的资源利用率
也就是说 你整个资源
你的内存用完了
但实际上你CPU大部分空闲
可是你CPU用完了
实际上内存大部分都是空闲
这对成本来说都是一个灾难
但是 我们要在做
定制机型要考虑一个问题
这个机型的复用型
就别的系统能不能混合部署
所以 它其实是一个很复杂的
具体的问题
但是 从我们现在的
软硬件的趋势可以看到
无疑CPU越来越快
memory是越来越大
然后 存储的层级
是越来越丰富
从flash card到SSD到SATA硬盘
网络之间的带宽呢
也是有非常大的一个提升
所以 我们今天去讲内存计算
其实是完全依赖于
有这样子的硬件趋势
才可以去谈内存计算
我们现在来回顾一下
经典的DataBase
和现在炒得比较火的BigData
那么 后面我将会用DB和BD
来分别简称
我们现在可以看DataBase
这种技术体系
它跟BigData这样的技术体系
有哪些异同点
有哪些继承和融合
这里有会贯穿到
内存计算的始终
所以 请大家在一边分享
听分享的同时
大家也可以去思考这个问题
从DataBase来看
数据是业务用户产生的
数据都必须是schema化
而且保证强一致性
那很简单
我今天存进去的钱
我再查一下
肯定是要能查出来 对吧
包括事物的一致性
那么 支持随机的访问
当然 数据实时的insert
要能实时的查询
那么 数据的访问
相对是按照CIUD
集中的这种范式
insert delete query
然后有事务
它更多的是访问
和简单计算的能力
那么 它的机房是分散的
基本上会跟业务系统一起
距离按照地域来划分
距离业务请求
比如说我可能
按照区域去存放
距离用户的物理地点
要近一些
所以 注定了它的机房
是多机房 而且非常分散
它非常注重延时
当然 还有一些其他显著特征
这是很经典的OLTP的
类似功能
比如说某用户买了两个
apple watch
销售表增加记录
用户可能金额上面
有什么变化
总之 这是一个transaction
那么 反过来
我们再来看
现在涌现的BigData的
技术体系
它的数据源是业务的db
或者log等
比如说传感器
大家可以看到 这个业务
BigData的数据源
其实恰恰是DataBase
也就是说 BD的数据源是DB
那么 它强调的是什么呢
强调的是宽表
而非强的consistence
强调更多的表
可以打平 这样一个宽表
那么 与DB不一样的
随机访问
它更强调的是扫描
就是全机数据 或者大量数据
那么 之前相对于DB来说
它更多的是离线数据
比如说一天的数据
或者是几小时的数据
去进行分析计算
那么 相对于DB的数据访问
它更侧重于数据计算
它更侧重于数据计算结果
而不在于这条数据
本身怎么样
所以 以上的特性决定了
它的技术能力
一次计算涉及到的数据
是非常海量的
那么 动用的计算规模
用规模效应来去
处理这个数据规模
所以 这个就注定了
它的机房是要集中的
非常集中
只有机房集中了
才有大量的计算规模
去involve一次计算中
而在计算内部的
机房内部的带宽又能保证
能够迅速的去处理这些数据
相对于DB的重延时
BD目前是更重吞吐
那么 它传统的领域
像ETL 建模
machine learning
所以 最经典的领域
就是数据仓库 OLAP
相对于刚才DB的那个Case
更多的是说买apple watch的
用户的地域分布情况怎么样
这很明显
上一个是关乎
某条数据的操作
而这样子的计算
它是关于数据的计算
仔细的同学也可以看到
我在离线机房集中与重吞吐
这个地方打了问号
也就是说 在我看来
很多技术
DB是势必要影响BigData
也就是说 DB势必要影响BD
而BigData的一些技术
最终也会推进
DataBase领域的技术演进
下面我会通过很多案例
来说明这一点
BigData的数据
显著有什么特点呢
大家都很清楚3个V
也就是说它的数据量
是极其巨大的
动辄几百P
所以 它对成本的要求
是非常苛刻的
因为成本
就是数据量
直接对应着服务器
每台服务器它的购置
它的折旧 它的电力
大家可能觉得家用电
挺便宜的
实际上工业这种用地
是非常非常贵
也就是说 基本上电力成本
能源成本 和机房的带宽成本
和物理级的折旧
基本上都是对对开
三三开的
基本上都差不多
所以 这一方面
耗费的资源是非常非常大
而整个的云计算
或者大数据
它其实是在抠成本
还有一个很重要的特点
是速度
也就是说 数据不再是以天
以小时为单位
数据入口的吞吐
整个的时效性 用户的体验
其实我们在
预算当中提到了分库
提到了工业思维
数据过时了
甚至一分钟以前的数据
可能用处就不大了
所以 现在的业务的发展
对数据的时效性
提出了非常非常高的要求
那么 另外一点
就是多样性
那么 今天我们即将面临着
万物互联的一个社会
那么 也就是说
对相同实体的传感器
会有不同的信号
比如说音频 视频
有网站的采集的日志信息
有数据库的信息
不同的传感器对相同的物体
会有不同的反馈
这些数据怎么融合
今天我们的数据源
采集源头是非常非常广泛
其格式也是五花八门
当然 它对质量的把控
也是完全不一样的
比如说大家都很清楚
数据库是讲究范式
讲究schema
讲究一致性
所以 进入它的数据质量
是有保证的
但是 如果相同的数据
有交易的数据
我是用日志去记录
这个质量是很难去把握
今天无论是从数据量
还是从Velocity
还是从Variety
今天BigData所面临的情况
与DataBase
是完全不可同日而语
面临着巨大的复杂性和难度
接下来 我们看到的数据量
当然 有扩展性
有成本的问题
今天我们看BigData的
这个技术栈
其表示能力也是从
从支持机器学习
这样的deep learning
到非SQL 到SQL领域
那么 其多样性
刚才也提到了
从半结构化到非结构化
其实还包括结构化
那么 它的计算模式
以扫描为主
当然 这门课后面就在讲
如何颠覆以扫描为主的
传统的BD的这种技术体系
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题