湖仓架构中的数据(和 AI)治理与安全

806 阅读32分钟

数据平台围绕三个关键支柱展开:人员、流程和技术。在前几章中,我们讨论了实现湖仓的各种技术。本章重点关注湖仓实现中的人员和流程方面。本章将帮助你了解湖仓架构如何在所有数据和ML/AI资产中实施统一的治理和安全流程。

你需要健全的治理和安全流程,使那些在湖仓数据上工作的人能够协作、安全交换数据,并保持对数据的信任。这些治理和安全流程为强大的数据生态系统奠定了基础。

首先,我将向你介绍关键的治理概念,并解释为什么需要治理以及它如何帮助改善整体数据管理活动。我们将重点关注数据质量、审计、血缘、共享以及在设计数据治理策略时应考虑的不同合规性。我们将讨论为什么数据安全对现代数据平台至关重要,以及如何在数据静止、传输和消费者使用时保护数据。我们还将探讨在平台内识别和保护敏感数据的各种选项。

本章的最后一部分将根据你在湖仓实现项目中的角色,指导你在治理和安全方面的职责。

什么是数据治理和数据安全?

数据从业者有时会将数据治理和数据安全这两个术语互换使用。尽管它们是不同的概念,但它们相辅相成,以管理和保护数据平台内的数据。

正如在第1章中简要讨论的那样,数据治理是一个总括性术语,包括各种标准、规则和政策,以确保所有数据管理流程遵循正式的指南。这些指南旨在确保和改进合规性、数据质量、数据信任和数据价值。数据治理为数据和元数据的摄取、集成、存储、所有权、消费和共享提供指导。

数据安全则涉及数据保护——无论数据驻留何处以及用户何时访问它。安全性确保只有正确的人拥有正确级别的访问权限访问正确的数据。它确保你的数据仅由授权的消费者(内部或外部)共享和访问。

图6-1展示了不同的数据治理和数据安全流程。

image.png

如图 6-1 所示,数据治理和安全都是必不可少的功能,并包括不同的流程。

数据治理包括:

  • 管理数据生态系统内存储的所有对象的元数据
  • 遵循行业或国家特定规则和法规的合规流程
  • 测量、监控和维护湖仓中存储的数据质量
  • 跟踪数据从源系统到目标系统的流动的数据血缘
  • 与外部消费者和下游应用程序进行安全数据共享
  • 指定对数据负责的正确所有者
  • 审计和监控,以跟踪数据访问、访问频率及其他审计用例

数据安全包括:

  • 为内部和外部用户管理细粒度访问控制
  • 数据在静止或跨系统移动时的数据保护
  • 保护个人和私密信息的敏感数据管理

数据治理和数据安全的好处

数据治理和安全是必不可少的功能,使平台用户能够执行搜索和发现、自助分析、与其他用户协作,并在不影响平台内存储的数据质量和安全性的情况下与第三方共享数据。

数据治理和数据安全流程所提供的综合好处包括:

  • 通过提高数据质量,减少数据停机时间并增加消费者对数据的信任
  • 遵守 HIPAA、SOX、PCI DSS、GDPR 等法规,避免严厉的处罚
  • 通过实施数据血缘、审计和监控,跟踪端到端的数据流动、用户活动和未经授权的数据访问
  • 能够与外部合作伙伴和客户共享、货币化和交换数据
  • 保护你的数据,避免数据泄露和相关的声誉风险
  • 能够识别敏感数据并添加必要的控制措施来掩盖它

注意

数据停机时间,如数据可观测性平台 Monte Carlo 所描述的,是指数据错误或不完整的时期。如果你不在管道中实施数据质量验证,你往往会得到无法信任其准确性或完整性的数据。

在现代数据世界中,数据治理和安全已成为任何希望以数据为驱动的组织的必备条件。数据治理计划使这些组织不仅能够从数据中获得正确的价值,还能将其用作与外部世界协作的工具。

湖仓架构中的统一治理和安全

在传统的数据仓库中,治理仅限于数据资产,而使用数据湖架构构建的平台则没有采用强有力的治理流程。然而,湖仓架构不仅适用于表、视图或 BI 报告等数据资产,还适用于特征存储和 ML 模型等 AI 资产。湖仓架构使你能够实施统一的数据和 AI 治理策略,全面覆盖所有数据和 AI 资产。

图 6-2 展示了湖仓架构中数据和 AI 资产的统一治理。

image.png

统一治理提供了多个好处,包括:

  • 数据和 AI 资产的集中元数据管理,使用户能够从单一界面搜索和发现表、视图、报告和 ML 模型
  • 在 ML 数据准备活动中重用数据质量规则、访问权限和其他治理政策(在数据管道中创建)
  • 跟踪跨数据和 AI 资产的端到端血缘,以了解任何源属性更改对 BI 报告和 ML 模型的影响
  • 能够与合作伙伴、客户和外部用户共享表、数据集、BI 报告和 ML 模型
  • 在 BI 和 AI 用例中应用一致的访问控制政策
  • 监控从数据摄取到报告和模型消费的端到端数据流动

湖仓架构中的治理和安全流程

治理和安全流程是你湖仓平台的重要组成部分。在本节中,我们将讨论应在这十个关键领域实施的这些流程。

元数据管理

在第4章中,我们讨论了数据目录在元数据管理、快速搜索和便捷发现中的重要性。元数据管理有助于控制和治理湖仓中的数据和 AI 资产的元数据。

湖仓数据治理政策围绕元数据提供指导,包括:

  • 从不同的数据系统摄取元数据到中央元数据存储库
  • 管理表、视图、文件、报告、特征存储和 ML 模型的元数据
  • 添加和维护资产的业务上下文,以便于发现和自助分析
  • 向用户提供适当级别的访问权限,使他们能够快速便捷地发现数据

你应该将元数据视为数据生态系统中的一等公民。元数据是湖仓数据治理的骨干,应谨慎实施,考虑以下最佳实践:

  • 指定数据管理员来管理元数据及其摄取过程,并执行访问政策。
  • 自动安排元数据摄取过程,以保持元数据的最新状态。
  • 经常审查元数据,识别没有业务描述的表,并通知相应的数据管理员。

合规与法规

治理确保数据管理流程符合相关的合规和法规要求。在实施数据平台时,必须遵循国家和行业特定的合规标准。这些规则也适用于 AI 资产,因此请确保你的 ML 模型符合所有适用的法规。

什么是不同的合规性?

  • 《通用数据保护条例》(GDPR)保护欧盟消费者的数据,并赋予他们请求删除其信息的权利。
  • 《健康保险携带和责任法案》(HIPAA)定义了保护个人医疗记录和个人健康信息(称为受保护健康信息 PHI 数据)的各种法规。
  • 《支付卡行业数据安全标准》(PCI DSS)是全球数据安全标准,监管使用卡进行支付交易时生成、处理和存储的数据。

这些只是数据从业者在实施数据平台时需要了解和设计的一些关键合规性和法规。还有许多其他的,如《加州消费者隐私法》(CCPA)、《萨班斯-奥克斯利法案》(SOX)、《联邦风险与授权管理计划》(FedRAMP)等,许多组织必须根据其运营国家、行业及其提供的产品和服务来遵守。

在湖仓实现中,你可以利用开放表格式和其他技术的功能来遵守这些法规要求。例如,作为 GDPR 合规性的一部分,“被遗忘权”要求在客户请求时删除其数据。你可以通过使用 Delta Lake 的更新/删除(软删除)和真空(永久删除)功能,删除存储在云存储中的客户记录来实现这一要求。

在选择工具、云平台、区域或云服务时,检查它们是否符合这些法规要求。例如,并非每个云服务在同一国家都有备份站点。在同一国家内拥有备份站点(以备份数据)是常见的合规要求。

在实施 ML 模型时,考虑所有适用的法律和法规。记住以下关键点:

  • 避免在未经掩盖的情况下使用任何敏感数据进行模型训练。
  • 确保用于训练的数据是通过伦理方式收集的,不会侵犯个人隐私。

提示

作为顾问,我曾在银行、保险、电信和制药等行业的项目中工作。很难深入了解所有与这些行业相关的合规性。因此,我尝试与组织内的合规和安全团队合作,了解这些合规性及其对数据平台的影响。作为数据架构师,了解相关合规性并与其他团队合作以理解适用的规则和法规是至关重要的。

数据和 ML 模型质量

数据质量是影响用户对数据信任度的最关键参数之一。高质量的数据有助于提高消费者对数据的信任度;低质量的数据会影响基于数据的报告、预测和整体业务决策的准确性。

衡量数据质量并使用流程来改进它应该是你数据治理策略的关键部分。

你可以根据以下五个关键维度来衡量数据质量(尽管可能还有更多):

  • 准确性:确保湖仓中的数据准确且无错误
  • 一致性:确保数据始终一致,不会在不同用户访问时返回任何不一致或冲突的值
  • 新鲜度:确保始终有最新数据可供处理
  • 唯一性:确保数据中没有重复值
  • 完整性:确保在目标表中存储完整的数据,不包含任何部分记录

同样,你还必须衡量 ML 模型的质量。随着时间的推移,由于数据漂移或偏见,一些模型可能无法提供最佳结果。数据漂移可能是由于模型退化,因为源系统或外部数据提供商发送的数据发生变化。ML 模型可能会随着时间的推移而产生偏见,从而导致结果不现实或偏离实际情况。

实施流程以识别 ML 模型中可能降低其结果和整体性能的问题。

为了确保湖仓中的良好数据治理,请将数据质量置于所有数据流程的核心,遵循以下最佳实践:

  • 在湖仓存储的所有层中添加技术和业务验证。当数据在湖仓的原始层、清洗层和整理层之间移动时,执行数据对账以识别任何数据泄漏。
  • 利用技术特性,如约束(Delta Lake)和预提交验证器(Apache Hudi),在数据处理过程中添加数据质量检查。尽可能自动化这些过程。
  • 始终维护被拒数据的表,并与源系统共享以供分析和纠正。
  • 每天生成数据质量仪表板,以快速查看数据健康状况,并采取适当措施改进数据质量。
  • 实施数据可观测性功能以减少数据停机时间。

跨数据和 AI 资产的血缘

数据血缘提供有关数据在数据平台中如何流动的信息。

由于湖仓架构中的所有数据都在一个存储层中,你可以从源系统到目标表、报告和模型获取端到端的血缘。图 6-3 显示了属性如何从源表 cust_details 传播到湖仓维度表、BI 报告和 ML 模型。

血缘有助于你理解数据流动、执行影响分析、识别冗余对象和跟踪敏感数据。

image.png

理解数据流

数据血缘有助于跟踪源表和目标表及属性之间的流动。表级血缘提供关于源表的信息,这些源表填充目标表,使你能够理解在数据管道中执行的过程涉及的实体。属性级血缘使你能够轻松跟踪属性是如何填充的,以及哪些下游表使用这些属性。

执行影响分析

如前所述,湖仓架构提供了从源系统到 BI 报告和 ML 模型的端到端血缘。使用这种端到端的血缘分析源架构更改的影响,这是数据团队面临的最常见和频繁的情况之一。例如,如图 6-3 所示,cust_profession 是 cust_details 表中的一个属性。如果此属性名称更改为 cust_occupation,血缘可以帮助你理解此更改的影响,通过识别使用该属性的下游表、报告和 ML 模型。

识别未使用的对象

数据血缘有助于识别未被下游应用程序或其他消费者使用的表或属性。如图 6-3 所示,目标表、报告或模型均未使用源表中的 cust_age 属性。所有下游系统都在使用 cust_dob 来计算年龄(如果需要)。血缘可以指示此类不再需要的冗余表或属性。

跟踪敏感数据

如果你的湖仓中存在 PII 数据,血缘可以帮助识别生产它的系统和使用它的消费者。你可以跟踪所有使用 PII 属性的表、报告或模型,并采取适当的措施删除或抽象敏感数据。例如,考虑图 6-3 中的 cust_national_id 属性。此属性包含客户的敏感数据,因此必须相应处理。

数据和 AI 资产共享

多个消费者访问和使用存储在湖仓中的数据。这些消费者可以是内部用户、外部用户(如客户和合作伙伴)或下游应用程序。这些消费者可能位于不同的数据平台上。例如,假设你的湖仓平台在 Azure 上,但你的消费者使用的是 AWS。在这种情况下,开放表格式允许你使用其数据共享功能与他人共享数据。

传统上,组织会将数据从数据仓库提取为文件并与外部方共享。这一活动增加了复制,并导致数据冗余。在湖仓架构中,你无需提取数据;消费者可以直接访问存储在开放格式中的数据。例如,考虑 Delta Lake 的 Delta Sharing 协议,这是一种用于数据共享的开放协议。它允许共享实时数据而无需复制数据。它还提供了跟踪和审计共享数据资产访问的功能。

通过受良好治理的流程进行湖仓数据共享有助于:

  • 与各种外部消费者(包括 BI 工具、治理产品、分析平台)共享数据,让他们根据所使用的产品和平台利用自己的计算引擎。
  • 通过安全的数据共享计划,探索与外界协作和交换数据的机会。
  • 在市场上货币化你的数据和 AI 资产。
  • 创建清洁室,与客户和合作伙伴共享原始数据,以便在不失去数据隐私的情况下获得更多数据洞察。

注意

清洁室是一个受控环境,通常由组织用于与合作伙伴安全地共享数据以进行协作分析,如广告公司用于定向营销。

然而,数据共享并不意味着你可以妥协数据安全。请记住以下建议:

  • 只共享所需的表或属性,而不是整个模式。
  • 定期审查共享对象和权限。
  • 确保敏感数据不会与不应访问敏感信息的消费者(即使是内部用户)共享。

数据所有权

作为数据治理过程的一部分,你必须为你的数据资产识别和分配正确的数据所有者。数据所有者对数据负责,并可以提供数据集的业务描述。你还应该有识别数据管理员的流程,他们可以帮助维护数据、添加业务上下文、分类数据、突出显示任何敏感信息,并采取必要措施维护其质量和敏感性。这两个角色对于在湖仓中持久化高质量数据至关重要。

注意

你可能会问:数据所有者和数据管理员有什么区别?

虽然这两个角色都来自业务团队,但它们的职责不同。

数据所有者对数据负责,最适合描述数据、定义数据的业务描述并做出与数据相关的战略决策。他们主要担任高管角色,不参与日常操作活动。

数据管理员也来自业务职能部门,但与 IT 密切合作,以使数据符合数据所有者定义的标准。他们是特定数据集的主题专家,比 IT 团队更了解他们的数据。他们还知道如何使用数据目录探索数据以及如何使用各种功能对数据进行分类和分析。你可以根据他们使用特定表或数据集的情况识别和分配数据管理员。

总结一下,数据所有者提供战略指导,而数据管理员实施必要的政策来治理、保护和管理数据。

你应该考虑将运行特定表上最多查询的用户指定为数据管理员,并在与源系统所有者协作时将他们纳入数据质量讨论。

审计和监控

作为数据平台审计过程的一部分,你可以跟踪用户或应用程序在访问数据时执行的各种活动。你可以使用审计日志处理与数据安全、合规性和其他数据治理流程相关的不同用例。作为数据治理计划的一部分,你应该审计和监控湖仓平台中各种数据管理流程、ML 实验和模型部署。

审计和监控可以帮助你回答以下问题:

  • 在过去的 x 天内有多少用户访问了特定表或属性?
  • 每天或每月查询最多的表是什么?
  • 在过去的 x 个月中有没有未被访问的表?
  • 哪些用户访问了包含敏感数据的属性?
  • 哪些用户尝试访问未授权访问的表?
  • 数据从源到目标的过程中是否有任何数据泄漏?
  • 你的模型质量是否随着时间的推移而下降?

在湖仓中,你可以实现数据的端到端审计。你可以跟踪所有用户活动,包括查询执行、表访问和 API 请求。有效使用审计日志的一些方法包括:

  • 使用审计日志识别最常用的数据集,并将这些数据集发布在组织内最常用的数据集列表中。这可以帮助用户进行自助分析。
  • 识别经常访问特定数据集的用户。提升这些用户为这些数据集的数据管理员,以认证数据、维护其质量并回答其他用户有关该数据集的问题。企业级目录工具(如 Alation)可以帮助你根据访问模式识别和分配数据管理员。
  • 基于加密密钥访问日志(如 AWS KMS),识别未经授权的数据访问尝试,以发现内部用户的试图违规或意外访问请求;确保对他们进行教育。

访问管理

访问管理是数据安全流程的一部分,使数据管理员能够限制对存储在湖仓中的数据的访问。在传统架构(如数据湖)中,与湖仓采用的细粒度访问控制相比,用户只能实施粗粒度访问控制。表 6-1 列出了粗粒度和细粒度访问控制之间的区别。

表 6-1. 粗粒度与细粒度访问控制
粗粒度访问管理(数据湖)细粒度访问管理(湖仓)
你只能在文件级别授予访问权限。你可以在表、列或行级别授予访问权限。
你不能限制对文件中特定属性或记录的访问。你可以限制用户访问表中的特定属性或记录。
通常需要繁琐的变通方法,如创建具有选择性属性或记录的视图。现代数据目录通常提供开箱即用的功能来实施细粒度访问控制。

你可以根据用户角色、用户属性、元数据标签、数据敏感性或数据分类,通过湖仓中的中央数据目录管理表、视图和报告的细粒度访问。

为了在湖仓中实现高效的访问管理,请遵循图 6-4 所示的“三个R”过程——限制(restrict)、审查(review)和撤销(revoke)。

image.png

限制(和授予)

限制对所有表的访问,并仅授予对特定表的最少必要权限。

我们在第4章讨论的大多数目录都提供了管理用户、组或角色访问权限的功能。利用这些功能提供有限的访问权限。

在为外部消费者提供访问权限时,根据请求给予几小时或几天的时限访问。

审查(和分析)

授予访问权限只是过程的一半。定期审查已提供的访问权限对维护湖仓的安全性至关重要。

云平台提供服务来执行“访问分析”,你可以利用这些服务找到频繁访问的表和属性。

监控审计日志和访问日志,检查哪些用户和角色正在访问特定属性(如 PII 或 PHI 数据)。审查他们是否仍然需要该访问权限。

撤销(和采取行动)

审查后,撤销任何不再需要的访问权限。

对任何未经授权的访问尝试采取适当的行动。

根据你的用例,可以考虑使用 Immuta 或 Privacera 等第三方产品,在整个数据生态系统中实施细粒度访问控制。这些产品可以帮助简化整体数据访问管理。

数据保护

无论数据是静止状态还是在传输过程中,都要始终保护数据。你不应为了提高性能、简化管理或降低成本而妥协数据安全。图 6-5 显示了数据在湖仓内存储以及在湖仓内外移动时的保护技术。

image.png

静止数据

在湖仓架构中,所有数据都存储在云存储中。这些数据被称为“静止数据”,应始终进行加密。每个云提供商都提供加密其云存储中数据的服务。例如,如果你使用 Amazon S3 存储湖仓数据,可以通过以下方法之一加密数据:

  • 使用 AWS 管理的密钥进行服务器端加密 (SSE-KMS)。
  • 使用客户管理的密钥进行服务器端加密 (SSE-C)。
  • 在将数据加载到云存储之前进行客户端加密。

类似地,其他云提供商也提供密钥管理服务来加密存储在其云对象服务中的数据。

传输中的数据

加密移动中的数据或“传输中的数据”也很重要。你可以使用云平台提供的服务确保数据在湖仓存储进出时的安全传输。大多数云提供商在数据进出平台时提供安全套接字层 (SSL) 或传输层安全性 (TLS) 加密。

一些其他保护传输中数据的替代方案包括:

  • AWS Direct Connect、Azure ExpressRoute 或 GCP Cloud Interconnect。这些工具在将数据从本地系统移动时提供直接连接和额外的安全性。
  • 在云服务提供商 (CSP) 和本地网络之间使用虚拟专用网络 (VPN)。
  • 像 Snowflake 和 Databricks 这样的第三方提供商在将数据从云移动到其平台时提供私有链接。他们还提供增强的数据安全功能。

在为湖仓实施数据保护功能时,遵循以下最佳实践:

  • 对于静止数据的加密,使用具有密钥轮换策略的客户管理密钥以获得更高的安全性。
  • 根据存储桶的用途,考虑为云存储中的不同存储桶使用不同的密钥。例如,使用不同的密钥来访问外部用户的存储桶和内部数据工程团队使用的存储桶。
  • 在存储数据时进行令牌化或掩码(如果需要)以增强安全性。在这种情况下,即使有人意外访问了存储这些数据的存储桶,他们也无法看到实际的原始数据。
  • 尽可能通过内联网、VPN 或其他安全通道传输数据,避免通过互联网传输数据。这可能会增加成本,但会提供额外的安全层。

处理敏感数据

数据平台通常处理各种敏感数据,包括个人身份信息(PII)、受保护健康信息(PHI)或其他属性如信用卡号码。针对存储在湖仓平台中的敏感数据实施安全检查非常重要。处理敏感数据的过程主要有两个步骤:识别敏感数据和匿名化敏感数据。

识别敏感数据

源系统、外部第三方应用程序、手动数据上传和其他类似的数据生产者可能会将敏感数据引入到你的平台中。在构建湖仓系统时,请确保实施识别敏感属性的流程。你可以实施手动或自动技术,频繁运行以识别敏感数据。现代目录或第三方安全平台可以帮助识别敏感属性并向数据管理员发出警报。

匿名化敏感数据

一旦识别出任何敏感数据,必须对这些数据进行匿名化或抽象处理,以确保其原始形式的访问受到限制。你可以采用以下几种方法来匿名化敏感数据:

  • 使用动态数据掩码等功能,根据访问者身份抽象敏感数据。符合条件的用户可以看到原始数据,而其他人则只能看到抽象数据。Databricks 和 Snowflake 等产品提供这种动态掩码功能。
  • 如果需要匿名化关键列并将其用于连接其他表,可以考虑对数据进行哈希或令牌化。这些是数据生态系统中常用的方法,用于抽象关键列,同时保留其作为连接键的唯一性,以执行 SQL 连接操作。

上述两种方法使用“读取时数据掩码”,即在用户读取数据时应用掩码。然而,你还应该检查是否有特定的合规性要求限制存储未掩码的敏感数据。例如,PCI DSS 合规性对存储持卡人数据有特定要求。在这种情况下,可以考虑在存储数据之前对数据进行令牌化,或使用专门从事卡数据令牌化的第三方服务。

未经授权访问 PII 会导致多个合规性问题。在实施处理敏感数据的流程时,请考虑以下几点:

  • 自动化识别敏感属性的过程。最佳方法是在元数据摄取期间检测到任何 PII 时发出警报。
  • 使用现代数据目录的血缘功能查找使用敏感属性的上游和下游表、报告、特征存储表或 ML 模型。
  • 自动化 PII 匿名化过程,一旦检测到数据即进行抽象处理,并向相关管理员发送警报。
  • 使用审计和监控,在未经授权的用户尝试访问敏感数据时发出警报。
  • 在决定加密、掩码或令牌化方法用于湖仓中存储敏感数据之前,请始终咨询你的合规性和安全团队。

本节讨论了你应在十个关键领域中应用的重要治理和安全流程。实施这些流程将使你能够构建一个治理良好且安全的湖仓平台。

你的角色是什么?

数据治理是一项团队运动,每个数据角色在确保平台的治理和安全方面都扮演着重要角色。

图 6-6 显示了来自业务和 IT 职能的不同数据角色。在本节中,我将总结这些角色及其在数据治理和安全方面的职责:

业务发起人

这些是来自业务团队的高管,具有以下与治理相关的职责:

  • 为数据团队提供预算批准,以便在项目开始时就能开展数据治理和安全方面的工作。
  • 支持治理委员会成员的上任,以倡导数据治理举措,并定期审查流程。

image.png

数据所有者

数据所有者是业务高管,应该承担以下职责:

  • 定义数据的业务含义,并与数据管理员合作将业务描述添加到数据目录中。
  • 对他们的数据负责并承担责任,做出支持治理政策的战略决策。

数据管理员

数据管理员是业务团队的一部分,对其领域的数据有深入了解。应该承担以下职责:

  • 使用数据剖析工具分析数据工程师加载的数据,找出异常值或数据问题。
  • 分析任何敏感数据警报并采取措施进行抽象处理。
  • 与源系统和数据所有者合作纠正错误数据。
  • 为技术元数据添加业务上下文,使非技术和业务用户能够进行自助分析。

业务分析师和数据分析师

分析师可以来自业务团队,也可以是来自 IT 的具有丰富领域知识的经验人士。他们的治理职责包括:

  • 在查询数据时谨慎行事,只查询有权限访问的数据。请记住,任何未经授权的访问都会被跟踪和报告。
  • 通知湖仓数据管理员其角色或部门的变更,以便撤销或更改访问级别。
  • 如意外访问到敏感数据,通知湖仓管理员以实施适当的抽象机制。

数据架构师

数据架构师是 IT 团队的一部分,在设计湖仓时负责以下活动:

  • 将数据治理和安全视为“第0天”(湖仓项目开始时)活动,确保它们是核心设计原则。
  • 设计所有流程,包括数据摄取、转换、存储和消费,以符合治理和安全政策。
  • 与业务、合规、安全和云基础设施团队合作,了解合规和安全需求。
  • 编写治理和安全指南,并与数据工程师、科学家、管理员、分析师和其他角色进行会议,解释如何在处理平台数据时实施这些指南。

数据工程师

数据工程师是 IT 团队的一部分,在实施良好治理的湖仓方面发挥重要作用,承担以下职责:

  • 将数据质量放在他们实施的每个数据管道的核心。添加验证以拒绝错误记录并在湖仓的高级存储区域中持久化高质量数据。
  • 使用湖仓功能,如 Delta Lake 中的约束来执行数据质量规则。利用模式强制和演变功能执行模式验证或演变。
  • 在云存储中存储数据时始终确保数据安全。将任何敏感数据匿名化后再存储在系统的高级存储区域中。
  • 通知数据管理员关于他们不应接触的敏感数据的任何意外访问。

数据管理员

数据管理员是数据生态系统的守门人,负责以下职责:

  • 定期从不同系统摄取元数据,并使其可供搜索和发现。
  • 通过根据用户角色或标签限制属性来实施细粒度访问控制。根据组织内的角色或部门,仅授予相关访问权限给数据消费者。
  • 管理技术元数据,为数据资产分配数据管理员和所有者,以及 ML 模型和 BI 仪表板。
  • 经常审查对内部和外部或下游消费者的访问权限。

数据科学家、ML 工程师和 BI 工程师

这些是内部数据消费者,具有以下与治理相关的职责:

  • 根据组织的数据治理政策管理 ML 模型和 BI 报告及仪表板。
  • 遵循 DataOps 和 MLOps 流程,维护代码和模型版本,并使用审计流程跟踪访问。

数据治理委员会成员

数据治理委员会成员可以来自 IT、业务、法律和合规等各部门。成员在治理方面的职责包括:

  • 规划和记录各种数据治理需求,包括合规要求、行业或国家特定法规和数据驻留规则。
  • 定期审查治理政策并定期衡量成熟度水平。
  • 倡导和推广治理,使数据团队接受治理计划,而不是将其视为交付的瓶颈。

什么是分析工程师?

分析工程师的角色在现代数据团队中越来越受欢迎。他们的工作结合了数据工程和数据分析,并引入了一些软件工程领域的最佳实践,如代码模块化、可重用性、版本控制、持续集成和文档化。分析工程师创建可重用且清洁的数据集,其他数据消费者可以轻松使用这些数据集来满足其需求。例如,dbt(数据构建工具)是分析工程师用于在数据仓库中加载数据上进行复杂转换的领先产品之一。

在湖仓架构的背景下,分析工程师可以使用 dbt 创建模型(SQL 查询)来转换湖仓中的数据。分析工程师应承担数据工程师和数据分析师角色的治理职责。

关键要点

在本章中,我们讨论了如何在平台的十个关键领域实施数据治理和安全流程。表 6-2 提供了实施这些流程的好处的快速总结。

表 6-2. 湖仓架构中统一治理和安全流程的好处

治理和安全流程在湖仓架构中的好处
元数据管理帮助在表、视图、报告和 ML 模型中进行轻松搜索和发现
合规法规确保遵守强制性规则和法规
数据和 ML 模型质量维护数据信任并减少数据停机时间,帮助减少 ML 模型中的偏差
跨数据和 AI 资产的血缘帮助对任何更改进行端到端的影响分析,提供识别敏感属性在资产之间流动的能力
数据和 AI 资产共享帮助与合作伙伴、客户和外部消费者共享表、报告和模型,在市场上货币化数据
数据所有权维护数据质量,并对任何数据问题发出警报
审计和监控突出显示未经授权的访问、模型性能下降和数据泄漏
访问管理帮助最小化对湖仓数据的未经授权访问
数据保护保护数据,无论它驻留在哪里以及何时移动或访问
敏感数据处理保护客户的敏感数据

请记住以下两点:

  1. 当涉及到合规性和安全性时,遇到疑问请务必询问!合规性和安全团队最适合在湖仓平台设计过程中指导你。
  2. 实施湖仓治理和安全功能不是一次性项目。这些举措与数据计划并行进行,是整体数据战略的一部分。数据领导者应从湖仓项目的第 0 天起与数据团队一起接受和倡导这些举措。这是一个使组织真正数据驱动并使其成为行业领导者的旅程。