大数据架构的演进

减少数据生产者和消费者之间的处理延迟,一直是现代计算构架不断演进的主要动力。由此,诞生了实时和低延迟处理的计算构架,如Lambda和Kappa等,这类混合架构取长补短,架起传统的批处理层和交互式层之间连接的桥梁。

  • Lambda【3】 -该架构是经典的大数据处理范式,是由南森•马兹(Nathan Marz)提出的一个实时大数据处理框架。更多有关Lamda的信息,请读者访问Lambda官方网站。(注:文献【3】是由James Kinley在轻博客网站Tumblr发表的一篇博文:Lambda 架构:构架实时大数据系统的原则)。
  • Kappa【4】-该计算构架可视为Lambda的一个强有力替代者,Kappa将数据处理的上游移至流式层(注:文献【4】是一篇博客文章,作者是Jay Kreps是Linkedln的一名在线数据架构技术高管。Kreps认为,虽然Lambda构架的理念很有价值,但终究还是一个临时解决方案。他设计了一个替代架构Kappa,是基于他在Linkedin构建Kafka和Samza的经验设计而成)。
  • SummingBird【5】-这是一个参考模型,用来桥接在线处理模式和传统处理模式。Summingbird是由Twitter(推特)公司用Scala语言开发的、并开源的大规模数据处理框架,支持开发者以批处理模式(基于Hadoop)或流处理模式(基于Storm),或混合模式(即前两种模式的组合)以统一的方式执行代码。(注:文献【5】是Summingbird的主要设计者Oscar Boykin、Sam Ritchie等人于2014年发表于知名期刊PVLDB中论文,其中论文的二作Sam Ritchie大有来头,他是计算机科学界的传奇人物、C语言和Unix的设计者Dennis Ritchie的侄子)。

在你尚未深入了解下面的各个具体的框架层次之前,建议你认真阅读一下下面的几篇非常有价值的文献,它们帮为你“恶补”一下诸如NoSQL(非结构化)数据存储、数据仓库大规模计算及分布式系统等相关领域的背景知识:

  • 计算中心即计算机【6】(Data center as a computer)-文献【6】是威斯康星大学-麦迪逊分校Mark D. Hill教授主编的一个论文集式的图书,在这本图书中,收集了很多有关数据仓库大规模计算的论文(注:将数据中心视为一台计算机,与传统的高性能计算机有很大不同。计算中心的实例将以虚拟机或者容器的形式存在,计算资源的配置对于用户而言是透明的,这样就大幅降低系统部署的复杂度、并提高资源使用的灵活性)。
  • 非结构化(NOSQL)数据存储【7】- 文献是由Rick Cattell撰写的论文,论文讨论了可扩展的结构化数据的、非结构化的(包括基于键值对的、基于文档的和面向列的)数据存储方案(注:NOSQL是支撑大数据应用的关键所在。事实上,将NOSQL翻译为“非结构化”不甚准确,因为NOSQL更为常见的解释是:Not Only SQL(不仅仅是结构化),换句话说,NOSQL并不是站在结构化SQL的对立面,而是既可包括结构化数据,也可包括非结构化数据)。
  • NoSQL学位论文【8】-该文献是德国斯图加特传媒大学Christof Strauch撰写的学位论文,该论文对分布式系统和第一代非结构化系统提供了非常系统的背景知识介绍。
  • 大规模数据管理【9】-文献是加拿大阿尔伯塔大学的研究人员撰写的一篇综述,讨论了大数据应用程序的大规模数据管理系统,传统的数据库供应商与新兴的互联网企业,它们对大数据管理需求是不同的。文章的讨论范围涵盖很广,数据模型、系统结构及一致性模型,皆有涉及。
  • 最终一致性(Eventual Consistency)【10】:论文讨论了分布式系统中的各种不同的一致性模型。(注:原文给出的链接可能有误,因为根据所提供的链接下载而来的论文是关于“MapReduce中日志处理的Join算法”的综述文章,与“最终一致性”的讨论议题无关。这里推荐2篇新的相关论文:(1)综述文章:数据库最终一致性:最新的进展【10】new1;(2)微软研究人员2013年发表于SIGMOD的文章:“最终一致性的反思(Rethinking Eventual Consistency)【10】new2”。)
  • CAP理论【11】-文献以“CAP理论十二年回顾:"规则"已经变了”为题,探讨了CAP理论及其演化,是篇非常不错的介绍CAP理论的基础性论文(注:论文作者Eric Brewer是加州大学伯克利分校的知名计算机科学学者。该文首发于《Computer》杂志,随后又被InfoQ和IEEE再次发表。CAP理论断言,任何基于网络的数据共享系统,最多只能满足数据一致性(Consistency,C)、可用性(Availability ,A)、分区(Partition,P)容忍性这三要素中的两个要素。但通过显式处理分区,系统设计师可做到优化数据的一致性和可用性,进而取得三者之间的妥协与平衡)。

在过去,在大规模数据处理上,传统的并行数据库管理系统(DBMS)和基于Map Reduce(映射-规约,以下简称MR)的批处理范式之间,曾发生激烈辩论,各持己见。并行数据库管理系统的支持者【12】(注:由耶鲁大学、微软和麻省理工学院的研究人员于2009年发表在SIGMOD的一篇文章)和另外一篇文献【13】(注:2010年发表于《美国计算机学会通讯》上的论文:“MapReduce和并行数据库管理系统,是朋友还是敌人?”),被MR的拥趸者【14】(注:发表于美国计算机学会通讯的论文:MapReduce:一个弹性的数据处理工具)狠狠地给批驳了一番。

然而,令人讽刺的是,从那时起,Hadoop社区开始引入无共享的(Shared-Nothing)的MPP(大规模并行处理)风格的大数据处理模式,文献“Hadoop上的SQL【15】”,便是例证。要知道,MPP是并行数据库管理系统(DBMS)的灵魂,这样,Map Reduce绕了一大圈,又似回到它当初离开的地方。

发布了93 篇原创文章 · 获赞 5 · 访问量 8136

猜你喜欢

转载自blog.csdn.net/yunduo1/article/details/104313113