数据湖的历史和演变

数据管理的早期:数据库

在数据管理的早期,关系数据库是公司用来收集、存储和分析数据的主要方法。关系数据库,也称为关系数据库管理系统 (RDBMS),为公司提供了一种使用结构化查询语言 (SQL) 存储和分析有关其客户的高度结构化数据的方法。多年来,关系型数据库足以满足企业的需求:需要存储的数据量较小,关系型数据库简单可靠。直到今天,关系数据库仍然是存储不太大的高度结构化数据的绝佳选择。然而,数据的速度和规模即将爆发。

 

互联网的兴起和数据孤岛

随着互联网的兴起,公司发现自己充斥着客户数据。要存储所有这些数据,单个数据库已不再足够。公司通常会建立多个按业务线组织的数据库来保存数据。随着数据量的增长和增长,公司最终可能会拥有数十个具有不同用户和目的的断开连接的数据库。

一方面,这是一种祝福:有了更多更好的数据,公司能够比以往任何时候都更准确地定位客户并管理他们的运营。另一方面,这导致了数据孤岛:整个组织中分散的、分散的数据存储。由于没有集中和综合数据的方法,许多公司未能将其综合成可操作的见解。这种痛苦导致了数据仓库的兴起。

 

数据仓库的诞生是为了将公司的结构化数据统一在一个屋檐下

如此多的数据存储在不同的源系统中,公司需要一种方法来集成它们。“360 度客户视图”的想法成为当时的想法,数据仓库的诞生就是为了满足这一需求,并将整个组织中的不同数据库联合起来。

数据仓库作为一种技术出现,它将组织的关系数据库集合集中在一个伞下,允许作为一个整体查询和查看数据。起初,数据仓库通常运行在来自 Teradata 和 Vertica 等供应商的昂贵的、基于本地设备的硬件上,后来在云中可用。从 90 年代末开始,数据仓库成为大公司最主要的数据架构。该技术的主要优点包括:

  • 整合多种数据源
  • 为读取访问优化的数据
  • 能够运行快速的即席分析查询
  • 数据审计、治理和沿袭

数据仓库很好地满足了他们的目的,但随着时间的推移,这项技术的缺点变得明显。

  • 无法存储非结构化的原始数据
  • 昂贵的专有硬件和软件
  • 由于存储和计算能力的紧密耦合而难以扩展

 

Apache Hadoop™ 和 Spark™ 支持非结构化数据分析,并为现代数据湖奠定基础

随着 2000 年代初期“大数据”的兴起,公司发现他们需要对无法在一台计算机上容纳的数据集进行分析。此外,他们需要分析的数据类型并不总是结构整齐——公司也需要利用非结构化数据的方法。为了使大数据分析成为可能,并解决对数据仓库成本和供应商锁定的担忧,Apache Hadoop™作为开源分布式数据处理技术出现。

什么是Hadoop?

Apache Hadoop™ 是一组用于大数据分析的开源软件,允许使用并行工作的计算机集群处理大型数据集。它包括Hadoop MapReduceHadoop 分布式文件系统 (HDFS)YARN(又一个资源谈判器)HDFS 允许将单个数据集存储在许多不同的存储设备上,就好像它是单个文件一样。它与 MapReduce 算法协同工作,该算法确定如何将大型计算任务(如统计计数或聚合)拆分为可以在计算集群上并行运行的小得多的任务。

Hadoop 的引入是大数据分析的一个分水岭,主要有两个原因。首先,这意味着一些公司可以从昂贵的专有数据仓库软件转向运行免费和开源 Hadoop 的内部计算集群。其次,它允许公司以前所未有的方式分析大量非结构化数据。在 Hadoop 之前,拥有数据仓库的公司通常只能分析高度结构化的数据,但现在他们可以从更大的数据池中提取价值,其中包括半结构化和非结构化数据。一旦公司具备分析原始数据的能力,收集和存储这些数据就变得越来越重要——为现代数据湖奠定了基础。

早期的数据湖建立在 Hadoop 上

建立在 Hadoop MapReduce 和 HDFS 上的早期数据湖取得了不同程度的成功。许多早期的数据湖都使用 Apache Hive™ 使用户能够使用面向 Hadoop 的 SQL 引擎查询他们的数据。一些早期的数据湖成功了,而另一些则由于 Hadoop 的复杂性和其他因素而失败。直到今天,许多人仍然将“数据湖”一词与 Hadoop 联系在一起,因为它是第一个能够收集和分析大量非结构化数据的框架。然而,如今,许多现代数据湖架构已从本地 Hadoop 转变为在云中运行 Spark。尽管如此,这些最初的尝试仍然很重要,因为这些 Hadoop 数据湖是现代数据湖的先驱。随着时间的推移,Hadoop 的受欢迎程度有所下降,

 

Apache Spark:支持现代数据湖的统一分析引擎

Hadoop 推出后不久,Apache Spark被介绍了。Spark 将 MapReduce 的想法更进一步,为大数据的分布式计算提供了一个强大的、通用的框架。随着时间的推移,Spark 在数据从业者中越来越受欢迎,主要是因为它易于使用,在基准测试中表现良好,并提供了额外的功能,增加了它的实用性并扩大了它的吸引力。例如,Spark 的交互模式使数据科学家能够对庞大的数据集进行探索性数据分析,而无需花时间在低价值的工作上,例如编写复杂的代码将数据转换为可靠的来源。Spark 还使得大规模训练机器学习模型、使用 SQL 查询大数据集以及使用 Spark Streaming 快速处理实时数据成为可能,

自推出以来,Spark 的受欢迎程度不断提高,并已成为大数据处理的事实上的标准,这在很大程度上归功于社区成员的忠实基础和专门的开源贡献者。今天,许多现代数据湖架构使用 Spark 作为处理引擎,使数据工程师和数据科学家能够执行 ETL、优化数据和训练机器学习模型。

posted @ 2021-12-02 15:45  小树木  阅读(301)  评论(0编辑  收藏  举报