大数据平台架构的层次划分

article/2025/8/21 3:25:32

1. 数据源层:包括传统的数据库,数据仓库,分布式数据库,NOSQL数据库,半结构化数据,无结构化数据,爬虫,日志系统等,是大数据平台的数据产生机构。

2. 数据整理层:包括数据清洗、数据转换、数据加工、数据关联、数据标注、数据预处理、数据加载、数据抽取等工作,该层的作用是将raw data加工成product data。

3. 数据存储层(数据中心):存储了经过清洗处理后的可用于生产系统的数据,比如元数据,业务数据库,模型数据库等,该层直接面向应用系统,要求高可靠、高并发、高精度。

4. 数据建模与挖掘层:该层实现对数据的深加工,根据业务需要,建立适用于业务的数据统计分析模型,建立大数据运行处理平台,运用数据分析、数据挖掘、深度学习等算法从生产数据集中挖掘出数据内在的价值,为业务系统提供数据和决策支持。

5. 行业应用层:深入分析行业数据特点,梳理行业数据产品需求,建立适用于不同行业的数据应用产品。

6. 数据可视化:以智能报表、专题报告、BI展示、平台接口等多种方式提供数据展示和数据共享服务。

大数据平台架构的层次划分没啥标准,以前笔者曾经做过大数据应用规划,也是非常纠结,因为应用的分类也是横纵交错,后来还是觉得体现一个“能用”原则,清晰且容易理解,能指导建设,这里将大数据平台划分为“五横一纵”。

 

具体见下图示例,这张图是比较经典的,也是妥协的结果,跟当前网上很多的大数据架构图都可以作一定的映射。


 

根据数据的流向自底向上划分五层,跟传统的数据仓库其实很类似,数据类的系统,概念上还是相通的,分别为数据采集层、数据处理层、数据分析层、数据访问层及应用层。

 

同时,大数据平台架构跟传统数据仓库有一个不同,就是同一层次,为了满足不同的场景,会采用更多的技术组件,体现百花齐放的特点,这是一个难点。

 

数据采集层:既包括传统的ETL离线采集、也有实时采集、互联网爬虫解析等等。

 

数据处理层:根据数据处理场景要求不同,可以划分为HADOOP、MPP、流处理等等。

 

数据分析层:主要包含了分析引擎,比如数据挖掘、机器学习、 深度学习等。

 

数据访问层:主要是实现读写分离,将偏向应用的查询等能力与计算能力剥离,包括实时查询、多维查询、常规查询等应用场景。

 

数据应用层:根据企业的特点不同划分不同类别的应用,比如针对运营商,对内有精准营销、客服投诉、基站分析等,对外有基于位置的客流、基于标签的广告应用等等。

 

数据管理层:这是一纵,主要是实现数据的管理和运维,它横跨多层,实现统一管理。

 

1、数据采集层

 

离线批量采集,采用的是HADOOP,这个已经成为当前流线采集的主流引擎了,基于这个平台,需要部署数据采集应用或工具。

 

诸如BAT都是自己研发的产品,一般企业,可以采用商用版本,现在这类选择很多,比如华为BDI等等,很多企业技术实力有,但起步的时候往往对于应用场景的理解比较弱,细节做工很差,导致做出来的产品难以达到要求,比如缺乏统计功能等,跟BAT差距很大,传统企业去采购这类产品,要谨慎小心。

 

能做和做成产品是两个境界的事情,小的互联网企业当然也能做出对于自己好用的采集工具,但它很难抽象并打造出一个真正的产品,BAT自研其实形成了巨大的优势。

 

实时采集现在也成了大数据平台的标配,估计主流就是FLUME+KAFKA,然后结合流处理+内存数据库吧,这个技术肯定靠谱,但这类开源的东西好是好,但一旦出现问题往往解决周期往往比较长。

 

除了用FLUME,针对ORACLE数据库的表为了实现实时采集,也可以采用OGG/DSG等技术实现实时的日志采集,可以解决传统数据仓库抽全量表的负荷问题。

 

爬虫当前也逐渐成为很多企业的采集标配,因为互联网新增数据主要靠它,可以通过网页的解析获取大量的上网信息,什么舆情分析、网站排名啥的,建议每个企业都应该建立企业级的爬虫中心,如果它未在你的大数据平台规划内,可以考虑一下,能拿的数据都不拿,就没什么好说了。

 

企业级的爬虫中心的建设难度蛮大,因为不仅仅是需要爬虫,还需要建立网址和应用知识库,需要基于网页文本进行中文分词,倒排序及文本挖掘等,这一套下来,挑战很大,当前已经有不少开源组件了,比如solr、lucent、Nutch、ES等等,但要用好它,路漫漫其修远兮。

 

还有一个就是,如果有可能,笔者建议将数据采集平台升级为数据交换平台,因为其实企业内有大量的数据流动,不仅仅是单向的数据采集,而且有很多数据交换,比如需要从ORACLE倒数据到GBASE,从HBASE倒数据到ASTER等等,对于应用来讲,这个价值很大。

 

既然数据采集和数据交换有很多功能非常类似,为什么不做整合呢 也便于统一管理,感觉企业的数据交换大量都是应用驱动,接口管理乱七八糟,这也是我的一个建议。

 

总得来讲,建设大数据采集平台非常不易,从客户的角度讲,至少要达到以下三个要求:

 

多样化数据采集能力:支持对表、文件、消息等多种数据的实时增量数据采集(使用flume、消息队列、OGG等技术)和批量数据分布式采集等能力(SQOOP、FTP VOER HDFS),比基于传统ETL性能有量级上的提升,这是根本。

 

可视化快速配置能力:提供图形化的开发和维护界面,支持图形化拖拽式开发,免代码编写,降低采集难度,每配置一个数据接口耗时很短,以降低人工成本。

 

统一调度管控能力:实现采集任务的统一调度,可支持Hadoop的多种技术组件(如 MapReduce、Spark 、HIVE)、关系型数据库存储过程、 shell脚本等,支持多种调度策略(时间/接口通知/手工)。

 

2、数据处理层

 

Hadoop的HIVE是传统数据仓库的一种分布式替代。应用在传统ETL中的数据的清洗、过滤、转化及直接汇总等场景很适合,数据量越大,它的性价比越高。但目前为止看,其支撑的数据分析场景也是有限的, 简单的离线的海量分析计算是它所擅长的,相对应的,复杂的关联交叉运算其速度很慢。

 

一定程度讲,比如企业客户统一视图宽表用HIVE做比较低效,因为涉及到多方数据的整合,但不是不可以做,最多慢点嘛,还是要讲究个平衡。

 

hadoop到了X000台集群的规模也撑不住了,当前很多企业的数据量应该会超过这个数量,除了像阿里等自身有研发能力的企业(比如ODPS),是否也要走向按照业务拆分Hadoop集群的道路 诸如浙江移动已经拆分了固网、移网、创新等多个hadoop集群。

 

Hadoop的SPARK的很适合机器学习的迭代,但能否大规模的应用于数据关联分析,能否一定程度替代MPP,还需要实践来验证。

 

MPP应该来说,是采用分布式架构对于传统数据仓库最好的替代,毕竟其实际上是变了种的关系型数据库,对于SQL提供完整支持,在HIVE做了转化分析后,数据仓库的融合建模用它来做性能绰绰有余,其性价比较传统DB2更好一点,比如经过实用,Gbase30-40台集群就能超过2台顶配的IBM 780。

 

MPP现在产品很多,很难做优劣判断,但一些实践结果可以说下,GBASE不错,公司很多系统已经在上面跑了,主要还是国产的,技术服务保障相对靠谱,ASTER还有待观望,自带一些算法库是有其一些优势,GreenPlum、Vertica没用过,不好说。

 

现在有个说法是MPP最终也要被Hadoop那套框架替代,毕竟诸如SPARK啥的都在逐步稳定和成熟,但在短期内,我觉得还是很靠谱的,如果数据仓库要采用渐进的演化方式,MPP的确是很好的选择。

 

现在诸如中国移动,eBAY等大量公司都在采用这类混搭结构,以适应不同的应用场景,显然是一种自然的选择。

 

大数据平台的三驾马车,少不了流处理。

 

对于很多企业来讲,其显然是核武器般的存在,大量的应用场景需要它,因此务必要进行建设,比如在IOE时代不可想象的实时、准实时数据仓库场景,在流处理那里就变得很简单了,以前统计个实时指标,也是很痛苦的事情,当前比如反欺诈实时系统,一天系统就申请部署好了。

 

只尝试过STORM和IBM STREAM,推荐IBM STREAM,虽然是商业版本,但其处理能力超过STORM不是一点半点,据说STORM也基本不更新了,但其实数据量不大,用啥都可以,从应用的角度讲,诸如IBM这种商业版本,是不错的选择,支撑各类实时应用场景绰绰有余。

 

流处理集群以流处理技术结合内存数据库,用以实时及准实时数据处理,基于IBM Streams流处理集群承载公司的实时业务:


 

3、数据分析层

 

先谈谈语言,R和Python是当前数据挖掘开源领域的一对基友,如果要说取舍,笔者真说不出来,感觉Python更偏向工程一点,比如有对分词啥的直接支撑,R的绘图能力异常强大。但他们原来都以样本统计为主,因此大规模数据的支撑有限。

 

SPARK是一种选择,建议可以采用SPARK+scala,毕竟SPARK是用scala写的,对很多原生的特性能够快速支持。

 

TD的MPP数据库ASTER也内嵌了很多算法,应该基于并行架构做了很多优化,似乎也是一种选择,以前做过几度交往圈,速度的确很快,但使用资料屈指可数,还需要老外的支持。

 

传统的数据挖掘工具也不甘人后,SPSS现在有IBM SPSS Analytic Server,加强了对于大数据hadoop的支撑,业务人员使用反馈还是不错的。

 

也许未来机器学习也会形成高低搭配,高端用户用spark,低端用户用SPSS,也是要适应不同的应用场景。

 

无论如何,工具仅仅是工具,最终靠的还是建模工程师驾驭能力。

 

4、数据开放层

 

有些工程师直接将HIVE作为查询输出,虽然不合理,也体现出计算和查询对于技术能力要求完全不同,即使是查询领域,也需要根据不同的场景,选择不同的技术。

 

HBASE很好用,基于列存储,查询速度毫秒级,对于一般的百亿级的记录查询那也是能力杠杠的,具有一定的高可用性,我们生产上的详单查询、指标库查询都是很好的应用场景。但读取数据方面只支持通过key或者key范围读取,因此要设计好rowkey。

 

Redis是K-V数据库,读写速度比HBASE更快,大多时候,HBASE能做的,Redis也能做,但Redis是基于内存的,主要用在key-value 的内存缓存,有丢失数据的可能,当前标签实时查询会用到它,合作过的互联网或广告公司大多采用该技术,但如果数据越来越大,那么,HBASE估计就是唯一的选择了

 

另外已经基于IMPALA提供互联网日志的实时在线查询应用,也在尝试在营销平台采用SQLFire和GemFire实现分布式的基于内存的SQL关联分析,虽然速度可以,但也是BUG多多,引入和改造的代价较大。

 

Kylin当前算是基于hadoop/SPARK的多维分析的杀手级工具,应用的场景非常多,希望有机会使用。

 

5、数据应用层

 

每个企业应根据自己的实际规划自己的应用,其实搞应用蓝图很难,大数据架构越上层越不稳定,因为变化太快,以下是运营商对外变现当前阶段还算通用的一张应用规划图,供参考:

 


 

6、数据管理层

 

大数据平台的管理有应用管理和系统管理之分,从应用的角度讲,比如我们建立了DACP的可视化管理平台,其能适配11大搭数据技术组件,可以实现对各类技术组件的透明访问能力,同时通过该平台实现从数据设计、开发到数据销毁的全生命周期管理,并把标准、质量规则和安全策略固化在平台上,实现从事前管理、事中控制和事后稽核、审计的全方位质量管理和安全管理。

 

其它诸如调度管理、元数据管理、质量管理当然不在话下,因为管住了开发的源头,数据管理的复杂度会大幅降低。

 

从系统管理的角度看,公司将大数据平台纳入统一的云管理平台管理(私有云),云管理平台包括支持一键部署、增量部署的可视化运维工具、面向多租户的计算资源管控体系(多租户管理、安全管理、资源管理、负载管理、配额管理以及计量管理)和完善的用户权限管理体系,提供企业级的大数据平台运维管理能力支撑,当然这么宏大的目标要实现也非一日之功。

 

总结下大数据平台的一些革命性价值。

 

大数据时代,大多数企业的架构必然向着分布式、可扩展及多元化发展,所谓合久必分,不再有一种技术能包打天下了, 这冲击着传统企业集中化的技术外包模式,挑战是巨大的。


 

大数据及云计算时代,面多这么多技术组件,要采用一项新的技术,机遇和风险共存:

 

对于大数据平台的商业版本,企业面对的是合作伙伴的服务跟不上,因为发展太快,对于开源版本,企业面临的是自身运维能力和技术能力的挑战,对于自主能力实际要求更高。

 

当前BAT、华为、新型互联网等企业在风卷残云般的席卷人才, 对于诸如运营商等大型企业的人才挑战是巨大的,但同时也蕴含着机会, 事实上,对于致力于搞大数据的人来讲,来运营商等企业搞也是不错的选择,因为一方面企业在转型,另一方面数据量够大,技术主导的机会更多。


http://chatgpt.dhexx.cn/article/Gr01wUoB.shtml

相关文章

常见的大数据平台架构设计思路

近年来,随着IT技术与大数据、机器学习、算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘、识别、利用数据资产。如果缺乏有效的数据整体架构设计或…

大数据平台架构浅析——以讯飞大数据平台Odeon为例

文章目录 大数据平台架构解析——以讯飞大数据平台Odeon为例定义功能数据采集数据开发数据分析数据编程补充 大数据平台架构解析——以讯飞大数据平台Odeon为例 定义 Odeon大数据平台以全图形化Web操作的形式为用户提供一站式的大数据能力:包括数据采集、任务编排、…

浅谈大数据平台架构设计

全文共3735个字,建议8分钟阅读 近年来,随着IT技术与大数据、机器学习、算法方向的不断发展,越来越多的企业都意识到了数据存在的价值,将数据作为自身宝贵的资产进行管理,利用大数据和机器学习能力去挖掘、识别、利用数…

大数据平台架构包含哪些功能

为了满足企业对于数据的各种需求,需要基于大数据技术构建大数据平台。结合大数据在企业的实际应用场景,如下图所示的大数据平台架构所示: 最上层为应用提供数据服务与可视化,解决企业实际问题。第2层是大数据处理核心,…

大数据平台层级架构图

主流数据平台架构 一般包含三个层级,ODS层、数据仓库层、数据应用层。 业务系统的操作和日志数据抽取到ODS层,ODS的数据经过ETL过程(抽取Extraction,转化Transformation,加载Loading)进入数据仓库&#xff…

大数据平台架构

1 大数据组件架构 大数据架构分为:数据采集,传输,存储,调度和处理这五个部分.其中任务定期执行和任务分配,分别使用Azkaban和Zookeeper,大数据平台整体架构如图1所示,由图1可知,大数据平台的基础是服务器(硬件)&#…

大数据平台核心架构图鉴,建议收藏!

我们先来看看这张图,这是某公司使用的大数据平台架构图,大部分公司应该都差不多: 从这张大数据的整体架构图上看来,大数据的核心层应该是:数据采集层、数据存储与分析层、数据共享层、数据应用层,可能叫法有…

葱油拌面的做法 手残党都能学会

很多人都爱吃葱油拌面,可是在家怎么做葱油拌面呢? 葱油拌面 是一道以面条、猪油、黄瓜丝、葱、姜、盐、鸡精、酱油、白糖、料酒、桂皮、大料作为食材制作而成的家常面食。通常是将煮熟的面条放上葱油一起拌着吃。也是上海招牌美食,面条有韧劲又滑爽&am…

如何做红烧肉好吃又不腻 教你做红烧肉

如何做红烧肉好吃又不腻 最快的做法就是用高压锅了,加点花椒,大料,料酒,葱段,姜片,放到高压锅里开始炖,20分钟就很烂了,20分钟非常烂。之后捞出来。 (1)炒锅…

各种酱料名称大全_调料大全名称 日常调料有哪些

厨房里的调料主要有食盐、生抽、老抽、蚝油、香油、白醋、陈醋、八角、花椒、桂皮、陈皮、花椒、辣椒、生姜、大葱、大蒜、鱼露、味精、鸡精、料酒、白糖、冰糖、孜然、茴香、五香粉、十三香、胡椒、香叶等。 日常调料有哪些 调料主要是人们在日常生活中用来烹饪菜肴和食物等使…

吃海鲜搭配什么菜好 搭配这些健康又美味

相信海鲜是众多人心中无法割舍的心头爱之一,很多人下馆子必点海鲜类美味,也有人会自己在家制作各种海鲜美食,那么吃海鲜搭配什么菜好呢? 吃海鲜搭配什么菜好 麻辣拍黄瓜 这道菜想必大家都知道,但是它搭配着海鲜吃真的特别棒。…

“乌木”到底是何物?它是怎样形成的?为何总能卖出天价?

俗话说“家有乌木半方,胜过财宝一箱”,可见这乌木是一种多么珍贵的木材。那么这乌木到底是何物?它是怎样形成的?其实乌木是川人对阴沉木的俗称,有些知情人士知道,这阴沉木在古代人眼里是极为罕见的珍宝&…

数字签名和数字证书

文章目录 数字签名(digital signature)1. 解决问题2. 应用场景3. 运行原理4. 存在问题 数字证书(digital certificate)1. 解决问题2. 应用场景3. 运行原理1)申请数字证书2)应用在Https网站 提示:本篇文章融入了个人对相关概念的理解&#xff…

工艺路线和工序有差别吗_你知道吗?市政道路排水工程的主要工序施工工艺是什么...

易筑教育给排水课程火热招生中! 张老师微信号:yizhujiaoyu999 市政道排工程施工遵循的基本顺序是:先地下,后地上;先深后浅。按照这个顺序,正常的施工顺序为基础处理、排水管道(涵)施工(雨、污水)、道路基层…

从头搭建一个“微博”有多难

本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是分布式专题的第13篇,今天的文章我们不讲空洞的理论,来聊一个实际点的问题。 众所周知,微博的程序员经常不定期加班。和别的程序员不同&#xff0c…

劫持流量是什么,常见的流量劫持手法有哪些呢?

网络流量劫持是什么?其实就是大坏蛋动用一切技术手段,当亲们输入一个网址然后点击回车的时候,把亲们忽悠另一个网站上去哦,或者向亲们原本想访问的的网站内容里加点花椒大料。 IIS7网站监控可以及时防控网站风险,快速准确监控网站是否遭到各种劫持攻击,网站在全国是否能正…

html时分选择器,HTML常用标签+CSS选择器-2018年8月14日20时20分提交

实例 HTML>标签的使用及布局 body{ width:auto; height:auto; padding: 0px; margin: 0px; font-weight:bold; background-color: #0d0410; }/*宽、高设置自动,内外补丁设置0PX,字体宽度默认,背景颜色黑色*/ a{ text-decoration: none; co…

私厨菜谱app的设计与实现(二)

一.准备工作 1.注册API账号 2.添加第三方依赖 首先添加首先添加RecyclerView、OkHttp、 Glide、Gson的依赖 implementation com.android.support:recyclerview-v7:28.0.0 implementation com.squareup.okhttp3:okhttp:4.4.0 implementation com.github.bumptech.glide:glide:4.…

Node.js学习(三)常用模块与网络爬虫

学习视频 Node.js学习(一)介绍 Node.js学习(二)异步、缓存区、文件系统 path模块 nodejs中,提供了一个path模块,在这个模块中,提供了许多实用的、可被用来处理与转换文件路径的方法和属性 什么…

Escript氨基酸对比图怎么看_23张和田玉真假皮色对比图,看懂了再也不怕被坑

在玉石珠宝这个行业中,利益的驱使常常使很多商贩有各种各样不同的手段来造蒙骗。不管哪一个品种里有或多或少的假货掺杂。比如和田玉,假皮种类形形色色、多种多样。如果是初学者,辨别其真伪的确有一定难度,高科技下的造假皮色&…