你好,游客 登录
背景:
阅读新闻

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

[日期:2014-12-03] 来源:科技橘报  作者: [字体: ]

    目前大数据的相关应用有不少都是从 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 等等,这或许是身为使用者的我们最乐于见到的发展。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款