banner

Google大神在大数据应用上的技术与论文介绍,好神!

作者: 大数据观察来源: 大数据观察时间:2017-06-23 17:12:570

    目前大数据的相关应用有不少都是从 MapReduce 衍生而出的,但,若把焦点移到即时资料(Real-Time Data)的需求上时就会发现它的不足之处。

    因此,本篇文章将与各位读者分享,从 Google 发佈 GFS、大数据与 MapReduce 这些技术开始,到这些技术发展的现况与其所遭遇到的瓶颈,以及 Google 为了解决这些问题提出了哪些因应的技术。

MapReduce,GFS 与 Bigtable,带动了大数据 应用技术的发展

    Google 在 2003 年发表了第一篇论文 〈The Google File System〉。文中叙述,GFS(Google File System)是一个分散式档案系统,由数百个丛集(Cluster)所组成。简单来说,储存在 GFS 的档案会被切割成 64 MB 左右的资料块(Chunk),其利用重复的方式(Redundant Fashion)储存在丛集中。

    2004 年,Google 发表了 MapReduce 论文 〈MapReduce: Simplified Data Processing on Large Clusters〉,如今,MapReuce 可以说几乎已经跟 Big Data 划上等号了。

    Google 利用 MapReuce 演算法来计算查询索引(Search Index),让使用者能在最短的时间内从 Internet 上找到自己所需要/查询的资料。

    2006 年,Google 发表了 Bigtable 论文 〈Bigtable: A Distributed Storage System for Structured Data〉,而 Bigtable 带领了许多 NoSQL 资料库的技术应用发展,像是 Cassandra、HBase 等等。

    其中,Cassandra 的架构就整合了 Bigtable(资料模型、SSTables 及 Write-Through-Logs)与 Amazon 的 Dynamo 资料库(Peer-to-Peer Clustering Model)。

Percolator,能够解决 MapReduce 无法处理个别更新的问题

    随着 Internet 的网页呈现指数增加,MapReduce 每次都要全面地重新计算查询索引是非常不切实际的。因此,Google 为了提升系统的效能,开发了一个更有价值的分散式计算系统:Percolator。

    Google 在 2010 年发表了相关的论文 〈 Large-scale Incremental Processing Using Distributed Transactions and Notifications〉,文中叙述 Google 如何在网路搜寻索引(Web Search Index)的技术持续地维持精进。例如,MapReduce 做计算时无法处理局部的更新,因此,在效能的改善部份是很有限的,而 Percolator 则弥补了这个弱点。

    但是,各位读者千万不要误以为 Percolator 是用来取代 MapReduce 的。

    Percolator 是建立于 Bigtable 之上的应用,它加入了对表(Table)与纪录(Row)的交易(Transaction)与锁定(Lock)机制,也就是当 GFS 做表的扫描时,一旦发现有更新过的纪录,就会透过触发程序(Trigger)告知这个改变,再依据读取(Read)或写入(Write)的请求,在不同阶段的工作过程中,针对资料表或记录做锁定或释放的管理机制。透过这样子的方式,来完成局部个体的更新。

Pregel:用来处理网络社交关係的图型结构计算

    Google 为了做网路社交关係的图型结构分析,开始针对图型结构探勘做相关的研究与发展,并在 2010 年发表了相关的论文 〈Pregel: A System for Large-Scale Graph Processing〉。

    由于针对大型的图型结构做处理是非常复杂也具有挑战性的,尤其是网路的分散式处理让难度又提高了许多,因此,Pregel 的计算要比MapReduce 的计算要复杂许多,其主要是利用BSP(Bluk Synchronous Parallell)、PageRank、Bipartite Matching 等演算法来做计算的实践。而在论文中你也可以看到上述这些方法的实践。

Dremel:只要花几秒鐘时间就可以分析 PB 等级的数据

    在 2010 年,Google 还同时发表了一篇关于 Dremel 的论文,内容叙述 Dremel 是一个利用 SQL-like Language 的互动式资料库系统,用来储存结构化资料。

    Dremel 的特色是,以列储存为主,以减少 CPU 与磁碟的读取,进而达到快速读取局部资料的目的;将查询的任务切割成多个小任务,以达到平行处理的目的;支援 Nested 数据模型,但只提供唯读功能。

大数据的相关应用,需要的不只是 MapReduce

    Google 并没有在提出 MapReduce 之后,就停止了查询技术的发展,他们不断地发展新的技术以补强 MapReduce 的不足之处,这对 Big Data 的发展是有益的。

    毕竟,MapReduce 不是万能的,以目前的状况来说,还是有许多的问题尚待解决,不过,Google 所发展出来的技术,带领了许多其他自由软体的发展,像 Apache Drill、Apache Giraph 以及 Stanford’s GPS 等等,这或许是身为使用者的我们最乐于见到的发展。

banner
看过还想看
可能还想看
热点推荐

永洪科技
致力于打造全球领先的数据技术厂商

申请试用
Copyright © 2012-2024开发者:北京永洪商智科技有限公司版本:V10.2
京ICP备12050607号-1京公网安备110110802011451号 隐私政策应用权限