分享

大数据处理技术归类

 duxiaoli83 2016-02-04

大数据处理技术归类

以前一篇博客,从宏观描述了云梯 1 当时整体生态,年底了,笔者再梳理下软件栈,主要以开源软件为主,闭源不谈。大数据发展至今,开源软件层出不穷,也去解决了不同的问题,笔者试图去弄清楚这些,分门别类,后面也可以参照下。由于笔者知识面有限,难免会出现一些偏颇,不全,不正确,还请指正。后面也会有很多新的软件出现,一段时间后,软件栈也会变化的。

典型架构

大数据处理技术归类

很多的场景都是如上的,有 web(包括无线、以前 CS 的模式、现在的 BS 模式等)、DB、cache、数据分析我就用了 Hadoop 了(代名词,或者泛指数据仓库了),另外就是一些传感器之类的,数据通道(有的简单如:jdbc 等,有的比较复杂,保序不丢等),其中也简单列了一些中间件的软件。这张图组成了一家公司的基本架构形式,其中每个点都是一个领域。每个点、每条边、有成千上万的同学在奉献。其中 DB、Hadoop 一般沉淀了数据,包含了大部分的计算。

大数据软件栈

大数据处理技术归类

从软件栈上看,笔者简单列出了一些主流的软件,当然每层的软件肯定不仅仅这些。还有上一层是开发者平台,再上是 BI,应用,此点就属于 sass 层,很多公司在此层创业,笔者没有列出。其中分布式计算这层软件最多,有两句话:业务数据化,就是业务系统的数据沉淀在大数据平台;还有数据业务化,也就是体现数据的价值,需要各种各样的计算引擎了。另外:从部署来看,大数据基础软件上云,虚拟化应该是一个趋势。存储、计算分离,分开部署是否是一个趋势呢? 随着网络带宽的提速及成本的降低,在一些场景下简化了复杂性,也未尝不是一种尝试。deploy 层解决大数据的部署问题,更加弹性的添加释放资源,包括资源的隔离,跟 Resourcemanager 层有点类似;storge format 数据存储的格式,列式存数为主;distributeFileSystem 提供分布式文件的存储能力, 其实可以是如:亚马逊的 S3,或者阿里的 OSS;Resourcemanager 提供大数据操作系统,可以把不同的 engine 调度起来,包括怎么做隔离等;distribute engine 百花齐放,为不同场景提供了很多解决方案,一般应用系统会使用多个 engine 的,甚至也可以包括 DB,如果下层的 Resourcemanager 做的足够优秀;script 层一般降低使用大数据的成本,包括 sql、pig 等方式,这层是有表的概念的,我们可以跟存储结合起来,提供一个全局的元数据中心;data exchange 提供不同系统之间数据流转的能力。

数据量与处理时间

大数据处理技术归类

在以时间、数据量的坐标抽上列出目前引擎大致擅长处理数据的坐标,应该还需要加上数据复杂度、成本等维度,才能更好的体现侧重点。没有哪个软件能解决所有的问题,能解决问题也是在一个范围内,即使是 spark、flink 等。目前存在有意思的事情是:greenplum 类似的 MPP 引擎想处理大数据的需求,hadoop 等被定位为大数据的引擎也想解决小数据的问题(列式存储、或者也加入一些索引)。图中右上角的想往左边靠,减少延迟,图中左下角的想往上面靠,增大能处理的数据量。

场景

大数据处理技术归类

笔者没有想到更好的方式组织此图,只能如此画出,每个领域或者场景内,又会细分出很多的子场景。

DB 层不用去讲,每个网址必有一个 DB 的。NO-SQL 产品就太多了,还分文档类型的,有读优写查、读差写优的等,其实也是 DB。MPP 其实也发展了很多年,比 hadoop 之类还要早,主要限制点就是扩展性、灵活性。greenplum 开源后,此思潮又火了一把。search 一直笔者认为是一个很有意思的产品,产品本身没有准确性的要求,是讲究准确率的。streaming 是目前比较火的,特别是物联网、工业 4.0 的概念越来越火以后。graph 也有相应的 db,这里一般是分析型的,graph 很多问题用 ml 也可以解决,或者认为其本身也是 ml 吧,场景比较多,一般就独立出来了。ml 可以说现在也是热点之一,只要是数据创业公司,基本 ml 是其核心的,门槛也比较高。ETL 个人感觉目前还是 hive 最适合的,能取得很高的吞吐,当然别的产品也可以跑的。 一些如 GPU、量子计算、银河之类的就不讨论了。

spark、flink 肯定是明星,他们能解决了好几个领域的问题。大数据的实时分析系统是否就是用 MPP 之类去实现,还是以一种更加杂揉的方式实现,目前我也不清楚。druid、kudu 不知道放在哪里好,也许就是这种杂揉体,说不定会解决很多的问题,赢得市场。

说了这么多,是希望能成体系的梳理下现有的软件。每个软件做出来肯定是为了解决特定场景的问题,也会发挥一定的价值,万物有生有灭,也许下一代计算机的出现,如量子计算会颠覆现有的模式,到时候就是去 HADOOP、超级计算机了,希望笔者还能看到。

http:///blog/2016/02/02/2016_bigdata_process_classification/

sohu-dba

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多