数据集成——数据存储技术与架构

215 阅读1小时+

在当今快节奏、数据驱动的世界中,企业必须管理和分析其数据资产,以获得竞争优势。这些数据呈现多种形式,从结构化数据(如商业交易)到非结构化数据(如社交媒体帖子或电子邮件)。快速存储和处理这些多种类型数据的能力,对于任何希望从其数据中挖掘潜在洞察并获利的企业来说至关重要。

数据存储系统在从原始数据到可操作洞察的过程中起着关键作用。随着市场上出现了许多不同的数据存储系统,作为数据专业人员,理解它们之间的区别并选择最适合您组织特定需求的系统至关重要。

在本章中,我们将带您深入了解重要的中央分析数据存储系统,包括数据仓库、数据湖和对象存储。我们将逐一介绍每种选项的特点、优点和缺点,帮助您做出明智的决策,选择最适合您公司的存储解决方案。通过本章的学习,您将能够自信地选择最符合您组织需求的最佳存储解决方案。

在我们深入讨论每种存储解决方案时,邀请您审视自己组织的目标、必须处理的数据类型和数据处理需求。请记住,适合一个组织的最佳解决方案可能不适合另一个组织。数据存储没有“一刀切”的策略,但通过本章的信息,您将能够找到最适合您组织独特数据环境的最佳解决方案。

在评估不同存储解决方案时,考虑数据类型、数据处理需求、可扩展性、成本和安全性至关重要。每种存储解决方案都有其独特的优缺点,了解这些区别将帮助您为企业做出最佳选择。请记住,理想的数据存储解决方案不仅应满足当前需求,还应具备适应性和扩展性,以应对未来的增长和数据需求变化。

本章将深入探讨这些关键的分析数据存储解决方案。我们将讨论它们的基本特点、应用和优势,以及它们的限制和缺点。通过深入分析,您将能够在选择最适合您公司数据存储的选项时做出明智的决策。

此外,我们还将指导您通过比较和选择最适合您组织需求的存储解决方案的过程。我们将讨论在做出决策时需要考虑的要素、权衡和决策过程,帮助您选择最合适的存储技术。

在您浏览复杂的数据存储技术时,至关重要的一点是要理解,没有一种适用于所有组织或使用案例的完美解决方案。最有效的策略通常涉及整合多种存储系统,每种系统都有其独特的优势,以构建一个具有韧性和灵活性的数据基础设施。例如,您可以利用数据仓库来处理和分析结构化数据,而数据湖则可能是存储和处理非结构化数据的理想选择。另一方面,对大规模、长期数据存储需求,您可能会选择对象存储。每个这些组件和谐工作,可以确保为您的组织量身定制的全面数据管理策略。

总而言之,任何希望做出明智决策的数据专业人员,首先必须理解各种数据存储技术及其特点、优势和局限性。如果您对数据仓库、数据湖和对象存储有深入的理解,那么您将能够为您的组织选择最优的数据存储解决方案,并最大限度地利用数据中隐藏的宝贵洞察力。那么,让我们深入了解这些关键的数据存储技术。

本章将讨论以下主题:

  • 中央分析数据存储技术
  • 数据架构
  • 数据管理中的职位和角色

中央分析数据存储技术

为了帮助您理解不同存储系统之间的差异,首先我们将回顾数据存储选项的发展历程。在计算的早期,数据存储仅限于磁带和硬盘等有形介质。随着企业的扩展和数据量的增长,对于更高效、更具可扩展性的存储解决方案的需求变得愈加明显。这促使了关系型数据库的创建,使数据能够结构化存储,并且能够使用 SQL 进行查询。

然而,随着数据种类和数据量呈指数增长,企业在数据存储和处理方面面临了新的挑战。大数据的兴起,按照“三个V”定义——体量(Volume)、种类(Variety)和速度(Velocity)——要求开发新的存储解决方案,以应对现代企业产生的庞大数据量。因此,数据仓库、数据湖和对象存储作为可行的数据组织和存储替代方案应运而生。

  • 数据仓库:数据仓库旨在以有序的方式存储结构化数据,从而实现高效的搜索和分析。它们使用模式(schema)来描述数据的结构,这有助于提高数据的一致性和完整性。数据仓库通常用于商业智能和报告中,在这些场景中,快速访问汇总数据是至关重要的。
  • 数据湖:与数据仓库不同,数据湖提供了一种更加多样化的存储解决方案,可以处理组织化、结构化、半结构化和非结构化数据。数据湖可以以原始格式存储数据,无需预先定义模式,从而使得数据从多种来源输入变得更加容易。数据湖非常适合需要存储大量不同类型数据的企业,尤其是涉及复杂分析或机器学习操作的场景。
  • 对象存储:对象存储是一种可扩展且具有成本效益的存储解决方案,其中数据作为对象存储,每个对象都有一个唯一的标识符。这种数据存储方法适用于处理非结构化或半结构化数据,如照片、视频和文档。对象存储由于其持久性和高可用性,成为云中存储大量数据的流行选择。

数据仓库

数据仓库在帮助企业管理和从数据中提取价值的过程中发挥了重要作用,尤其在数据存储和分析领域。正如我们在第三章中讨论的,数据仓库的起源可以追溯到行业先驱者,如 Ralph Kimball、Bill Inmon 和 Edgar Codd 的开创性工作。随着时间的推移,数据仓库为了应对日益复杂的数据存储和分析需求不断发展,但它们也有一套自身的问题和限制。本节将探讨数据仓库的基本特征、使用案例、优点和缺点,以及它们的发展如何影响当前的能力和限制。

概述与关键特征

数据仓库是一个大型、集中的存储库,用于存储和管理来自多个组织源的结构化数据。数据仓库旨在促进对海量数据的高效查询和分析,帮助企业获得有价值的洞察并做出数据驱动的决策。

数据仓库的关键特征包括:

  • 强制模式设计:数据仓库通常使用星型或雪花型模式等模式来组织和结构化数据,以便高效查询和报告。这些模式有助于优化查询性能,并便于最终用户的数据分析。(我们将在“模式写入”部分详细讨论)
  • 数据整合:数据仓库旨在整合来自多个来源的数据,包括事务数据库、平面文件和外部数据流。为了确保一致性和可靠性,这一整合过程通常包括数据清洗、转换和汇总。
  • 可扩展性:数据仓库是为处理大量数据并随着组织数据需求的增长而扩展而构建的。这种可扩展性意味着数据仓库能够在不牺牲性能的情况下,处理增长的数据量和复杂的分析任务。
  • 数据历史:数据仓库通常存储历史数据,允许组织追踪模式和变化。这一历史视角有助于理解组织如何发展,并在做出未来战略和活动决策时提供帮助。可以基于这些数据生成报告和仪表盘,以展示当前和过去的视角,当前视角通常称为“现状”视角,而过去的视角则称为“历史”视角。

使用案例与优点

数据仓库适用于多种使用场景,包括以下几种:

  • 商业智能(BI)和报告:数据仓库擅长支持 BI 和报告任务,例如生成财务报告、分析客户行为和监控关键绩效指标(KPI)。这些洞察帮助组织做出明智的决策并推动业务增长。
  • 高级分析:数据仓库还可以支持高级分析任务,如预测建模、机器学习和数据挖掘。通过利用存储在数据仓库中的大量数据,组织可以发现隐藏的模式和趋势,从而提高预测和决策的准确性。
  • 数据整合:数据仓库为整合和管理来自组织各个来源的数据提供了一个统一的平台。这种整合简化了数据管理,提高了数据质量,并使得报告和分析更加准确和一致。

数据仓库带来了许多好处,包括:

  • 提高数据质量:通过数据整合、转换和验证过程,数据仓库促进了数据质量的提高。这些过程有助于确保数据的一致性、格式正确性、准确性和可靠性,从而提供更可信的洞察力和更好的决策支持。
  • 增强性能:数据仓库优化了查询性能,支持快速高效的数据分析。这种性能优化使得组织能够更迅速地生成洞察并做出及时的、基于数据的决策。
  • 可扩展性和灵活性:数据仓库可以扩展以适应不断增长的数据量和分析工作负载,确保组织在需求变化时,依然能够从数据中获得价值。

限制与缺点

尽管数据仓库具有许多优点,但它们也有一些限制和缺点:

  • 对非结构化数据的支持有限:数据仓库主要为结构化数据设计,可能难以处理非结构化数据,如文本、图像或视频。这个限制可能使得拥有多样化数据需求的组织难以充分利用数据仓库的优势。
  • 复杂性和成本:实施和维护数据仓库可能非常复杂且成本高,尤其对于资源有限的小型组织。这种复杂性可能使得组织难以充分实现数据仓库的优势,特别是如果他们缺乏必要的专业知识和基础设施。
  • 数据延迟:数据仓库通常依赖批处理来加载数据,这可能会导致数据延迟。这种延迟意味着实时或近实时分析可能不可行,从而限制了数据仓库在某些用例中的有效性。
  • 刚性:数据仓库通常需要预定义的模式,这可能使得适应数据源或业务需求的变化变得困难。这种刚性可能导致在发生变化时需要花费大量时间和成本进行模式修改。

数据仓库作为一种数据存储行业标准,长期以来为企业提供了一个集中、可扩展的平台,用于组织和分析大量结构化数据。凭借其在支持商业智能、报告和高级分析方面的优势,数据仓库对于许多希望利用数据进行战略决策和增长的企业来说,是一个宝贵的资产。

然而,它们也有一定的限制和缺点,例如对非结构化数据的支持有限、实施和维护的复杂性和成本、数据延迟以及刚性等。在考虑为您的公司选择数据仓库时,必须平衡这些考虑因素与您的具体目标和资源。通过仔细评估数据仓库的使用案例、优点和限制,您可以做出明智的决策,判断数据仓库是否适合满足您组织的数据存储和分析需求。

数据湖

在我们讨论了数据仓库的优缺点之后,现在让我们深入探讨另一种流行的数据存储技术——数据湖。作为传统数据仓库的替代方案,数据湖提供了一种更加灵活和可扩展的解决方案,用于存储和处理各种类型的数据,包括非结构化和半结构化数据。

概述与关键特征

数据湖是一个集中的存储库,旨在以原始格式存储大量数据,直到需要进行分析时才对数据进行处理。(我们将在“按需读取模式”部分详细讨论)与依赖结构化和组织化数据的数据仓库不同,数据湖可以容纳任何形式的数据,包括结构化、半结构化和非结构化数据。这种灵活性使得组织能够存储来自多个来源的数据,如社交媒体、物联网(IoT)设备、日志文件等,而无需在数据输入之前进行耗时的数据转换过程。以下是数据湖架构的关键特征概述:

  • 按需读取模式(Schema-on-read) :数据湖将数据以原始格式存储,仅在数据准备好进行分析时才应用模式和结构。这种方法使得数据存储和使用更加灵活,因为分析师可以在分析时决定数据的结构和格式。
  • 可扩展性:数据湖能够轻松处理大规模的数据,使其非常适合处理大数据和快速增长的数据量的组织。
  • 成本效益:数据湖通常利用廉价的存储解决方案,如基于云的对象存储,相较于传统数据仓库,能够降低整体存储成本。
  • 支持多样的数据类型:数据湖可以存储结构化、半结构化和非结构化数据,允许组织利用各种数据来源进行分析。
  • 数据处理能力:许多数据湖构建在分布式计算框架(如 Apache Hadoop 或 Apache Spark)之上,提供强大的大规模数据分析处理能力。
  • 元数据:数据湖存储系统中的文件不仅包含数据本身,还包含描述文件的元数据。该元数据可能包括文件创建日期、大小和访问权限等信息。可定制的元数据允许用户根据其用例添加相关信息,有助于搜索和管理对象。
  • 数据耐久性和冗余性:数据湖通常以分布式信息存储的形式实现,如 Hadoop 分布式文件系统(HDFS)。这些存储系统设计用于通过自动将数据分布到多个存储节点,提供高水平的数据耐久性和冗余性。这确保了即使一个或多个节点发生故障,数据仍然可以访问。数据复制和擦除编码技术通常用于实现这一耐久性和冗余性。

使用案例与优点

数据湖是一个理想的解决方案,适用于拥有多种数据类型和大规模数据量的组织。以下是数据湖的一些常见使用案例和优点:

  • 大数据分析:数据湖非常适合存储和处理大量数据,使组织能够执行高级分析并提取有价值的洞察。
  • 实时数据处理:数据湖能够支持实时数据摄取和处理,使组织能够从数据中即时获得洞察。
  • 数据探索和发现:数据湖为数据科学家和分析师提供了一个灵活的环境,可以探索原始数据、发现新模式并测试假设,而不受预定义模式的限制。
  • 机器学习与人工智能:数据湖可以存储训练机器学习模型所需的大量数据,使组织能够利用人工智能进行数据驱动的决策。
  • 推动数据民主化:数据湖有助于推动数据的民主化,使组织内部的不同利益相关者能够轻松访问和分析数据,支持决策制定。

限制与缺点

尽管数据湖提供了许多优势,但它们也带来了一些挑战和限制:

  • 数据治理与安全:数据湖的灵活性使得建立和执行数据治理与安全政策变得具有挑战性。这可能导致数据质量、一致性和合规性问题。
  • 技能和专业知识:使用数据湖通常需要掌握大数据技术,如 Hadoop 和 Spark,因此组织可能需要投入培训或招聘熟练的专业人员来有效利用数据湖。
  • 数据沼泽风险:如果没有适当的数据管理和治理,数据湖可能迅速变成“数据沼泽”,数据杂乱无章且未被使用,导致难以提取有意义的洞察。
  • 与现有系统的集成:将数据湖与现有的数据存储解决方案(如数据仓库或操作数据库)进行集成可能会面临挑战,并可能需要额外的资源和专业知识。

数据湖为传统数据仓库提供了一个灵活且可扩展的替代方案,特别适合处理多种数据类型和大量数据的企业。数据湖使得企业能够存储不同种类的数据,并进行大规模的数据分析、实时数据处理以及机器学习操作。然而,企业必须意识到数据湖在数据治理、安全性和集成方面所面临的挑战和限制,以便充分发挥其潜力。

我们将在本章继续探讨其他数据存储技术,例如对象存储,并为您提供选择最适合您组织特定需求的存储选项所需的知识。接下来的部分将重点讨论对象存储,在那里,您将了解其主要特性、应用及优点,以及可能的缺点和限制。如果您了解各种存储选项,您将能够更好地选择最适合您组织数据存储和分析需求的解决方案。

对象存储

现在,让我们深入了解对象存储,这是一种越来越受欢迎的数据存储技术,尤其适用于处理非结构化数据,如图像、视频和文档。对象存储提供了一个高度可扩展、成本效益高的解决方案,与传统的文件存储系统不同,后者以层次化的方式组织数据。对象存储使用平坦的地址空间,简化了管理和扩展性。

概述与关键特性

以下是对象存储的一些关键特性:

  1. 平坦的地址空间:与传统的文件系统不同,对象存储不依赖于层次化的目录结构。它使用平坦的地址空间,每个对象都有一个唯一的标识符,使得数据管理更加简便,并提供几乎无限的扩展性。然而,为了简化数据识别,大多数对象存储系统采用类似层次结构的命名约定。例如,一个对象的键通常包含“/”符号,在用户界面中呈现为文件夹结构。
  2. 元数据:就像数据湖中的文件一样,对象存储系统中的对象不仅包含数据本身,还包含描述对象的元数据。这些元数据可能包括对象的创建日期、大小和访问权限等信息。可定制的元数据允许用户根据具体用例添加相关信息,这在查找和管理对象时非常有用。
  3. 数据耐久性和冗余性:对象存储系统通常基于分布式系统设计,以提供高度的数据耐久性和冗余性,并在集群节点之间分布数据。数据通常会在其他数据中心进行复制。对于基于云的对象存储(如S3),根据所选择的存储类,对象可以在不同的节点、区域和可用区之间进行复制。
  4. 简单和可扩展的访问:对象存储系统利用RESTful API,便于与应用程序和服务的集成。这使得开发人员可以轻松地使用常见的HTTP方法(如GET、PUT和DELETE)访问、存储和检索对象。

应用场景与优势

对象存储是希望存储和处理大量非结构化数据的企业的理想选择,因为它具有多种应用场景和优势。让我们看看一些典型的应用场景:

  1. 备份与归档:由于其可扩展性、可靠性和成本效益,对象存储是备份和归档需求的理想选择。企业可以长时间存储大量数据,确保数据的安全性和可访问性。
  2. 媒体内容的交付与存储:对象存储非常适合交付和存储媒体内容,包括图片、视频和音频文件。得益于其可扩展性和对自定义元数据的支持,管理和向全球用户提供内容变得更加简单。
  3. 大数据分析:对象存储可以作为存储和处理大量非结构化数据的理想选择。企业可以凭借其可扩展性和易访问性,快速且以低成本存储、检索和分析大量数据。

限制与缺点

尽管对象存储具有众多优势,但也需要了解其限制和缺点:

  1. 高性能与低延迟:由于其最终一致性模型以及可能与RESTful API调用相关的开销,对象存储可能并不是高性能、低延迟工作负载的最佳选择。对于需要高性能和实时数据访问的工作负载,块存储或文件存储解决方案可能更为适合。
  2. 复杂性:与传统的文件存储系统相比,对象存储的设置和管理可能更为复杂。

总而言之,对象存储是处理大量非结构化数据的企业的灵活且可扩展的选择。接下来,您将学习如何比较和选择最佳存储解决方案,包括需要考虑的变量和涉及的权衡。随后,我们将探讨数据湖及其优势,根据您组织的需求,数据湖可能会与对象存储互为补充或替代。

比较与选择合适的存储解决方案

现在我们已经探讨了数据仓库、数据湖和对象存储,接下来是讨论如何为您的组织选择最佳的存储解决方案。选择合适的技术取决于多个因素、权衡以及适合您特定需求的决策过程。在选择正确的解决方案时,您必须考虑以下几个方面:

  1. 数据类型与结构:考虑贵组织处理的数据类型,即是否是结构化、半结构化或非结构化数据。数据仓库更适合结构化数据,而数据湖可以容纳所有类型的数据,且对象存储非常适合处理非结构化数据。
  2. 可扩展性:评估贵组织的数据存储需求,包括规模、增长率和可访问性。数据湖和对象存储提供几乎无限的可扩展性,而数据仓库可能有一定的限制。
  3. 性能:确定贵组织的性能要求,例如查询速度、数据处理和实时分析。数据仓库通常为结构化数据提供高性能,而数据湖可能需要额外的优化。
  4. 数据集成与转化:评估您的数据所需的集成和转化水平。数据仓库通常涉及更多的前期数据处理,而数据湖则存储原始数据并在分析时进行处理。
  5. 成本:评估总拥有成本,包括采购、维护和扩展费用。数据仓库的设置和维护可能非常昂贵,而数据湖和对象存储则可以提供更低的成本,尤其是在大规模存储时。

权衡与决策过程

选择合适的存储解决方案通常需要根据贵组织的优先事项做出权衡。以下是决策过程中需要考虑的一些方面:

  1. 灵活性与性能:数据湖在处理各种数据类型时提供了灵活性,但如果没有优化,性能可能会受到影响。另一方面,数据仓库为结构化数据提供高性能,但灵活性较差。
  2. 数据处理:考虑是希望在存储之前预处理数据,还是将原始数据存储以便在分析时进行处理。数据仓库通常涉及数据预处理,而数据湖允许存储原始数据,并在需要时进行处理。
  3. 长期需求与短期需求:评估贵组织的长期数据存储需求,以及所选解决方案是否能随着需求的变化而扩展和发展。数据湖和对象存储提供显著的可扩展性,而数据仓库可能更适合那些数据需求稳定的组织。
  4. 安全性与治理:评估贵组织的安全性和治理要求。数据仓库通常有成熟的安全措施,而数据湖可能需要额外的努力来确保适当的数据治理和安全性。
  5. 成本考虑:评估存储选择的财务影响。数据仓库可能涉及高额的许可和基础设施成本,而数据湖和对象存储可能提供更具成本效益的解决方案,尤其是在大规模数据需求的情况下。
  6. 生命周期管理:评估在存储解决方案中管理数据生命周期的便捷性。数据湖提供灵活性以存储原始数据,但可能需要严格的管理来维持数据质量,而数据仓库则提供结构化的、良好治理的环境,从而简化了数据生命周期管理。

当您踏入数据存储的领域时,必须了解并非所有的存储解决方案都是一样的。性能、可扩展性和功能在不同的存储系统之间可能差异很大,例如Amazon S3这样的对象存储系统、HDFS这样的分布式文件系统和Redshift这样的数据仓库。

对象存储系统,如S3,非常擅长处理大量非结构化数据,允许您以高度可扩展且具成本效益的方式存储和检索文件。然而,某些操作(如重命名对象)在本地并不支持。您需要执行复制和删除操作,这可能会引入性能瓶颈,特别是当使用像Spark这样的框架时,这些框架依赖文件操作。

另一方面,分布式文件系统,如HDFS,旨在处理跨多个节点的大数据集,使其成为大数据处理的流行选择。HDFS提供层次化的文件结构,并支持如重命名等操作,但它可能不像对象存储系统(如S3)那样具成本效益或可扩展。

数据仓库为重型分析和复杂查询而设计,优先考虑性能和数据一致性。这些专用解决方案存储和处理结构化数据,提供高速查询和实时洞察。然而,它们可能不太适合存储非结构化数据或处理高写入负载。

这就是为什么许多企业采用混合存储系统策略,通过组合多种存储解决方案来满足其独特需求,尤其是在企业必须处理多种数据类型和应用场景时。这样的策略提供了两全其美的方案。通过使用不同的数据存储解决方案,企业可以优化性能、安全性和可扩展性,为每个特定应用场景选择最合适的存储系统。

这种策略基于“多元持久性”(polyglot persistence)的概念,它是一种方法,倡导根据每个用例的需求使用不同的数据存储技术。与其依赖一种通用的存储解决方案,"多元持久性"使您能够根据具体任务挑选合适的技术。这可能涉及使用关系数据库来处理结构化数据,使用NoSQL数据库来处理大数据或半结构化信息,使用数据仓库来进行高级分析。

“多元持久性”鼓励您超越单一存储系统的限制,利用各种技术的优势,释放数据的全部潜力。通过采用这种灵活且务实的方法,您的企业可以确保其能够应对不断变化的数据环境,并保持竞争优势。

湖仓(Lakehouse)

在数据管理的背景下,湖仓代表了一种变革性的转变,它结合了数据仓库和数据湖的最佳特点,以处理数据湖能够管理的数据量和数据多样性,同时还提供了数据仓库在可靠性、性能和事务处理能力方面的优势。

湖仓架构实现了一个存储层,能够处理多样化的数据类型(类似于数据湖),以及一个查询/管理层,提供事务一致性、模式强制和高性能(类似于数据仓库)。

开放文件格式,如Parquet和Delta,在实现湖仓架构中发挥了核心作用,因为它们是开放的文件格式,不仅简化了查询和集成,还提供了先进的元数据特性:

  1. 查询简便:Parquet和Delta都优化了数据查询。Parquet的列式存储格式设计上旨在高效查询,特别适用于分析处理和大规模数据操作。而Delta则通过维护事务日志,使得快速访问数据的旧版本成为可能,并且便于进行复杂操作。
  2. 开放文件格式:作为开源格式,Parquet和Delta促进了互操作性和与各种数据处理框架的集成。它们可以跨多个平台和技术使用,从而避免了供应商锁定问题,并鼓励使用多种最优的数据工具。
  3. 易于集成:这两种格式都旨在与流行的大数据处理工具(如Apache Hadoop、Apache Spark等)无缝协作,这简化了湖仓架构的实施。总之,像Parquet和Delta这样的开放文件格式提供了灵活性和效率,能够处理湖仓中的大量数据和多样化的数据类型,同时确保这些数据能够可靠地进行管理、查询并与其他系统集成。

元数据管理:管理元数据是任何数据基础设施中至关重要的一部分。Delta特别在这方面表现出色,提供可扩展的元数据处理。它允许跟踪数据的历史记录,以及数据是如何被处理的,及其随时间的变化。

一种实际且常见的实现湖仓的模型是“奖章架构”(Medallion Architecture)。这种架构表示数据在不同精炼阶段的旅程——原始层、青铜层、银层、金层和洞察层。

概述与关键特性

奖章架构通过青铜、银和金层为湖仓中的数据管理和精炼提供了一个结构化的方法。该过程从将原始数据摄取到青铜层开始,随后通过银层和金层进行逐步精炼,最终产生有价值且可操作的数据。经过多年的实施,我们发现可以增加两个可选层,以增强该架构的功能,并使其适应几乎所有场景。让我们看看涉及的步骤:

  1. 暂存层:这一可选层作为某些类型数据的初始入口,特别是需要在发送到原始层之前进行整合的数据,如流数据或使用CDC(变更数据捕获)。它充当缓冲区,主要专注于从各种来源摄取数据,尤其是那些连续到达的数据,有效管理数据流动,确保数据能够进入原始层。
  2. 青铜层:也称为“原始层”,来自外部系统的数据按原样接收,同时附加元数据列,记录诸如加载日期和时间、进程ID等信息。青铜层专注于捕获修改数据,并执行多项功能:提供源数据的历史归档(冷存储)、数据溯源、审计性,以及在必要时无需重新读取源系统的数据进行重处理。在处理CDC或流数据时,通常会先将数据存储在暂存层,然后再整合到青铜层。
  3. 银层:在这一层,数据经过识别并严格处理,以保持轻量化,优先考虑速度和灵活性。此层专注于技术性操作,如数据去重、标准化、清洗,以及去除交叉引用和空值。处理还会将来自不同来源的数据结合起来,按照一定规则交付企业的业务实体,并确保它们符合企业的最低数据质量规则(例如,去重的股票、交易和交叉引用的表格)。这些实体和视图帮助推动自服务分析、临时报告,某些情况下也可用于高级分析和机器学习用例。
  4. 金层:这一层通常专注于创建业务级聚合、KPI和其他派生数据集,这些数据集对于商业智能、报告和机器学习至关重要。在这里,应用了最终的业务转换和质量规则。数据通常是反规范化的,并优化以便于读取访问,通常采用列式存储,最小化连接操作。数据模型使用以BI为导向的模式,如数据集市或星型模式。最后,数据的组织方式依赖于企业需求,如核心数据产品或数据领域。这一组织方式在公司之间有所不同:一些公司将数据从银层复制并进行特定的业务转换和质量规则,而另一些则围绕特定、现成的项目进行组织,进行量身定制的转换和质量规则。
  5. 洞察层:一些公司已将其数据架构发展为在金层中进行拆分,创建两个不同的区域:传统的金区,专注于为临时BI和机器学习用例提供业务实体和聚合数据;以及洞察区,针对特定用例量身定制。在可选的洞察层中,数据经过精心建模、筛选和组织,针对特定需求进行优化消费。筛选过程旨在选择对特定用例至关重要的数据。在使用“按查询设计”等模式时,数据会被建模以更好地对接消费查询,简化使用并减少额外的转换需求,如筛选或ETL。这个层级通常提供现成的模型,可以直接集成到仪表盘、报告和其他决策工具中,从而提高效率并清晰呈现数据驱动的洞察。

下图表示了奖章层级结构:

image.png

所有这些步骤可以根据公司的数据规模和准备需求来执行。例如,如果只有一个数据代表工具,则可以避免使用洞察层。

应用场景与优势

奖章架构通过其结构化的方法,满足了从实时处理到机器学习模型的各种分析需求。通过逐步精炼数据,它确保不同阶段的用户可以访问适当级别的数据细节和质量。

限制与缺点

尽管奖章架构提供了结构化的数据管理方法,但它也存在一些挑战。数据被分成多个阶段可能会增加数据治理和管理的复杂性。此外,何时以及哪些数据应当升级到下一层的决策需要谨慎考虑,以避免不必要的数据重复和存储成本。

湖仓概念结合奖章架构,提供了一个全面且结构化的数据管理方法。它将数据湖的灵活性与数据仓库的结构化查询能力相结合,从而满足多种数据工作负载的需求。与任何架构一样,组织在实施该模型之前,应充分评估其具体需求、能力和数据策略。

为了帮助您更好地理解不同存储选项之间的差异,以下是一个比较表格:

因素数据仓库数据湖对象存储湖仓
数据类型结构化所有类型所有类型所有类型
性能中等中等中等
可扩展性中等
数据访问性SQL、BI工具API、BI工具、SQLAPI、BI工具(如果使用FS抽象接口或API)SQL、BI工具、API
成本较高中等较低中等
安全性中等中等中等
集成性中等中等中等中等

表 6.1 - 存储比较表

这就是为什么,在选择适合您业务的存储选项时,必须仔细分析多个变量、权衡和决策过程,并且在您的具体用例背景下评估每种存储解决方案。通过了解对象存储、分布式文件系统和数据仓库的优缺点,您可以做出明智的决策,以优化性能、可扩展性和成本,帮助您的业务满足数据需求并实现数据驱动的目标。在下一节中,我们将探讨数据架构,以进一步提高所选存储选项的有效性。

专家建议

湖仓概念是一种前景广阔的新范式,它结合了数据湖和数据仓库的最佳特点,使您能够高效可靠地存储和处理各种类型的数据。然而,实施湖仓架构需要谨慎的规划和设计,以及选择支持这一愿景的合适技术和工具。

接下来,我们将讨论数据架构。

数据架构

随着我们深入了解数据存储领域,理解数据架构的重要性至关重要。数据架构是指在公司内部组织、存储和管理数据的设计。它们帮助确保数据得到有效存储、易于访问,并且能够在多个系统之间良好集成。在本节中,我们将介绍数据架构,并探讨逻辑层和物理层分离的重要性,以及数据建模的价值。

首先,让我们定义数据架构和数据存储技术之间的区别。存储和管理数据的基础技术包括数据湖、数据仓库和对象存储。然而,控制数据在这些系统中如何存储、检索和修改的结构、组织、分布和设计原则则由数据架构提供。

以下是良好设计的数据架构对组织的一些优势:

  1. 强大的数据架构:确保数据可靠地获取、处理和存储,从而提高数据质量并带来更可信的洞察。
  2. 增强的数据集成:数据架构通过促进来自多个来源的数据消费,使公司能够更轻松地将来自不同系统的数据进行整合和分析。
  3. 数据管理:数据架构简化了数据管理,为组织提供了一个清晰的框架和组织结构,从而更好地利用其数据资产。
  4. 更大的可扩展性:通过灵活且可适应的数据架构,组织可以随着需求的变化扩展其数据存储和处理能力。
  5. 更好的性能:高效的数据架构能够加快组织获得洞察的速度,通过提高数据存储和检索过程的性能。

当我们探讨数据架构时,物理层和逻辑层的区别将是一个主要讨论话题。物理层组件是指存储数据所需的实际硬件和存储基础设施,如服务器、磁盘和网络组件。逻辑层则代表数据模型、架构和索引技术,它是数据在存储系统中组织和结构化的地方。

数据建模是数据结构中的另一个关键要素。数据建模定义了数据在存储系统中的结构、关系和限制。它帮助企业更好地理解和管理其数据资产,从而确保数据的准确表示和可访问性。

通过分离这些层次,可以带来多个优势,包括更大的灵活性、更好的性能和更佳的数据管理。接下来,我们将讨论分离物理层和逻辑层的好处,并介绍构建数据层的最佳实践。

物理层与逻辑层的分离

数据结构中的一个基本概念是物理层与逻辑层的分离,这对数据存储系统的有效性、适应性和性能有着重要影响。本节将讨论这种分离的优势、设计数据层的最佳实践,并通过案例研究和示例展示这些概念在实践中的应用。

概述与优势

正如前一节所提到的,数据架构的物理层指的是用于存储的实际硬件和基础设施,包括服务器、磁盘和网络组件。逻辑层则是数据模型、架构和索引技术的体现,数据在存储系统中被组织和结构化。

分离物理层和逻辑层提供了以下几个优势:

  1. 灵活性:通过将物理存储基础设施与逻辑数据组织解耦,您可以在组织发展和演变时,更容易地更改存储解决方案。例如,您可以将数据迁移到新的存储技术或增加存储容量,而无需重新设计整个数据架构。
  2. 性能提升:通过分离物理层和逻辑层,您可以独立地优化每一层。例如,您可以通过调整数据的逻辑组织方式(如索引方法)来提高数据查询性能,而不需要更改底层的存储技术。
  3. 更容易的管理与维护:通过分离物理层和逻辑层,您可以单独诊断和维护每一层,这使得发现和处理数据架构中的故障变得更加简单。
  4. 更好的数据安全性与隐私保护:通过分离层次,您可以在物理层和逻辑层上应用更细粒度的安全功能,例如访问限制和加密。这有助于保护敏感数据并遵守数据隐私要求。

设计数据层的最佳实践

在设计数据架构的物理层和逻辑层时,以下是一些值得考虑的最佳实践:

  1. 选择正确的存储技术:选择符合组织需求的存储技术,同时考虑可扩展性、性能、成本效益和与现有系统的兼容性等因素。
  2. 优化数据组织:组织数据,使其便于访问、查询和修改。这可能包括为您的用例和查询模式创建高效的数据模型、架构和索引方法。
  3. 实现数据拆分与分片:数据分区和分片可以帮助您将数据分布在多个存储设备或节点上,从而提高性能和可扩展性。选择最适合您的数据和查询模式的分区或分片方法。
  4. 监控并提升性能:定期监控数据架构的性能,并根据需要进行调整。这可能需要改进物理存储基础设施,如增加存储容量或升级硬件,或优化数据的逻辑组织,如修改索引策略。
  5. 规划发展与变更:在设计数据架构时,要考虑到灵活性和可扩展性,预见到组织的存储需求和要求可能会随着时间发生变化。这将有助于确保您的数据架构能够适应不断变化的需求。

案例研究与示例

以下是一些组织如何通过分离数据架构的物理层和逻辑层来受益的实际例子:

  1. 电子商务公司:一家大型电子商务公司需要提高数据仓库的性能,因为它发现很难管理不断增长的客户数据和销售交易量。通过分离物理层和逻辑层,公司能够优化数据模型、架构和索引方法,而不需要更换现有的存储硬件。这导致了查询性能的提升,并使数据仓库更好地应对了数据量的扩展。
  2. 医疗提供者:一家医疗提供者必须遵守严格的数据隐私法律,确保患者隐私数据的安全。通过分离物理层和逻辑层,公司在数据架构的两个层次上实施了强有力的安全措施。他们在物理存储层使用加密,在逻辑层使用访问控制,以保持敏感患者数据的安全性和合规性。
  3. 金融服务公司:一家金融服务公司需要处理和分析大量的交易数据,以支持其风险管理和投资决策过程。通过分离物理层和逻辑层,该公司能够改进其数据架构,以实现高性能分析,确保数据查询和分析能够快速高效地进行。这使得公司能够做出更明智的决策,并更迅速地适应市场变化。
  4. 制造公司:一家全球制造公司寻求整合来自多个来源的数据,如ERP系统、物联网设备和生产设备,以便更好地了解运营情况并提高生产力。通过分离数据架构的物理层和逻辑层,组织能够创建一个灵活且可扩展的数据模型,支持多种数据类型和来源。因此,企业能够创建一个统一的运营视图,从而促进更好的决策和更高效的流程。

这些例子突显了分离数据架构物理层和逻辑层的重要性。通过遵循最佳实践并利用这种分离的优势,组织可以设计出更灵活、高效且安全的数据存储系统,以支持其需求和要求。

架构管理

在当今信息化社会中,有效管理和操作数据的能力至关重要。架构管理是数据管理中的一个关键要素,它涉及到数据结构的准备、实施和创建。本文将比较和对比两种最基本的架构管理系统——按读架构(schema-on-read)和按写架构(schema-on-write)。

警告
按读架构和按写架构是两种管理数据架构中架构的基本方法。根据您的数据类型、性能、灵活性和一致性要求,它们有不同的优缺点。请注意不要混淆这两种方法或不一致地应用它们,因为这可能导致数据错误或效率低下。

按读架构(Schema-on-read)

按读架构技术在数据检索过程中定义和应用数据架构。这意味着架构在数据被读取和处理时强制执行,而不是在数据被摄取或存储时执行。这种架构模式通常应用于数据湖技术中。

优势:
  1. 灵活性:按读架构提供了更大的灵活性,能够处理来自各种来源和格式的数据,因为它可以在读取过程中应用架构。这一特性尤其在同一数据被不同版本的作业消费且需要使用不同的架构版本时非常有用。
  2. 敏捷性:由于架构变化不需要修改存储的数据,按读架构可以更具敏捷性,更快地适应不断变化的数据需求。
  3. 更快的数据摄取(写入性能) :由于在写入过程中不需要强制执行架构,数据摄取速度更快、流程更简化,从而使得存储多样化的数据集变得更加容易,而无需进行大量的数据转换。
缺点:
  1. 读取性能:在数据检索时应用架构可能导致查询性能下降,特别是对于复杂或大规模数据集而言。
  2. 缺乏数据一致性:由于按读架构在读取时才进行数据验证和强制执行,而不是在数据摄取时执行,因此可能会导致数据不一致性问题。

以下图示代表了按读架构的工作原理:

image.png

按写架构(Schema-on-write)

与按读架构不同,按写架构在数据摄取过程中强制执行数据架构。这意味着,在数据存储之前,它必须符合标准。

优势:
  1. 数据一致性:由于架构在数据摄取时强制执行,按写架构确保了更高的数据一致性,因为数据在转换和处理时必须遵循目标架构的列类型。
  2. 提高读取查询性能:由于架构已经在数据存储时应用,数据消费时的查询性能更快。
  3. 更容易的数据验证:在数据摄取过程中强制执行架构,可以更轻松、更高效地进行数据验证。
缺点:
  1. 减少灵活性:按写架构要求数据在摄取之前必须符合特定的架构,这可能限制了灵活性并使得整合多样化的数据源的过程更加复杂。在某些情况下,减少灵活性会导致为了满足不同读取需求而需要进行数据复制,尤其是在多个数据存储技术中。
  2. 数据摄取速度较慢:由于需要执行架构强制和数据验证,数据摄取速度可能较慢。

以下图示代表了按写架构的工作原理:

image.png

何时使用按读架构与按写架构

在决定使用按读架构或按写架构时,数据的一致性、灵活性和性能等需求都会发挥作用。
请参考以下表格来帮助您做出决策:

方面按读架构 (Schema-on-Read)按写架构 (Schema-on-Write)
灵活性高:易于适应多样化的数据源低:要求数据符合特定架构
敏捷性高:允许快速适应架构变化低:架构变化可能需要修改数据、复制或改进架构
数据摄取速度快:摄取过程中不强制执行架构慢:摄取过程中需要强制执行架构
数据一致性低:数据验证发生在读取时高:在数据摄取过程中强制执行
查询性能慢:架构应用于数据检索时快:架构应用于数据存储时
数据验证在数据检索时进行在数据摄取时进行

表 6.2 – 按读架构与按写架构比较

对于您的组织而言,究竟是按读架构更好还是按写架构更好,并没有定论。最佳实践是根据具体的使用场景选择合适的方法,取决于您的数据需求和目标。例如,您可能会在需要灵活性和敏捷性的探索性分析或机器学习任务中使用按读架构,而在需要性能和一致性的BI或报告任务中使用按写架构。

总之,架构管理是任何可靠数据仓库的重要组成部分。通过比较按读架构和按写架构,您可以确定哪种方法为您的公司提供了最佳的功能组合。

版本管理

在数据管理领域,监控和控制数据及架构演变的能力至关重要。本节将讨论数据版本控制和架构版本控制,这两个版本管理的关键方面。我们将深入探讨它们的预期结果、实际案例以及实施这些方法的建议程序。

数据版本管理

数据版本控制对企业来说是一个游戏规则的改变,它使您能够跟踪和管理数据随时间的变化。通过保持数据的历史记录,您将始终拥有恢复关键信息和防止数据丢失的方式。将数据版本控制视为您公司最重要资产(数据)的安全网。实施数据版本控制很简单,可以与现有的数据管理流程或底层存储技术集成。首先,捕获并存储数据集的多个版本,确保您随时能访问完整的历史记录。这种做法不仅能保护您的数据,还能帮助您的团队通过访问不同版本的数据来分析趋势并做出更好的决策。数据版本控制的重要性体现在以下几个方面:

  1. 防止无意的数据变化:意外更新或删除记录可能会带来严重后果。数据版本控制提供了安全网,可以在必要时恢复到先前的版本。
  2. 审计追踪和合规性:在要求严格的行业中,数据版本控制帮助保持审计记录,确保通过记录所有对数据的更改来满足合规性要求。
  3. 协作:当多个用户在同一个数据集上工作时,数据版本控制使他们能够跟踪更改并避免冲突。
  4. 灾难恢复:在系统故障或数据损坏的情况下,数据版本控制允许您快速恢复到最近的稳定版本。

例如,金融机构希望实施数据版本控制,以跟踪客户账户余额的变化。通过保持账户交易的历史记录,机构可以迅速识别并解决差异或调查欺诈活动。

提示
数据版本控制是一项强大的技术,允许您跟踪和管理数据随时间的变化。它可以帮助您防止意外的数据丢失,确保合规性,促进协作,并支持灾难恢复。要有效地实施数据版本控制,您需要选择支持版本控制功能的存储技术,例如Delta Lake或Apache Hudi。

架构版本管理

架构版本控制是跟踪和管理数据架构或结构变化的过程。它至关重要,原因如下:

  1. 遗留作业兼容性:随着数据架构的演变,您需要确保遗留的作业和应用程序继续顺利运行。架构版本控制允许这些作业使用适当的架构模型操作数据,从而最小化中断。
  2. 架构演变的一致性:架构版本控制确保架构变化既向前兼容又向后兼容,确保数据在整个生命周期内保持可访问性和可用性。
  3. 时态数据消费:架构版本控制使用户能够准确、一致地访问和消费来自不同时间段的数据。

例如,一家电子商务公司可能会频繁更新其产品目录架构,以适应新特性或属性。通过实施架构版本控制,公司可以确保即使架构发生变化,旧的分析作业和报告工具仍能正确访问和处理数据。

架构版本管理的最佳实践

在数据管理中,维护数据完整性并确保无缝的数据访问变得越来越重要。一个好的架构版本管理策略不仅能保留历史数据,还能促进适应未来的变化。以下是一些关键的架构版本管理最佳实践:

  1. 使用架构演变技术:实施架构演变技术,允许您在不造成中断的情况下添加、删除或修改架构元素。这可以通过使用如按读架构或架构注册工具等技术来实现,它们能帮助您更有效地管理架构变更。
  2. 保持向前和向后兼容性:确保您的架构变更具有向前和向后兼容性。这将使遗留应用程序继续运行,并使新应用程序能够无问题地访问历史数据。这也可以通过架构注册工具来实现。
  3. 记录架构变更:不要忘记记录您所做的任何架构更新的原因。您的团队越了解数据架构随时间的变化,他们就能更有效地排查问题,并解答有关数据结构的疑问。
  4. 自动化架构迁移:在必要时,实施自动化架构迁移流程,以减少错误的风险并在架构更新期间最小化停机时间。
  5. 彻底测试架构变更:在将架构变更部署到生产环境之前,进行广泛的测试。这包括与现有应用程序的兼容性测试,并确保这些变更不会引入性能或可扩展性问题。
  6. 监控架构使用情况:定期监控架构在不同应用程序和服务中的使用情况。这有助于您发现潜在问题或改进的领域,并确保架构始终优化以满足数据需求。

专家建议

架构版本管理是跟踪和管理数据架构或结构变更的过程。它可以帮助您保持遗留作业的兼容性,确保架构演变中的一致性,支持时态数据消费,并避免冲突或错误。要有效实施架构版本管理,您需要遵循一种架构演变策略,定义如何以向前和向后兼容的方式处理架构变更。

总之,数据版本管理和架构版本管理在确保数据的完整性、可访问性和可用性方面起着至关重要的作用。通过使用最佳实践和合适的工具控制数据和架构的演变,可以减少中断和数据损坏的风险。因此,您将能够更好地适应业务不断变化的需求,并基于您的数据提供可操作的洞察。

接下来,我们将讨论数据管理中的不同职位和角色。

数据管理中的职位与角色

将理论概念转化为实际实施是一个真正的挑战,尤其是在数据管理这样复杂的领域。在本节中,我们旨在弥合理论与实践之间的差距。我们将深入讨论团队中的角色和责任,讨论适用于湖仓架构每个阶段的解决方案,并确定在每个步骤中涉及的关键角色。我们的目标是提供一条实践路线图,帮助您在组织中实施湖仓架构。我们认为,理解这些实际方面和理解理论框架同样重要,希望这一部分能为您提供成功实施湖仓架构所需的工具。

团队层面的角色与责任

在数据管理领域,特别是实施湖仓架构,尤其是奖章架构(Medallion Architecture),需要一个多元化的技能、角色和责任集合。这种结合了数据湖和数据仓库优势的方法,需要清晰地定义每个角色在过程中负责什么以及在哪个阶段执行任务。

在我们深入探讨具体内容之前,需要注意的是,我们在这里讨论的角色并不是详尽无遗的。每个组织都是独特的,拥有自己的一套挑战和需求。根据数据操作的复杂性和组织的规模,可能会有其他角色,或者我们提到的某些角色可能会合并或以不同方式划分。我们的目标是提供一个广泛概述,涵盖在实施湖仓架构过程中典型的角色:

  1. 数据工程师:数据工程师是数据管道的架构师。他们的主要职责围绕着构建和维护数据管道,这是湖仓架构的基础。他们负责将原始数据摄取到暂存层,确保来自不同来源的数据能够正确且高效地进入系统。然而,他们的角色并不仅限于此;他们还会进行必要的初步转换,将这些原始数据推进到青铜层。这包括数据清洗和结构化,确保青铜层的数据质量和格式可接受。除此之外,他们还参与了数据的精炼和丰富,以便将数据推进到银层,在银层应用更具体的转换,并可能为数据集添加派生列或特征。
  2. 数据分析师:数据分析师通常在银层、金层和洞察层工作。他们负责将数据转化为适合业务使用的格式,创建派生数据集、关键绩效指标(KPI)以及其他填充金层的业务级聚合数据。他们的角色在于将技术数据转化为可操作的洞察,帮助桥接原始数据与业务洞察之间的差距,进而影响业务战略和决策。
  3. 数据科学家:数据科学家主要在金层和洞察层操作。他们处理经过精炼和丰富的数据,运用统计学、机器学习和预测建模等技能,创建预测模型、进行模拟并生成洞察。他们利用金层中的数据驱动价值,识别趋势、发现模式,并向业务提供可操作的洞察。
  4. 数据管理员:数据管理员在数据治理中扮演着至关重要的角色。他们的职责贯穿架构的所有层次,确保数据质量、完整性、合规性和可访问性。他们负责设定数据标准、管理元数据、确保数据隐私和安全,并维护数据字典,帮助其他团队成员理解数据。
  5. 数据消费者:最后是数据消费者,包括业务用户、决策者,有时甚至是客户。他们通常与金层和洞察层互动,利用已处理和精炼的数据进行业务洞察、报告、决策以及其他分析任务。
  6. 数据架构师:数据架构师在设计和管理整个数据基础设施,特别是湖仓架构方面起着关键作用。他们跨越所有层次,做出关于整体设计、工具和技术选择、数据建模和架构设计的关键决策。从暂存层到洞察层的数据流动效率在很大程度上取决于他们的设计决策。数据架构师还在确保数据安全、数据隐私以及遵守数据治理政策方面发挥重要作用。
  7. 机器学习工程师:机器学习工程师通常在金层和洞察层工作,使用青铜层和银层的数据。他们与数据科学家密切合作,但主要专注于机器学习模型和算法的设计、开发和部署。他们将数据科学家创建的数据驱动洞察和预测模型转化为生产级代码。为了确保模型在现实场景中的性能和可扩展性,他们还需要优化模型。机器学习工程师的工作为洞察层的高级分析和预测能力奠定基础。

以下图示表示了不同角色之间的互动:

image.png

不同角色之间的互动

不同角色之间的互动会根据各个公司的文化背景而显著变化。

适用于每个阶段的解决方案

在奖章架构的每个层次上,任务和责任的多样性要求在适当的阶段部署合适的解决方案,以促进这些任务的顺利进行:

  1. 数据摄取工具:在暂存层和青铜层,重点是数据的摄取和初步处理。常用的工具包括Apache Kafka、Apache NiFi和Logstash,它们用于处理来自各种来源的数据摄取。
  2. 数据处理和转换工具:从青铜层到银层的过渡涉及更多的具体转换,这时数据处理和转换工具发挥作用。常用的工具包括Apache Spark、Apache Beam和Apache Flink,它们用于数据处理,而数据清洗和转换工具如Trifacta或OpenRefine则用于数据清理和转换。
  3. 数据仓库和BI工具:在金层和洞察层,数据已经被精炼并准备好进行分析。这时,数据仓库解决方案如Google BigQuery、Amazon Redshift或Snowflake发挥作用。

每个阶段的关键角色

鉴于奖章架构中涉及的任务多样性,拥有一个具备广泛技能的团队至关重要。前述角色应当协同工作,确保湖仓架构的顺利运行:

  1. 数据工程师在暂存层和青铜层扮演着至关重要的角色。他们需要强大的技术能力来处理数据摄取过程,并应用必要的转换,准备数据进入下一阶段。
  2. 数据分析师在银层和金层大显身手。他们对业务的理解和分析能力对将原始数据转化为适合业务的信息至关重要。
  3. 数据科学家主要在金层和洞察层工作。他们在统计学、机器学习和预测分析方面的专业知识,使他们能够从已处理的数据中创造有价值的洞察。
  4. 数据管理员在所有阶段都需要参与。他们确保整体数据质量、合规性和可访问性,使得其他团队成员能够更加高效地完成工作。
  5. 数据架构师在所有阶段都至关重要。他们在管理复杂数据基础设施方面的远见和专业知识帮助从基础上构建湖仓架构,确保其成功。
  6. 机器学习工程师在金层和洞察层最为活跃。他们将数据洞察转化为可扩展且高效的模型,推动湖仓架构的高级分析和预测能力。
  7. 数据消费者是最终用户,主要与洞察层互动。他们的反馈对持续改进和将数据策略与业务目标对齐至关重要。

这种团队动态是一种简化视图,实际上,根据组织的规模和复杂性,可能会有责任重叠或更多专门化的角色。然而,原则是相同的:在每个阶段拥有合适的角色对于成功实施湖仓架构至关重要。

总结

随着我们本章对数据存储技术和架构的探讨结束,希望您现在能够深入理解各种数据存储选项的复杂性、它们各自的优势以及潜在的缺点。我们还探讨了湖仓架构的概念及其各个阶段,并讨论了如何在实际场景中实现这一架构。

我们相信,数据存储技术和架构的基础知识对任何数据专业人士做出关于如何构建、管理和优化数据资产的决策至关重要。有效使用数据存储技术不仅仅是高效存储数据;更重要的是使数据可访问、可用并具备意义。

展望未来,在第七章《数据摄取与存储策略》中,我们将转向一个新的但相互关联的主题。现在,我们已经对数据的“存储位置”有了清晰的理解——数据存储在哪里——接下来,我们的重点将转向“如何”——数据是如何到达那个位置的,并且我们如何为最大效率和效果策划这一过程。

在下一章中,我们将深入探讨各种数据摄取方法和策略,重点介绍可用于不同用例的多种存储类型。我们还将讨论将数据摄取和存储策略与整体业务目标及数据生态系统的独特需求对齐的重要性。

在我们穿越数据管理的广阔领域时,从存储到摄取的旅程将进一步强化这样一个观念:这一领域的每个方面都是相互关联的,每个选择都会影响到其他方面。请继续跟随我们,一起揭示这些复杂的相互关系,帮助您建立一个强大、高效、可扩展的数据基础设施。