【大数据】重塑时代的核心技术及其发展历程

news2024/9/21 22:55:42

🐇明明跟你说过:个人主页

🏅个人专栏:《大数据前沿:技术与应用并进》🏅

🔖行路有良友,便是天堂🔖

目录

一、引言

1、什么是大数据

2、大数据技术诞生的背景

二、大数据技术的发展历程

1、早期阶段(1960s-1980s)

2、互联网时代的到来(1990s-2000s)

3、大数据概念的提出与技术体系的形成(2000s-2010s)

4、大数据生态系统的扩展与成熟(2010s-至今)

5、关键技术的里程碑

三、大数据关键技术

1、数据采集

2、数据存储

3、数据分析


一、引言

1、什么是大数据

大数据(Big Data)是指无法通过传统的数据处理技术和工具在合理的时间范围内高效处理、存储和分析的数据集合。它通常具有以下几个核心特征,也被称为大数据的“5V”特征:

1. Volume(数据量)

  • 规模巨大:大数据的核心特征之一是其数据量庞大,通常以TB(太字节)、PB(拍字节)甚至EB(艾字节)为单位。传统的数据管理工具和数据库难以处理如此规模的数据。


2. Velocity(速度)

  • 生成和处理速度快:大数据不仅涉及庞大的数据量,还要求快速的数据生成、传输和处理。实时数据处理需求增加,例如实时流媒体、实时交易数据分析等,都要求能够在毫秒或秒级的时间内处理数据。


3. Variety(多样性)

  • 数据类型多样:大数据不仅包括结构化数据(如表格数据),还包括大量的非结构化数据(如文本、图像、视频)和半结构化数据(如JSON、XML)。这些数据格式各异,来源广泛,需要不同的处理和分析技术。


4. Veracity(真实性)

  • 数据真实性和准确性:大数据中包含的信息可能来源复杂,存在噪声、错误或不一致性,因此在处理大数据时,数据的质量、可信度和准确性是一个重要的挑战。


5. Value(价值)

  • 数据潜在价值巨大:大数据本身并不意味着有价值,真正的价值在于通过对大数据的分析和挖掘,能够发现有意义的模式、趋势和相关性,从而为企业和组织提供决策支持、优化业务流程和创造新的商业机会。

2、大数据技术诞生的背景

大数据技术的诞生背景可以追溯到信息化时代的发展,特别是随着互联网、移动设备、社交媒体、物联网(IoT)等技术的普及,数据生成量呈现爆炸式增长。这种数据的爆炸性增长带来了巨大的挑战和机遇,推动了大数据技术的诞生。

1. 数据量的急剧增长

  • 互联网普及:互联网的广泛应用使得全球各地的人们可以生成和访问大量的数据,包括网页、电子邮件、社交媒体内容、视频等。
  • 移动设备和物联网:智能手机、传感器、智能家居设备等不断生成数据,从位置数据、传感器数据到使用模式等。这些数据的数量远超传统数据源。


2. 数据类型的多样性

  • 非结构化和半结构化数据:除了传统的结构化数据(如数据库中的表格数据),非结构化数据(如文本、图像、视频)和半结构化数据(如XML、JSON)成为重要的数据类型,需要新的技术来处理和分析。
  • 实时数据处理需求:许多应用场景要求对数据进行实时处理和分析,例如金融市场、网络安全监控、物联网设备管理等。


3. 传统数据处理技术的局限性

  • 存储和处理能力不足:传统数据库技术和数据仓库在处理大规模数据(TB、PB级别)时遇到了瓶颈,无论是在存储、计算能力还是查询性能上,都难以应对新的需求。
  • 扩展性差:传统数据处理技术通常难以横向扩展,难以在多台机器上高效分布式处理大规模数据。


4. 计算能力和存储技术的进步

  • 分布式计算框架:如Hadoop、Spark等分布式计算框架的出现,提供了处理海量数据的能力。这些框架能够在大规模集群上并行处理数据,显著提高了数据处理效率。
  • 云计算:云计算的兴起为大数据处理提供了弹性、高效的计算资源,用户可以根据需求动态调整计算和存储资源。

二、大数据技术的发展历程

1、早期阶段(1960s-1980s)

  • 数据管理和数据库的诞生:20世纪60年代,计算机的普及促使数据量逐步增加,早期的数据库管理系统(DBMS)如IBM的IMS、Oracle的关系数据库开始发展。数据管理技术逐渐成熟,关系数据库成为数据存储和查询的主要方式。
  • 结构化数据的存储与管理:随着企业信息化的推进,结构化数据(如财务报表、库存管理等)成为数据库的主要处理对象。SQL(Structured Query Language)在20世纪70年代被开发出来,成为关系数据库操作的标准语言。


2、互联网时代的到来(1990s-2000s)

  • 数据爆炸的开始:随着互联网的普及和电子商务的发展,数据量迅速增加。传统的关系数据库在处理海量数据时遇到了瓶颈,特别是在处理非结构化数据(如文本、图像、视频)方面。
  • NoSQL数据库的兴起:为应对大规模数据和分布式存储需求,NoSQL数据库(如Cassandra、MongoDB、HBase)在2000年代逐渐兴起,这类数据库设计用于处理高并发读写和水平扩展。


3、大数据概念的提出与技术体系的形成(2000s-2010s)

  • 大数据的定义与特征:在2000年代中期,“大数据”概念逐渐成形,通常用4V(Volume, Velocity, Variety, Veracity)来描述,即数据量巨大、速度快、种类多、真实性复杂。
  • Hadoop的诞生:2006年,Apache Hadoop项目正式启动。Hadoop是基于Google的MapReduce论文的开源实现,提供了分布式存储(HDFS)和分布式计算(MapReduce)能力,成为大数据处理的基础框架。
  • 数据仓库与BI(商业智能):传统数据仓库技术(如Teradata、Informatica)与BI工具(如Tableau、Power BI)开始与大数据技术结合,支持对大规模数据的深度分析和可视化。


4、大数据生态系统的扩展与成熟(2010s-至今)

  • 实时数据处理与流计算:随着物联网、社交媒体和在线交易等实时数据源的普及,实时数据处理需求激增。Apache Kafka、Apache Storm、Apache Flink等流处理框架应运而生,支持实时数据的采集、传输和处理。
  • 云计算与大数据:云计算平台(如AWS、Google Cloud、Microsoft Azure)提供了大规模数据处理和存储的基础设施,极大地降低了企业部署大数据解决方案的门槛。Hadoop生态系统中的技术如Hive、Spark等在云环境中得到广泛应用。
  • 人工智能与机器学习的融合:大数据技术与AI/ML技术的结合成为新的趋势,通过大规模数据训练机器学习模型,从而实现精准预测和智能决策。深度学习框架(如TensorFlow、PyTorch)在处理大数据集方面展现出巨大潜力。
  • 数据湖和多模分析:为了处理结构化、半结构化和非结构化数据,数据湖(Data Lake)概念被提出,允许存储多种类型的数据并进行多模分析。

5、关键技术的里程碑

  1. MapReduce(2004):Google发表的MapReduce论文奠定了大规模分布式计算的基础。
  2. Hadoop 1.0(2011):Apache Hadoop项目推出了正式的1.0版本,标志着大数据处理技术的成熟。
  3. Apache Spark(2014):作为内存计算框架,Spark的发布提供了比MapReduce更高效的处理能力,特别是在迭代计算和流数据处理方面。

三、大数据关键技术

1、数据采集

数据采集是大数据处理流程的第一步,也是最为关键的环节之一。它指的是从各种来源中获取原始数据,并将其传输到数据处理系统进行后续的存储、处理和分析。由于大数据具有多样性、高速性和庞大数据量的特点,数据采集技术需要具备高效、可靠、灵活和可扩展的特性。

数据采集的来源
数据采集的来源非常广泛,主要包括以下几类:

  1. 日志数据:如服务器日志、应用程序日志、用户操作日志等,通常通过日志收集工具如Flume、Filebeat等进行采集。
  2. 传感器数据:如物联网设备、智能硬件产生的传感器数据,通常通过MQTT、HTTP等协议传输,并通过流处理系统如Kafka进行采集。
  3. 社交媒体数据:如微博、Facebook、Twitter等社交平台的数据,通常通过API接口或者网络爬虫采集。
  4. 交易数据:如银行交易记录、电商平台的购买记录等,通常直接从数据库或通过消息队列进行采集。
  5. 音视频数据:如监控摄像头、直播数据等,通常通过专门的视频流传输协议进行采集。
  6. 开放数据源:如政府发布的公开数据、科学研究数据等,通常通过API接口或直接下载的方式进行采集。

2、数据存储

数据存储是大数据技术体系中的核心部分,指的是将采集到的数据按照一定的结构和格式进行存储,以便后续的查询、分析和处理。由于大数据具有海量性、多样性和高速性等特点,传统的存储技术已经无法满足需求,因此,专门针对大数据设计的存储技术和架构应运而生。

数据存储的关键技术

  • 分布式文件系统:如HDFS(Hadoop Distributed File System),HDFS是大数据存储的基础,它将大文件拆分成小块并分布式存储在集群的多个节点上,具有高可靠性和可扩展性。
  • NoSQL数据库:为应对大数据环境下的多样性需求,NoSQL数据库应运而生,包括:
    •  键值存储:如Redis、Cassandra,适合存储键值对类型的数据,提供快速读写性能。
    •  列式存储:如HBase,适合处理大规模数据的随机读写,尤其适用于宽表结构的数据存储。
    •  文档存储:如MongoDB,适合存储和查询半结构化数据,支持灵活的数据模式。
    •  图数据库:如Neo4j,适合存储和处理节点和边之间关系复杂的图数据。
  • 分布式数据库:如Google Spanner、CockroachDB,这些数据库通过分片技术将数据分布在多个节点上,并提供强一致性和全球分布式存储能力,适合超大规模数据的存储。
  • 数据仓库技术:如Apache Hive、Google BigQuery、Amazon Redshift,这些技术提供了大规模结构化数据的存储和查询能力,支持SQL查询,并且能够处理批处理数据和实时数据的分析。
  • 对象存储:如Amazon S3、Google Cloud Storage,主要用于存储非结构化数据,如图片、视频、音频等。对象存储具有高可扩展性、低成本的特点,适合大规模非结构化数据的存储。
  • 数据湖:数据湖是一种新型的数据存储架构,支持以原始格式存储各种类型的数据(结构化、半结构化和非结构化)。Apache Hadoop、Azure Data Lake等技术是典型的实现,它允许用户根据需要灵活地对数据进行处理和分析。
  • 列式存储格式:如Apache Parquet、Apache ORC,这些格式专为分析查询优化,支持高效的压缩和查询性能,特别适用于数据仓库和数据湖中大规模结构化数据的存储。

   

3、数据分析

数据分析是大数据技术体系中的核心环节之一,旨在从海量数据中提取有价值的信息和知识,以支持决策、优化业务流程和发现新的商业机会。大数据分析的关键技术涉及数据的处理、挖掘、建模和可视化等多个方面。

1. 分布式计算框架:

  • Apache Hadoop:Hadoop是大数据处理的基础框架,基于MapReduce模型进行分布式计算,适合批处理大规模数据集。
  • Apache Spark:Spark是一种内存计算框架,支持更快速的批处理任务,并且可以进行实时数据处理和复杂的迭代算法,如机器学习。


2. 数据挖掘:

  • 聚类分析:如K-means、DBSCAN,用于将数据集划分为多个类别或群组,发现数据中的内在结构。
  • 分类和回归:如决策树、随机森林、支持向量机,用于对数据进行分类预测或回归分析。
  • 关联规则挖掘:如Apriori算法,用于发现数据中具有相关性的项集,广泛应用于市场篮子分析等领域。
  • 异常检测:用于识别数据中的异常模式或异常值,常用于金融欺诈检测、网络安全监控等领域。


3. 实时数据分析:

  • 流数据处理框架:如Apache Kafka、Apache Flink,用于实时处理和分析流数据,支持低延迟和高吞吐量的计算。
  • CEP(复杂事件处理):用于识别流数据中的复杂事件模式,适用于金融交易监控、实时用户行为分析等场景。

4. 数据可视化:

  • 图表工具:如Tableau、Power BI、D3.js,帮助用户以可视化的形式呈现数据分析结果。
  • 交互式数据探索:如Jupyter Notebook、Apache Zeppelin,允许用户以编程方式进行数据分析和可视化。

   

💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于大数据的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2032997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java并发编程(七)—ThreadLocal的原理及应用详解

目录 一、ThreadLocal的原理 1、ThreadLocal对象 2、ThreadLocalMap 3、Thread 对象 4、get() 和 set() 方法 5、内存管理 二、ThreadLcoal的应用 三、ThreadLocal扩展问题 四、总结 ThreadLocal 类在 Java 中提供了一种机制,可以在每个线程中存储独立的变…

【Python】基础语法介绍

目录 一、标识符和关键字 二、注释 三、缩进 四、输入和输出 五、字符串操作 六、基本数据类型 七、复合数据类型 7.1 列表 7.2 元组 7.3 字典 7.4 集合 八、数据类型转换 九、运算符 8.1 算术运算符 8.2 比较运算符 8.3 赋值运算符 8.4 位运算符 8.5 逻辑运…

网络编程day1

一、思维导图 网络基础

wordpress全局自适应网址导航整站打包源码,含主题和数据库

wordpress全局自适应网址导航整站打包源码,含主题和数据库。直接恢复就可以使用了。 这个是自适应的布局设计,体验还不错。用网址导航是可以的。 代码免费下载:百度网盘

golang for range time.Ticker 和 time.Timer时间通道使用示例 - 每隔指定时间执行一次,执行指定时长后退出执行

golang中的 ticker和timer时间通道除了可以使用for select case语句来执行外, 还可以使用 for range语句来执行ticker或者timer时间通道。 for range time.Ticker 和 time.Timer时间通道使用示例 下面的示例演示了time.Ticker 和 time.Timer的区别和使用演示。 Ti…

《向量数据库指南》——向量数据库技术积累与商业机会

一豪:Charles提到了一个关键点,就是RAG技术结合模型对非结构化数据的理解和搜索能力,甚至可以很好地架接在传统结构化数据的解决方案中。作为向量数据库的核心技术点,对数据本身特别是非结构化数据的向量化、精炼和压缩,我相信Zilliz等公司有很多独门技巧和技术积累。随着…

UE基础 —— 编辑器界面

菜单栏 UE中每个编辑器都有一个菜单栏,部分菜单会出现在所有编辑器窗口中,如File、Window、Help,其他则是其编辑器特有的; 主工具栏 UE中部分最常用的工具和命令的快捷方式; 1,保存按钮(ctrls&a…

NIO线程模型

NIO线程模型主要涉及以下几个方面: 一、基本概念 NIO(New Input/Output)是Java的一种新的输入输出模型,也被称为非阻塞IO。其核心特点是数据读写操作均是非阻塞的,即在进行读写操作时,若数据未准备好&…

Python第三方库——mrjob的介绍

一、简介 mrjob 是一个强大的 Python 库,它允许开发者以 Pythonic 的方式编写 MapReduce 作业,并在多种环境下运行这些作业,包括本地机器、Hadoop 集群、Amazon Elastic MapReduce (EMR) 和 Google Cloud Dataproc。通过使用 mrjob&#xff…

ARTS Week 37

Algorithm 本周的算法题为 1232. 缀点成线 给定一个数组 coordinates ,其中 coordinates[i] [x, y] , [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断,这些点是否在该坐标系中属于同一条直线上。 示例 1:输入:coordinates …

8月9日笔记

8月9日笔记 什么是代理? “代理”通常指的是“网络代理”,它是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。代理服务器作为中间人…

【中项】系统集成项目管理工程师-第11章 项目范围管理-11.3定义范围

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

PHP利用PCRE回溯次数

目录 原理 例子 来一道题(2018i春秋圣诞欢乐赛官方WriteUp) 利用php弱语言特性解题 利用回溯 原理 对于一串正则表达式来说它匹配了一系列的字符串后自身的正则还没有用完,这个时候就会触发回溯机制,超过回溯次数正则匹配就失…

【代码故事】VSCode知名主题material-theme仓库代码清空

大家好,我是前端之虎陈随易。 这是我的个人网站 https://chensuiyi.me。 出大事了 看到了一篇前端社区开源扛把子 Anthony Fu 的帖子。 经过一番了解,出大事了! 知名 VSCode 主题 material-theme 仓库清空了! 连带着所有提交…

【MySQL】1.MySQL基本操作

目录 一、MySQL数据库登陆 1、设置环境变量 2、cmd命令登陆数据库 二、基本操作语法 1、显示数据库——SHOW 2、使用/选择数据库——USE 3、删除——DROP 4、创建——CREATE 5、查看表结构——DESC 6、数据操作——增删改查 (1)增/插入&#…

SpringCloud-gateway编码实现路由策略的自动刷新,动态路由

文章目录 一、概述1、背景2、实现思路 二、编码实现1、nacos配置刷新公共类2、自定义RouteDefinition3、route缓存类4、动态更新路由网关service5、动态路由加载类 三、测试 一、概述 1、背景 gateway可以配置路由断言过滤器,但是通常一个微服务体系下&#xff0c…

KCTF 闯关游戏:1 ~ 7 关

前言 看雪CTF平台是一个专注于网络安全技术竞赛的在线平台,它提供了一个供网络安全爱好者和技术专家进行技术交流、学习和竞技的环境。CTF(Capture The Flag,夺旗赛)是网络安全领域内的一种流行竞赛形式,起源于1996年…

虚拟机Linux系统字体太小怎么办?

每次用虚拟机的Linux系统时,都觉得字体小得伤眼睛,所以就尝试找了下,没想到可以直接用大号字体,这感觉好多啦~ 这里针对centOS的图形界面,非常简单,见下面的图: 应用程序 --> 系统工具 --&…

ELK三个开源软件的工作原理

一、Elasticsearch Elasticsearch的工作原理主要涉及其数据处理、索引机制、查询过程以及集群管理等方面。一下是对Elasticsearch工作原理的详细解析: 1. 数据处理 1.1 数据导入 Elasticsearch支持多种数据源,包括直接输入、通过Logstash和Beats等工具…

js日期处理库--dayjs

js中处理日期是一件比较麻烦的事情,这里推荐使用day.js库来处理,文档:Day.js中文网 引入库 如果没有引入过dayjs,需要先执行npm install,然后import就能使用了 npm install dayjs import dayjs from dayjsconsole.log(dayjs().format()) 如果使用的…