1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 【大数据】企业级大数据技术体系概述

【大数据】企业级大数据技术体系概述

时间:2023-07-02 16:55:17

相关推荐

【大数据】企业级大数据技术体系概述

目录

产生背景

常见应用场景

企业级大数据技术框架

数据收集层

数据存储层

资源管理与服务协调层

计算引擎层

数据分析层

数据可视层

企业级大数据技术实现方案

Google 大数据技术栈

Hadoop与Spark开源大数据技术栈

一个经典LA应用案例:推荐系统

产生背景

大数据技术直接来源互联网行业,互联网的用户量和数据越来越多逐步形成大数据,根据有关技术报告知道,国内百度,腾讯,和阿里巴巴等数据规模如下():

百度数据总量接近1000PB,网页数量几千亿个,每年更新几十亿个,每天查询次数几十亿次。腾讯用户约有8亿,4亿移动用户,总存储数据量经压缩处理后100PB,日增200TB到30TB。阿里巴巴总数据量100PB,每天活跃数据量超过50TB。

常见应用场景

互联网领域:搜索引擎,推荐系统,广告系统

电信领域:

网络管理与优化:包括基础设施优化,网络运营管理和优化。市场与精准营销:包括客户画像,关系链研究,精准营销,实时营销和个性化推荐。客户关系管理:包括客户中心优化和客户生命周期管理。企业运营管理:包括业务运营监控和经营分析。数据商业化:数据对外商业化,单独盈利。

医疗领域:临床数据对比,药品研发,临床决策支持,实时统计分析,基本药物临床应用分析,远程病人数据分析,人口统计学分析,新农合基金数据分析,就诊行为分析,新的服务模式等。

金融领域:

用户画像应用:个人客户和企业客户,个人画像包括人口统计学特征,消费能力,兴趣,风险爱好等;企业客户画像包括企业的生产,流通,运营,财务,销售,客户,相关产业链上下游等数据。精准营销:如根据客户的年龄,资产规模,理财偏好等,对客户群进行精准定位,分析出其潜在的金融服务需求,进行针对性营销推广。风险管控:中小企业贷款风险评估和反欺诈交易识别等手段运营优化:对市场和渠道分析优化,产品和服务优化等。通过监控不同市场推广渠道尤其是网络渠道推广的质量,从而进行合作渠道的调整和优化;将客户行为转化为信息流,从中分析客户的个性特征和风险偏好,更深层次地理解客户的习惯,智能化分析和预测客户需求,从而进行产品创新和服务优化。

企业级大数据技术框架

数据在信息系统中流动,大数据从数据源开始,经过分析,挖掘到最终获得有价值,经过 6 个环节:

数据收集数据存储资源管理与服务协调计算引擎数据分析数据可视化

企业级大数据技术体系

数据收集层

数据源一般特点

分布式:分布在不同机器或设备上,通过网络连接在一起。异构性:任何能产生数据的系统均可以称为数据源,如手环,传感器,视频摄像头等。多样化:关系型(用户基本信息)和非关系型(图片,音频,视频等)。流式产生:数据源如同“水龙头”,源源不断。收集系统应实时或近实时将数据发送到后端,以便对数据进行及时分析。

适用大数据领域收集系统一般具备特性

扩展性:适配不同数据源,并能接入大量数据源而不会产生系统瓶颈。可靠性:数据不丢失安全性:敏感数据处理机制低延性:保证较低延迟前提将数据传输到后端系统

数据存储层

扩展性:存储能力扩展容错性:考虑成本等因素,大数据系统从最初假设构建在廉价机器上,要求系统本身就有良好的容错机制确保在机器出现故障时不会导致丢失数据。存储模型:支持多种数据模型

资源管理与服务协调层

传统的"一个应用一个集群"缺点:资源利用率低,运维成本高,从而引入数据共享轻量级弹性资源管理平台,资源统一管理层好处:

资源利用率高:共享集群模式通过多种应用共享资源,使得集群中资源得到充分利用。运维成本低:需要少数管理员即可完成多个框架的统一管理。数据共享:共享集群模式解决跨集群间的数据移动不仅需要花费更长的时间,且硬件成本也大大增加问题。

计算引擎层

针对不同应用场景,单独构建一个计算机引擎,每种计算引擎只专注于解决某一类问题。

批处理:对实时要求低,追求高吞吐量,比如搜索引擎建索引,数据挖掘,机器学习等。交互式处理:对时间要求较高,秒级别。需要跟人进行交互,如应用数据查询,参数化报表,OLAP等。实时处理:对时间要求最高,延迟在秒级内,如广告系统,舆情监测等。

数据分析层

该层直接跟用户应用程序对接,提供易用的数据处理工具。一般结合工具使用,使用处理框架对原始海量数据进行分析,产生较小规模的数据集,在此基础上,再使用交互式处理工具对数据集进行快速查询,获取查询结果。

数据可视层

运用计算机图形学和图像处理技术,将数据转换为图形或图像在屏幕上显示出来,并进行交互式的理论,方法和技术。

企业级大数据技术实现方案

Google 大数据技术栈

( 论文形式对外公开)

Google 大数据技术栈

1.数据存储层

GFS:文件系统(Google File System)是一个分布式文件系统。BigTable:构建在GFS上分布式数据库,本质上是一个稀疏,分布式,持久化存储的多维度排序映射表。MegaStore:构建在BigTable之上,支持ACID特性分布式数据库。Spanner:可扩展,多版本,全球分布式,支持同步复制的数据库。

2.资源管理与服务协调层

Borg:集群资源管理器和调度系统,负责集群的资源管理器和统一调度,并对应程序进行接收,启动,停止,重启和监控。Omega:Google下一代集群资源管理器和调度系统。Chubby:为松散耦合的分布式系统提供粗粒度的锁以及可靠存储。

3.计算引擎层

MapReduce:批处理计算框架,任务分解和结果汇总。Dreme:分布式OLAP系统Prege:分布式图计算框架,专门用来解决网页链接分析,设计数据挖掘等实际应用中涉及的大规模分布式图计算框架。Precolator:基于BigTable构建的大数据集增量更新系统。MillWheel:分布式流式实时处理框架

4.数据分析层

FlueJava:建立在MapReduce之上的编程库Tenzing:建立在MapReduce之上的SQL查询执行引擎。将用户编写的SQL语句转化为MapReduce程序,并提交到集群分布式并行执行。

Hadoop与Spark开源大数据技术栈

Hadoop 与 Spark 大数据技术栈

1.数据收集层

主要由关系型和非关系型数据收集组建,分布式消息队列构成。

Sqoop/Cannal:关系型数据收集和导入工具,是连接关系型数据库 (比如MySQL) 和Hadoop (比如HDFS) 的桥梁。Sqoop可将关系型数据库中的数据全量导入Hadoop,反之亦可,Cannal用于实现数据的增量导入。Flume:非关系型数据收集工具,主要是流式日志数据,可近实时收集,经过滤,聚合后加载到HDFS等储存系统。Kafka:分布式消息队列,一般做数据总线使用,它允许多个数据消费者订阅并获取感兴趣的数据。(分布式高容错设计

2.数据存储层

主要由分布式文件系统(面向文件的存储)和分布式数据库(面向行/列的存储)构成。

HDFS:Hadoop分布式文件系统,Google GFS的开源实现,具有良好扩展性与容错性等优点。HBase:构建在HDFS之上的分布式数据库,Google Bigtable的开源实现,允许用户存储结构化与半结构化的数据,支持行列无限扩展以及数据随机查找与删除。Kudo:分布式列式存储数据库,允许用户存储结构化数据,支持行无限扩展以及数据随机查找和更新。

3.资源管理与服务协调

YARN:统一资源管理和调度系统,它能够管理集群中的各种资源(比如CPU,内存等),按照一定策略分配给上层的各类应用。内置了多种多租户资源调度器,允许用户按照队列的方式组织和管理资源,且每个队列的调度机制可以独立定制。ZooKeeper:基于简化的Paxos协议实现的服务协调系统,提供类型类似文件系统的数据模型,允许用户通过简单的API实现leader选举,服务命名,分布式队列与分布式锁等复杂的分布式通用模块。

4.计算引擎层

包含批处理,交互式处理和流式实时处理三种引擎

MapReduce/Tez:典型的批处理计算引擎,允许用户通过简单的API编写分布式程序;Tez基于MapReduce开发的通用的DAG计算引擎,能够更加高效实现负责的数据处理逻辑,目前应用在Hive, Pig等数据分析系统中。Spark:通用的DAG计算引擎,提供了基于RDD的数据抽象表示,允许用户充分利用内存进行快速数据挖掘和分析。Impala/Presto:分别由Cloudera和Facebook开源的MPP系统,允许用户使用标准SQL处理存储在Hadoop中的数据,采用并行数据架构,内置了查询优化器,查询下推,代码生成等优化机制。Storm/Spark Streaming:分布式流式实时计算引擎,允许用户通过简单的API完成实时应用程序的开发工作。

5.数据分析层

方便用户解决大数据问题而提供各种数据分析工具

Hive/Pig/SparkSQL:支持SQL或脚本语言的分析系统,降低用户进行大数据分析的门槛。Mahout/MLlib:机器学习库学习库实现了常用的机器学习和数据挖掘算法,Mahout最初是基于MapReduce实现的,目前正逐步迁移到Spark引擎上。MLib是基于Spark实现的。Apache Bean/Cascading:基于各类计算框架而封装的高级API,方便用户构建负责的数据流水线。

大数据架构:Lambda Architecture

LA最早Twitter工程师提出来,大数据软件设计架构,目的指导用户充分利用批处理和流式计算计算各自的优点实现一个复杂大数据处理系统。

批处理层:思想是利用分布式批处理处理计算,以批为单位处理数据,并产生一个经预算产生的只读数据视图。将数据流看成只读,仅支持追加操作的超大数据集;优点是吞吐率高,缺点是数据处理延迟高流式处理层:为降低批处理延迟。优点是处理延迟低,缺点是无法进行复杂的逻辑计算,得到结果往往是近似解。服务层:整合批处理层和流式处理层,既保证数据延迟低,也能完成复杂的逻辑计算。对外提供统一的接口方便用户使用。

一个经典LA应用案例:推荐系统

推荐系统设计目的:根据用户的兴趣特点和购买行为,向用户推荐感兴趣的信息和商品。建立在海量数据挖掘基础上的一种高级商务智能平台,帮助商家为其顾客购物提供完全个性化决策支持和信息服务。

推荐系统数据流水线

注:内容主要整理自《大数据技术体系详解 原理、架构与实践》 董西成

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。