极客时间《大数据经典论文解读》:建立你的大数据知识网络
大数据领域的知识地图涵盖了分布式系统、单节点存储引擎和计算引擎。分布式系统需满足可靠性、可扩展性和可维护性,涉及主从架构、复制策略和分片策略等。单节点存储引擎关注事务、数据写入和存储方式,以及数据的序列化问题。计算引擎的发展经历了多个阶段,包括MapReduce、Spark、S4/Storm、Lambda架构、Spark Streaming、Kafka和Dataflow模型。这些技术相互关联,需要综合考虑组成原理、算法和数据结构、数据库原理等知识。学习大数据论文的关键挑战在于精读和交叉阅读,以及制定明确的学习目标。通过从第一性原理出发、多做交叉阅读和扩展阅读,以及给自己制定明确的学习目标,读者能够更好地理解大数据知识。推荐阅读包括《Big Data》、《Designing Data-Intensive Applications》、流式处理相关书籍和MIT的Distributed System)课程。读者应该根据自身目标选择合适的学习方法,深入理解论文中提出的问题和解决方案,构建起自己的大数据摩天大楼。
从 GFS 到 Dataflow,12 年大数据生态演化图
原文地址:https://time.geekbang.org/column/article/418480
经典论文
| 名称 | 论文来源 | 发表年份 |
| GFS | The Google File System | 2003 |
| MapReduce | MapReduce: Simplified data processing on large cluster | 2004 |
| Bigtable | Bigtable: A distributed storage system for structured data | 2006 |
| Chubby | The Chubby lock service for loosely-coupled distributed system | 2006 |
| Thrift | Thrift: Scalable cross-language services implementation | 2009 |
| Hive | Hive: a warehousing solution over a map-reduce framework | 2009 |
| Dremel | Dremel: interactive analysis of web-scale datasets | 2010 |
| Spark | Spark: Cluster computing with working sets | 2010 |
| Megastore | Megastore: Providing scalable, highly available storage for interactive services | 2011 |
| Spanner | Spanner: Google's globally distributed database | 2012 |
| S4 | S4: Distributed stream computing platform | 2010 |
| Storm | Storm@Twitter | 2014 |
| Kafka | Kafka: A distributed messaging system for log processing | 2011 |
| Dataflow | The dataflow model: a practical approach to balancing correctness, latency, and cost in massive-scale, unbounded, out-of-order data processing | 2015 |
| Raft | In search of an understandable consensus algorithm | 2014 |
| Borg | Large-scale cluster management at Google with Borg | 2015 |
| Kubernetes | Borg, Omega, and Kubernetes | 2016 |
大数据领域的知识地图
原文:https://time.geekbang.org/column/article/420448
分布式系统
所有的大数据系统都是分布式系统。我们需要大数据系统,就是因为普通的单机已经无法满足我们期望的性能了。那么作为一个分布式的数据系统,它就需要满足三个特性,也就是可靠性、可扩展性和可维护性。
单节点的存储引擎
然而,即使是上万台的分布式集群,最终还是要落到每一台单个服务器上完成数据的读写。那么在存储引擎上,关键的技术点主要包括三个部分。
计算引擎
这个维度实际上也是大数据领域本身进化和迭代最快的一部分。
调度系统和综合应用
总结来说,分布式系统、存储引擎和计算引擎就共同构成了大数据的核心技术。更进一步,随着多种分布式系统的混排,又产生了 Kubernetes 这样的资源管理和调度系统。而所有的这些技术之间,都不是各自独立,而是相互关联的。
作者推荐的参考文献
• 首先是 Storm 的作者南森·马茨(Nathan Marz)的“Big Data”,现在也有中译本叫做《大数据系统构建》。对于人为错误的容错问题的思考,为我们带来了著名的 Lambda 架构。在我看来,即使到今天 Lambda 架构也并不过时。
• 其次是俗称 DDIA 的这本《》,这本书梳理了整个大数据领域的核心技术脉络,是一本非常合适的架构入门书。
• 第三本是专注于流式处理的《Streaming System》,不过目前还没有中译本上市。
• 如果你更喜欢通过视频课程学习,那么去看一看来自 MIT 的课程 6.824 的 Distributed System 绝对错不了。我在这里放上了Youtube和B 站的视频链接(https://www.bilibili.com/video/BV1x7411M7Sf)。
• 最后是一份很容易被人忽视的资料,就是 2009 年 Jeff Dean 在 Cornell 大学的一个讲座“Designs, Lessons and Advice from Building Large Distributed Systems”的 PPT(https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf),我也推荐你去看一看,对于理解大数据系统的真实应用场景很有帮助。
课程推荐