大数据经典论文解读--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- 10+篇必读经典论文精讲;
- 大数据系统底层知识学习路径;
- 10年大数据老兵的实战心法;
- 工业级数据系统迭代方案。
课程介绍
大数据领域,可以说是过去20年计算机工程界发展最迅速、产生影响最大的一个领域。很多看起来和“大数据”没有什么关系的开源系统,都是从“大数据”这个领域里培育出来的,比如说Kubernetes。
那么,今天我们去研读“大数据”领域的经典论文,可以说是一件投入产出比很高的事情。通过学习大数据相关的论文,我们会对计算机工程的各个领域都有更加深刻的认知,这不仅仅是对于“大数据工程师”这样的职位有用,对于做各类后端开发和系统开发的工程师来说,都会有很大的帮助。
但是我们应该怎么学呢?在网上随便一搜,虽然也能找到不少论文被人翻译成了中文,但是往往也只能告诉你“是什么”,却没有办法让你理解“为什么”。这些翻译或者文章,常常给出的是“Bigtable系统是一个稀疏的、分布式的排序好的Map”,却让你没有办法让你理解为什么Bigtable是这样设计的。
所以这次,我们邀请了极客时间《深入浅出计算机组成原理》课程的作者徐文浩老师,通过他十多年研读论文、使用各种开源框架解决大数据问题的经验,带你梳理整个大数据系统的发展脉络,为你分析在整个领域的系统不断往前迭代的过程中,所遇到的具体场景下的问题,还会深入解读其中重要的设计决策背后,能够联系到的计算机底层原理。
这样一来,通过课程内容知识的讲解,你就能够把论文和论文之间联系起来,把论文和具体技术场景联系起来,把论文和计算机原理的底层知识点联系起来。更进一步,你会真正理解Why,而不是只知道What。
课程模块设计
课程主体划分为以下5大模块。
- 基础知识篇:从最经典的Google三驾马车GFS、MapReduce和Bigtable这三篇论文开始,帮你理解大数据系统面对的主要挑战,以及应对这些挑战的架构设计方法。进一步地,会带你一起来看大数据系统依赖的分布式锁Chubby、序列化和RPC方案Thrift,让你能够将架构设计和计算机结合到一起,掌握好计算机科学的底层原理。
- 数据库篇:一方面来研读Hive、Dremel和Spark的相关论文,了解工程师们是怎么迭代改进MapReduce,从而满足海量数据下的高性能分析需求。另一方面,你还会了解Megastore和Spanner,从而明白如何在Bigtable的基础架构上,逐步添加Schema、跨行事务,直至完成了一个跨数据中心的分布式数据库。
- 实时处理篇:结合Storm、Kafka以及Dataflow,你会了解到现代大数据的实时处理系统是怎么逐步迭代,做到流批一体,达成批量和实时数据处理的统一的。
- 资源调度篇:通过解读Raft、Borg和Kubernetes的论文,你能够厘清如何尽可能在一个数据中心里,合理地压榨资源、调度系统。
- 实战应用篇:学以致用,通过剖析Facebook数据仓库的逐步演进变化,以及Twitter如何使用大数据进行机器学习,你就能理解如何通过分析问题、理解架构,将所学到的大数据知识串联起来。这样你在未来面对新的问题时,也能够找到精巧的解决方案。
另外,在解读每篇论文的过程中,编辑还会带你一起来回顾课程内容,进一步巩固知识要点,帮助扩展大数据领域技术知识面,同时也会分享一些阅读论文的小技巧,让你不仅有所学、有所思,更让你有所用。
课程目录
课前导读
- 开篇词 | 读论文是成为优秀工程师的成年礼
- 01 | 什么是大数据:从GFS到Dataflow,12年大数据生态演化图
- 02 | 学习方法:建立你的大数据知识网络
基础知识篇:Google的三驾马车
- 03 | The Google File System (一): Master的三个身份
- 04 | The Google File System (二): 如何应对网络瓶颈?
- 05 | The Google File System (三): 多写几次也没关系
- 06 | MapReduce(一):源起Unix的设计思想
- 07 | MapReduce(二):不怕失败的计算框架
- 08 | Bigtable(一):错失百亿的Friendster
- 09 | Bigtable(二):不认识“主人”的分布式架构
- 10 | Bigtable(三):SSTable存储引擎详解
- 11 | 通过Thrift序列化:我们要预知未来才能向后兼容吗?
- 12 | 分布式锁Chubby(一) :交易之前先签合同
- 13 | 分布式锁Chubby(二) :众口铄金的真相
- 14 | 分布式锁Chubby(三) :移形换影保障高可用
加餐篇
- 加餐1 | 选择和努力同样重要:聊聊如何读论文和选论文
- 加餐2 | 设置你的学习“母题”:如何选择阅读材料?
- 加餐3 | 我该使用什么样的大数据系统?
数据库篇:OLAP和OLTP,一个都不能少
- 15 | Hive:来来去去的DSL,永生不死的SQL
- 16 | 从Dremel到Parquet(一):深入剖析列式存储
- 17 | 从Dremel到Parquet(二):他山之石的MPP数据库
- 18 | Spark:别忘了内存比磁盘快多少
- 19 | Megastore(一):全国各地都能写入的数据库
- 20 | Megastore(二):把Bigtable玩出花来
- 21 | Megastore(三):让Paxos跨越“国界”
- 22 | Spanner(一):“重写”Bigtable和Megastore
- 23 | Spanner(二):时间的悖论
- 24 | Spanner(三):严格串行化的分布式系统
复习篇
- 复习课(一)| The Google File System
- 复习课(二)| MapReduce
- 复习课(三)| Bigtable
- 复习课(四)| Thrift
- 复习课(五)| Chubby
- 复习课(六)| Hive
- 复习课(七)| Dremel
- 复习课(八)| Resilient Distributed Datasets
- 复习课(九)| Megastore
- 复习课(十)| Spanner
实时处理篇:批处理只是流式处理的“特殊情况”
- 25 | 从S4到Storm(一):当分布式遇上实时计算
- 26 | 从S4到Storm(二):位运算是个好东西
- 27 | Kafka(一):消息队列的新标准
- 28 | Kafka(二):从Lambda到Kappa,流批一体计算的起源
- 29 | Dataflow(一):正确性、容错和时间窗口
- 30 | Dataflow(二):MillWheel,一个早期实现
- 31 | Dataflow(三):一个统一的编程模型
资源调度篇:Google藏了10年的杀手锏
- 32 | Raft(一):不会背叛的信使
- 33 | Raft(二):服务器增减的“自举”实现
- 34 | Borg(一):当电力成为成本瓶颈
- 35 | Borg(二):互不“信任”的调度系统
- 36 | 从Omega到Kubernetes:哺育云原生的开源项目
用户故事
- 用户故事 | 陈煌:唯有自强不息,方能屹立不倒
- 用户故事 | 黄涛:水滴石穿、坚持不懈,必能有所精进
- 用户故事 | 许灵:不抛弃不放弃
- 用户故事 | 核桃:95后的技术成长之路
实战应用篇:学以致用的大数据论文
- 37 | 当数据遇上AI,Twitter的数据挖掘实战(一)
- 38 | 当数据遇上AI,Twitter的数据挖掘实战(二)
- 39 | 十年一梦,一起来看Facebook的数据仓库变迁(一)
- 40 | 十年一梦,一起来看Facebook的数据仓库变迁(二)
结束语
- 结束语 | 长风破浪会有时,直挂云帆济沧海