什么是数据湖?

Posted 宝哥大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是数据湖?相关的知识,希望对你有一定的参考价值。

一、什么是数据湖?

1.1、数据湖概述

是一个集中式存储库,可以容纳来自各种数据源的任何格式的关系数据;然后可以使用它来生成用于分析和报告目的的数据。从数据源中提取数据后,无需对其进行标准化或结构化,因为它可以保存来自任何类型来源的标准化或非标准化、结构化或非结构化、已处理或未处理的数据,而不管数据的预期结果如何存储在数据湖中。

有一个非常著名的数据湖类比,来自 Pentaho 首席技术官 James Dixon 的一个湖,他创造了术语数据湖。

  • 数据湖类似于湖,水来自各种来源并保持原始形式,
  • 而包装瓶水类似于经过多次过滤和净化过程的数据集市,类似地为数据集市处理数据。

1.2、为什么需要数据湖?

通过构建一个湖,数据科学家可以看到数据的原始视图。

通过数据成功创造商业价值的组织将胜过同行。Aberdeen 的一项调查表明,实施数据湖的组织比同类公司在有机收入增长方面高出 9%。这些领导者能够进行新类型的分析,例如通过日志文件、来自点击流的数据、社交媒体以及存储在数据湖中的互联网连接设备等新来源的机器学习。这有助于他们通过吸引和留住客户、提高生产力、主动维护设备以及做出明智的决策来更快地识别和应对业务增长机会。

它支持实时导入数据。从多个资源收集数据,然后以原始格式移动到湖中。湖提供了更高的数据可扩展性。此外,您可以通过对数据进行索引、爬网和编目来了解湖中的数据类型。

它支持管理数据的可用性、可用性、安全性和完整性的数据治理。

它可以帮助研发团队测试他们的假设、完善假设和评估结果。

它为客户提供 360 度视图和可靠的分析。

分析的质量也随着数据量、数据质量和元数据的增加而提高。

  • Hadoop 等存储引擎可以轻松存储不同的信息。无需将带有 Lake 的数据建模为公司范围的方案。
  • 分析质量也随着数据量、数据质量和元数据的增加而提高。
  • 它提供了业务敏捷性。
  • 可以使用机器学习和人工智能来做出有利可图的预测。

1.3、数据湖架构

数据湖是传统数据仓库概念在源类型、处理类型和结构方面的高级版本,用于业务分析解决方案。数据湖主要通过云提供商实现,并使用多种数据存储和数据处理工具进行架构,基于托管服务的服务与数据湖的数据基础设施的处理和维护相关联。通过架构增强的迭代方法支持数据变体的新更改,为实施数据湖的组织增加了价值。

让我们通过讨论数据湖架构来了解数据湖的组成。下图表示具有标准术语的高级数据湖架构。

数据湖架构主要由三个组件或层组成。

  • 来源
  • 数据处理层
  • 目标

1.3.1、来源

我们将从数据湖的角度讨论来源。

  • 源是数据湖业务数据的提供者。
  • ETL 或 ELT 介质用于从各种来源检索数据以进行进一步的数据处理。
  • 根据 ETL 过程的源结构和格式,它们分为两种类型

1.3.1.1、同质来源

  • 相似的数据类型或结构
  • 易于加入和整合数据
  • 示例:来自 MS SQL Server 数据库的来源。

1.3.1.2、异构来源

  • 它们来自不同的数据格式和结构。
  • 对于 ETL 专业人员来说,聚合源以创建用于处理的整合数据是很棘手的。
  • 示例:来自平面文件、NoSQL 数据库、RDBMS 和行业标准格式(如 HL7、SWIFT、EDI 这些作为一些预定义数据格式)的来源

1.3.1.3、数据湖架构主要使用以下来源:

商业应用

  • 这些是用于捕获业务交易的交易业务应用程序,如 ERP、CRM、SCM 或帐户。
  • 这些主要是存储事务数据的数据库或基于文件的数据存储应用程序。
  • 数据湖通过连接器、适配器、APIS 或 ETL 的 Web 服务连接这些应用程序。
  • 示例:SAP ERP、Oracle 应用程序、快速书籍。

DW/EDW

  • 数据湖有可能从现有企业数据仓库或 EDW 中获取数据,以使用其他数据源创建整合数据参考。
  • 这些可以是基于标准 RDBMS的 EDW 或基于云的数据仓库。
  • 大多数场景 ETL 工具通过连接器、ODBC 或 JDBC 驱动程序创建与相关数据库的连接,以从 EDW 中提取数据。
  • 示例:特定国家/地区的销售数据 EDW 可用作为客户 360 分析构建的数据湖的来源。

多个文件

  • 这些是与数据湖的业务用例相关的平面文件。
  • 多个业务交易和其他相关数据存储在组织的平面文件中。
  • 有几种首选的文件格式,例如 Data Lake 首选的文件格式。
  • 示例:.CSV 和 .Txt 是主要使用的平面文件格式。
  • 此外,Data Lakes 项目还使用了几种半结构化文件,例如 XML、JSON 和 AVRO 格式。

SaaS应用

  • 如今,与内部部署应用程序相比,组织更喜欢基于 Saas 的应用程序。
  • 这些应用程序基于云并由提供商管理。
  • 示例:Salesforce CRM、Microsoft Dynamics CRM、SAP Business By Design、SAP Cloud for Customers。Oracle CRM 随需应变。

设备日志

  • 从各种设备捕获多个日志并捕获用于数据湖处理。
  • 示例:系统或服务器记录对集群性能分析有用的数据。

物联网传感器

  • 有几个数据流是通过物联网传感器捕获的,通常通过数据湖设置进行实时处理。
  • 示例:飞机的引擎将传感器数据发送到服务器和数据湖组件,如 Apache Kafka 捕获并实时路由它。

1.3.2、数据处理层

下面给出数据湖架构的数据处理层

  • Data Lake的数据处理层包括 Datastore、Metadata store 和 Replication,以支持数据的高可用性(HA)。
  • 将索引应用于数据以优化处理。
  • 最佳实践包括为数据处理层包含一个基于云的集群。
  • 数据处理层经过高效设计,可支持数据的安全性、可扩展性和弹性。
  • 此外,通过管理维护适当的业务规则和配置。
  • 有多种工具和云提供商支持此数据处理层。
  • 示例:Apache Spark、Apache Flink、Azure Databricks、AWS 的数据湖解决方案。

1.3.3、目标

处理层数据湖将处理后的数据提供给目标系统或应用程序。有几个系统通过 API 层或通过连接器使用来自数据湖的数据。

以下是使用数据湖的列表:

1.3.3.1、DW/EDW

  • 在整合来自各种来源的数据之后,一个新的 EDW 基于业务用例创建。

1.3.3.2、分析仪表板

  • 有基于数据湖数据构建的自定义分析应用程序。
  • API 充当从数据湖处理层到自定义应用程序的主要渠道。

1.3.3.3、数据可视化工具

  • Tableau、FineBI 等几个著名的企业 BI 工具使用数据湖数据来创建高级分析图形和图表。

1.3.3.4、机器学习项目

  • 机器学习模型使用来自数据湖的原始数据来生成优化的 ML 模型,从而为业务场景增加价值。
  • ML 工具 R 语言,Python 接受通过数据湖处理层创建的结构化格式的数据

1.4、数据湖的优点与风险

1.4.1、优点

  • 提供无限的数据类型值
  • 快速适应变化
  • 降低长期拥有成本
  • 它的主要优点是集中了各种内容来源
  • 全球不同部门的用户可以灵活访问数据
  • 提供经济的可扩展性和灵活性

1.4.2、风险

  • 一段时间后,它可能会失去相关性和动力。
  • 设计时存在较大风险
  • 它还增加了存储和产品的成本
  • 安全和访问控制是最大的风险。有时数据可以在没有监督的情况下放入湖中,因为某些数据可能需要受到保护和监管。

1.5、业务中数据湖的目的

  • 数据湖作为数据驱动决策或洞察的业务推动者。
  • 它对于上市时间分析解决方案非常有用。
  • 它有助于 IT 驱动的业务流程。
  • 基于云的数据湖实施可帮助企业制定具有成本效益的决策。

在为工具和技术做出技术决策之前,数据湖实施对于用例选择的业务决策更为重要。数据工程师、DevOps 工程师、数据分析师和数据科学家专业团队合作,为企业创建成功的数据湖实施。

1.6、总结

随着云、数据科学和人工智能应用程序的普及而不断发展。由于其灵活的架构采用和它支持的应用程序或数据类型,它在行业中获得了很好的兴趣,这有助于企业整合数据模式的整体视图。

二、数据湖与数据仓库

虽然数据湖和数据仓库都接受来自多个来源的数据,

  • 数据仓库只能保存有组织和处理过的数据,
  • 数据湖可以保存任何类型的已处理或未处理、结构化或非结构化的数据。

数据仓库是一个遗留系统,数据集市是最近发现的大数据实施概念。

  • Data Warehouse 使用 ETL 方法处理数据,然后将数据存储到 Data Lake,
  • Data Lake 使用 ELT 方法进行数据处理。

2.1、数据湖和数据仓库之间的主要区别

  • 数据湖由来自不同平台的非结构化和结构化数据组成,如传感器、应用程序和网站等。 数仓主要由来自 RDBMS、DBMS 系统和其他操作数据库和应用程序的关系数据组成。
  • 数据湖是读取模式处理。数据仓库是模式写入处理。
  • 数据湖非常敏捷。数据仓库不太灵活。
  • 数据湖配置简单,能适应变化。数据仓库有固定的配置,很难改变。
  • 数据湖主要由人工智能科学家和机器学习专业人士使用。数据仓库正被商业专业人士使用。

2.2、数据湖 与 数据仓库 对比

特征数据湖数据仓库
存储数据以其原始形式保存在数据湖中,无论数据来源如何,所有数据都在这里保存。它们仅在需要时转换为其他形式。数据仓库由从事务和其他指标系统中提取的数据组成。这里的数据不是原始形式,总是经过转换和清理。
用途和目的主要目标是数据科学家、大数据开发人员和机器学习工程师,他们需要进行深度分析以创建业务模型,例如预测建模。主要目标是运营用户,因为这些数据采用结构化格式,可以提供随时可以构建的报告。所以它们主要用于商业智能。
数据源
  • 结构化、半结构化和非结构化数据等各种数据。
  • 这些数据以其原始形式驻留在数据湖中。
来自事务和度量系统的结构化数据,然后以模式的形式组织
数据质量 包含可能会或可能不会被策划的原始数据。它由集中的精选数据组成,随时可以用于商业智能和分析目的
标准化这里的数据不是标准化的形式。非规范化模式
数据时间线 保存数据过去,现在,以及未来的场景大部分时间都花在分析各种数据来源上。
处理时间这里数据湖分析和获取结果的处理时间比数据仓库小得多,因为这里的数据是以原始数据的形式存储的,没有经过转换的格式,因此我们切断了时间这可能会花在数据转换上。我们可以直接获取数据并进行一些基本的清理并开始构建我们的模型。与数据湖相比,处理所消耗的时间更多。这样做的原因是,任何数据仓库中的数据都需要先进行转换,然后才能进行分析。
存储成本与数据仓库相比,数据湖技术的存储成本相对较低,耗时也较少。与数据湖相比,数据仓库技术的存储成本更高。这是因为它需要更多的存储空间来存储转换后的数据,因为它首先需要存储原始数据,然后将它们转换为根据数据仓库的结构分配各个字段。
兼容性数据始终以其原始格式保存,仅在需要或准备好使用时才进行转换。数据以转换格式存储,当我们尝试进行任何更改时可能会遇到问题。
可达性高度可访问性,并且可以快速更新。更复杂,对其进行任何更改都需要更高的成本,并且只能访问授权用户。
Schema 位置Schema 主要是在数据存储之后创建的。这带来了高敏捷性。在数据存储之前创建的。
处理过程使用 ELT 过程,即提取、加载和转换使用 ETL 方法,即提取、转换和加载。
好处数据湖带来了新的创意,因为集成将不同类型的数据汇集在一起​​,同时也为许多悬而未决的问题提供了答案。大多数组织用户都参与了运营活动,数据仓库提供了一个这样出色的平台,可以在转换后的数据之上创建报表和指标。

关注我的公众号【宝哥大数据】,更多干货

以上是关于什么是数据湖?的主要内容,如果未能解决你的问题,请参考以下文章

数据湖:Iceberg概念及回顾什么是数据湖

数据湖:数据湖概念

详解数据湖:概念特征与架构

数据库数据湖数据仓库湖仓一体智能湖仓,分别都是什么鬼?

什么是数据湖?

什么是数据湖?