大数据技术框架

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 【4月更文挑战第20天】大数据一般需要经过6个主要环节,包括数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析和数据可视化。

大数据尝试从海量数据中,通过一定的分布式技术手段,挖掘出有价值的信息,最终提供给用户,进而产生实用价值和商业价值。

从数据在信息系统中的生命周期看,大数据从数据源开始,经过分析、挖掘到最终获得价值一般需要经过6个主要环节,包括数据收集、数据存储、资源管理与服务协调、计算引擎、数据分析和数据可视化,每个环节都面临不同程度的技术挑战。

1、数据收集层

数据收集层由直接跟数据源对接的模块构成,负责将数据源中的数据近实时或实时收集到一起。数据源具有分布式、异构性、多样化及流式产生等特点:

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


由于数据源具有以上特点,将分散的数据源中的数据收集到一起通常是一件十分困难的事情。一个适用于大数据领域的收集系统,一般具备以下几个特点:

  • 扩展性:能够灵活适配不同的数据源,并能接入大量数据源而不会产生系统瓶颈;
  • 可靠性:数据在传输过程中不能够丢失(有些应用可容忍少量数据丢失)。
  • 安全性:对于一些敏感数据,应有机制保证数据收集过程中不会产生安全隐患。
  • 低延迟:数据源产生的数据量往往非常庞大,收集系统应该能够在较低延迟的前提下将数据传输到后端存储系统中。


为了让后端获取全面的数据,以便进行关联分析和挖掘,通常我们建议将数据收集到一个中央化的存储系统中。

2、数据存储层

数据存储层主要负责海量结构化与非结构化数据的存储。传统的关系型数据库(比如MySQL)和文件系统(比如Linux文件系统)因在存储容量、扩展性及容错性等方面的限制,很难适应大数据应用场景。


在大数据时代,由于数据收集系统会将各类数据源源不断地发到中央化存储系统中,这对数据存储层的扩展性、容错性及存储模型等有较高要求,总结如下:

  • 扩展性:在实际应用中,数据量会不断增加,现有集群的存储能力很快将达到上限,此时需要增加新的机器扩充存储能力,这要求存储系统本身具备非常好的线性扩展能力。
  • 容错性:考虑到成本等因素,大数据系统从最初就假设构建在廉价机器上,这就要求系统本身就有良好的容错机制确保在机器出现故障时不会导致数据丢失。
  • 存储模型:由于数据具有多样性,数据存储层应支持多种数据模型,确保结构化和非结构化的数据能够很容易保存下来。

3、资源管理与服务协调层

随着互联网的高速发展,各类新型应用和服务不断出现。在一个公司内部,既存在运行时间较短的批处理作业,也存在运行时间很长的服务,为了防止不同应用之间相互干扰,传统做法是将每类应用单独部署到独立的服务器上。该方案简单易操作,但存在资源利用率低、运维成本高和数据共享困难等问题。为了解决这些问题,开始尝试将所有这些应用部署到一个公共的集群中,让它们共享集群的资源,并对资源进行统一使用,同时采用轻量级隔离方案对各个应用进行隔离,因此便诞生了轻量级弹性资源管理平台,相比于“一种应用一个集群”的模式,引入资源统一管理层可以带来众多好处:

  • 资源利用率高:如果每个应用一个集群,则往往由于应用程序数量和资源需求的不均衡,使得在某段时间内有些应用的集群资源紧张,而另外一些集群资源空闲。共享集群模式通过多种应用共享资源,使得集群中的资源得到充分利用。
  • 运维成本低:如果采用“一个应用一个集群”的模式,则可能需要多个管理员管理这些集群,进而增加运维成本。而共享模式通常需要少数管理员即可完成多个框架的统一管理。
  • 数据共享:随着数据量的暴增,跨集群间的数据移动不仅需花费更长的时间,且硬件成本也会大大增加,而共享集群模式可让多种应用共享数据和硬件资源,这将大大减小数据移动带来的成本。


在构建分布式大数据系统时,会面临很多共同的问题,包括leader选举、服务命名、分布式队列、分布式锁、发布订阅功能等,为了避免重复开发这些功能,通常会构建一个统一的服务协调组件,包含了开发分布式系统过程中通用的功能。

4、计算引擎层

在实际生产环境中,针对不同的应用场景,我们对数据处理的要求是不同的,有些场景下,只需离线处理数据,对实时性要求不高,但要求系统吞吐率高,典型的应用是搜索引擎构建索引;有些场景下,需对数据进行实时分析,要求每条数据处理延迟尽可能低,典型的应用是广告系统及信用卡欺诈检测。为了解决不同场景下数据处理问题,起初有人尝试构建一个大统一的系统解决所有类型的数据计算问题,但最终以失败告终。究其原因,主要是因为不同类型的计算任务,其追求的目标是不同的,批处理计算追求的是高吞吐率,而实时计算追求的是低延迟。在现实系统中,系统吞吐率和处理延迟往往是矛盾的两个优化方向:系统吞吐率非常高时,数据处理延迟往往也非常高,基于此,用一个系统完美解决所有类型的计算任务是不现实的。


针对不同应用场景,单独构建一个计算引擎,每种计算引擎只专注于解决某一类问题,进而形成了多样化的计算引擎。总体上讲,可按照对时间性能的要求,将计算引擎分为三类:

  • 批处理:该类计算引擎对时间要求最低,一般处理时间为分钟到小时级别,甚至天级别,它追求的是高吞吐率,即单位时间内处理的数据量尽可能大,典型的应用有搜索引擎构建索引、批量数据分析等。
  • 交互式处理:该类计算引擎对时间要求比较高,一般要求处理时间为秒级别,这类系统需要跟人进行交互,因此会提供类SQL的语言便于用户使用,典型的应用有数据查询、参数化报表生成等。
  • 实时处理:该类计算引擎对时间要求最高,一般处理延迟在秒级以内,典型的应用有广告系统、舆情监测等。

5、数据分析层

数据分析层直接跟用户应用程序对接,为其提供易用的数据处理工具。为了让用户分析数据更加容易,计算引擎会提供多样化的工具,包括应用程序API、类SQL查询语言、数据挖掘SDK等。


在解决实际问题时,数据科学家往往需根据应用的特点,从数据分析层选择合适的工具,大部分情况下,可能会结合使用多种工具,典型的使用模式是:首先使用批处理框架对原始海量数据进行分析,产生较小规模的数据集,在此基础上,再使用交互式处理工具对该数据集进行快速查询,获取最终结果。

6、数据可视化层

数据可视化技术指的是运用计算机图形学和图像处理技术,将数据转换为图形或图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。它涉及计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。


数据可视化层是直接面向用户展示结果的一层,由于该层直接对接用户,是展示大数据价值的“门户”,因此数据可视化是极具意义的。考虑到大数据具有容量大、结构复杂和维度多等特点,对大数据进行可视化是极具挑战性的。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
2月前
|
数据采集 人工智能 分布式计算
ODPS在AI时代的发展战略与技术演进分析报告
ODPS(现MaxCompute)历经十五年发展,从分布式计算平台演进为AI时代的数据基础设施,以超大规模处理、多模态融合与Data+AI协同为核心竞争力,支撑大模型训练与实时分析等前沿场景,助力企业实现数据驱动与智能化转型。
260 4
|
3月前
|
存储 分布式计算 Hadoop
Hadoop框架解析:大数据处理的核心技术
组件是对数据和方法的封装,从用户角度看是实现特定功能的独立黑盒子,能够有效完成任务。组件,也常被称作封装体,是对数据和方法的简洁封装形式。从用户的角度来看,它就像是一个实现了特定功能的黑盒子,具备输入和输出接口,能够独立完成某些任务。
|
2月前
|
SQL 分布式计算 大数据
我与ODPS的十年技术共生之路
ODPS十年相伴,从初识的分布式计算到共生进化,突破架构边界,推动数据价值深挖。其湖仓一体、隐私计算与Serverless能力,助力企业降本增效,赋能政务与商业场景,成为数字化转型的“数字神经系统”。
|
3月前
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
3月前
|
存储 分布式计算 算法
Java 大视界 -- Java 大数据在智能教育在线考试监考与作弊检测中的技术创新(193)
本文探讨了Java大数据技术在智能教育在线考试监考与作弊检测中的创新应用。随着在线考试的普及,作弊问题日益突出,传统监考方式难以应对。通过Java大数据技术,可实现考生行为分析、图像识别等多维度监控,提升作弊检测的准确性与效率。结合Hadoop与Spark等技术,系统能实时处理海量数据,构建智能监考体系,保障考试公平性,推动教育评价体系的数字化转型。
|
3月前
|
SQL 缓存 监控
大数据之路:阿里巴巴大数据实践——实时技术与数据服务
实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。
|
7月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
293 79
|
5月前
|
人工智能 分布式计算 大数据
MCP、MaxFrame与大数据技术全景解析
本文介绍了 MCP 协议、MaxFrame 分布式计算框架以及大数据基础设施建设的相关内容。MCP(Model Context Protocol)是一种开源协议,旨在解决 AI 大模型与外部数据源及工具的集成问题,被比喻为大模型的“USB 接口”,通过统一交互方式降低开发复杂度。其核心架构包括 Client、Server、Tool 和 Schema 四个关键概念,并在百炼平台中得到实践应用。MaxFrame 是基于 Python 的高性能分布式计算引擎,支持多模态数据处理与 AI 集成,结合 MaxCompute 提供端到端的数据处理能力。
|
6月前
|
数据采集 分布式计算 数据可视化
大数据项目成功的秘诀——不只是技术,更是方法论!
大数据项目成功的秘诀——不只是技术,更是方法论!
156 8
大数据项目成功的秘诀——不只是技术,更是方法论!
|
传感器 分布式计算 安全
Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与分析技术(171)
本文围绕 Java 大数据在智能安防入侵检测系统中的应用展开,剖析系统现状与挑战,阐释多源数据融合及分析技术,结合案例与代码给出实操方案,提升入侵检测效能。

热门文章

最新文章