标签:att -o 数据存储 friend flip efficient 现在 数据集 分布式文件系统
一、背景2019年1月,伴随 APACHE FLINK 母公司 Data Artisans 被 收购 ,FLINK 毫无争议成为继 SPARK 之后的新一代大数据计算平台,本文希望通过 GOOGLE 计算平台演进来更好的理解 FLINK。
GOOGLE 作为搜索引擎的顶级公司,需要处理海量数据,其大数据计算平台的演进是行业的风向标;本文通过 GOOGLE 在该领域发表的论文进行剖析,希望从中提取一些演进的主线。
MapReduce 发布后声名鹊起,不过在未来的技术发展中也受到了来自数据库领域大牛的挑战。2008年,数据库大牛 David DeWitt 发表 MapReduce: A major step backwards ,反馈 MapReduce 是数据库领域的技术倒退;2010年,GOOGLE 大神及论文作者 Jeffrey Dean 和 Sanjay Ghemawat 发表文章 MapReduce: A Flexible Data Processing Tool ,对比了 Parallel Databases 和 MapReduce, 并强调了 MapReduce 的场景和优势;同年,图灵奖获得者 Michael Stonebraker 与一帮数据库牛人发表 MapReduce and Parallel DBMSs: Friends or Foes ,认为 MapReduce 更像是一种 ETL(Extract Transform Load)。 由此可见,大数据计算框架必然和数据库领域技术进行碰撞,也会引入新的观点和方向。
计算框架论文 | 简介 | 发表时间 | 第一作者 |
---|---|---|---|
并行数据分析 Sawzall | Interpreting the data: Parallel analysis with Sawzall | 2005 | Rob Pike, Sean Dorward, Robert Griesemer and Sean Quinlan |
并行数据处理流水线 FlumeJava | Easy, Efficient Data-Parallel Pipelines | 2010 | Craig Chambers, Ashish Raniwala, Frances Perry, etc. |
图处理 Pregel | A System for Large-Scale Graph Processing | 2010 | Grzegorz Malewicz, Matthew H. Austern, Aart J. C. Bik, etc. |
交互式数据分析 Dremel | Interactive Analysis of Web-Scale Datasets | 2010 | Sergey Melnik, Andrey Gubarev, Jing Jing Long, etc. |
基于 MR 的 SQL Tenzing | A SQL Implementation On The MapReduce Framework | 2011 | Biswapesh Chattopadhyay, Liang Lin, Weiran Liu, etc. |
大规模数据增量处理 Percolator | Large-scale Incremental Processing Using Distributed Transactions and Notifications | 2011 | Daniel Peng, Frank Dabek |
高效列存 PowerDrill | Processing a Trillion Cells per Mouse Click | 2012 | Alexander Hall, Olaf Bachmann, Robert Bussow, etc. |
流处理框架 MillWheel | Fault-Tolerant Stream Processing at Internet Scale | 2013 | Tyler Akidau, Alex Balikov, Kaya Bekiroglu, etc. |
近实时数据仓库 Mesa | Geo-Replicated, Near Real-Time, Scalable Data Warehousing | 2014 | Ashish Gupta, Fan Yang, Jason Govig, etc. |
大规模实时/离线数据分析 Dataflow | A Practical Approach to Balancing Correctness, Latency, and Cost in Massive-Scale, Unbounded, Out-of-Order Data Processing | 2015 | Tyler Akidau, Robert Bradshaw, Craig Chambers, etc. |
支撑广告业务的交互式报表 Shasta | Interactive Reporting At Scale | 2016 | Gokul Nath Babu Manoharan, Stephan Ellner, Karl Schnaitterα, etc. |
数据集组织 Goods | Organizing Google’s Datasets | 2016 | Alon Halevy, Flip Korn, Natalya F. Noy, etc. |
其中, Dataflow 基于 MapReduce (批处理框架), FlumeJava (并行数据处理流水线 ) 和 MillWheel (流处理框架) 技术演进而来,是大数据计算框架的融合。Dataflow 和 Beam 是 比 Spark 更新的技术,可以通过如下文章深入掌握 Dataflow 的设计原理:
根据 Slim Baltagi 的 Unified Batch and Real-Time Stream Processing Using Apache Flink 材料可以更深入的理解 FLINK。
从支撑的场景来看,包含 Batch 批处理的脚本语言和应用、Streaming 的流处理、Graph 的图形处理、以及时下流行的 Machine Learning,而且从应用编程的角度看,采用统一框架支持多种模型,会带来更好的用户体验。
从架构分层看:
从大数据计算框架演进来看,MapReduce 属于第一代技术、Tez 属于第二代技术、Spark 属于第三代技术、Flink 属于最新的第四代技术,相比与 Spark 它提供了 Real-Time、Native Iterative Processing 的差异化竞争力。
从工具角度看,Storm 提供了第一代、第二代的工具,Spark 提供了第三代的工具,Flink 提供的则是第四代的工具,它以 Streaming 为核心构建,Batch 只是作为一种有限数据流。
根据 GOOGLE 业务演进和开源领域的探索,可以得到如下的观点:
通过 GOOGLE 大数据计算平台演进理解 APACHE FLINK 前世今生
标签:att -o 数据存储 friend flip efficient 现在 数据集 分布式文件系统
原文地址:http://blog.51cto.com/luoqingchao/2349581