Snowflake 元数据管理中心

2025年8月2日 | 阅读 11 分钟

Snowflake 的元数据管理是什么意思?

数据治理学科包括 Snowflake 元数据管理,它使用技术、工作流、策略和流程来查找、整理和呈现 Snowflake 元数据给数据消费者。为 Snowflake 数据仓库中的资产提供有用的上下文是元数据管理的秘密。

现代元数据管理除了定义和访问数据之外,还解决了 DataOps 的用例,包括工作流管理、自动化、可观测性、工具集成和变更管理。

Snowflake Metadata Management Hub

数据管理战略

为处理组织创建、存储、管理和处理的数据制定策略或计划的过程称为数据管理策略。数据管理背后的策略包括概述处理机构数据资产所需的系统、流程、工作流和安全性,即使数据管理最基本的实践是跨部门或组织组织和维护数据。

IT 或其他专业数据专家通常负责这项数据治理计划。它为实现企业数据目标、成功集成和一致性奠定了坚实的基础。企业通过策略可以避免许多数据处理风险,例如丢失或重复数据、记录不充分的数据源以及低业务价值、资源密集型流程或任务。

数据管理与 Snowflake

过去,企业为存储和分析来自企业应用程序的各种 利益相关者 组和数据消费者的 数据仓库 构建了独立的数据集市。存储和分析非关系型数据类型的需求,以及数据科学的持续进步,导致了数据湖的发展。如今,组织经常将分析和 数据处理 工具结合起来,但每种方法只能从不同的数据片段中获得有限的见解。

通过在数据云中提供高度可扩展且完全弹性的平台,Snowflake 的技术为企业提供云数据管理支持。通过在单个平台上提供云数据仓库、数据湖、数据共享、数据工程和数据应用程序开发,企业可以立即避免许多数据难题。

Snowflake Metadata Management Hub
  • 数据仓库、数据湖以及各种数据工程和数据科学应用程序都可以通过 Snowflake 近乎零管理的平台进行操作。
  • 由于其统一的存储库,所有类型的分析项目都可以受益于数据一致性,该存储库由安全、治理、数据共享、元数据管理和事务管理的一整套服务支持。
  • 通过使数据共享简单安全,Snowflake 还可以减少耗时且容易出错的 ETL 过程,这些过程可能会对 MDM 产生负面影响。

总而言之,与我们客户存储的数据相比,我们的元数据存储库微不足道。我们的元数据读写模式更像在线事务处理 (OLTP) 而不像 Snowflake 的分析数据仓库或在线分析处理系统 (OLAP)。为了实现这些目标,我们的元数据存储需要

Snowflake Metadata Management Hub
  • 极频繁的小型读写,延迟小于一毫秒
  • 支持存储具有广泛不同卷、大小和访问模式的元数据
  • 读取窄数据范围时效果极佳
  • 高可用性对于将 Snowflake 作为数据仓库即服务运行至关重要,即使在软件升级期间也是如此。因此,可以同时部署该服务的多个迭代。
  • 此外,消耗元数据的服务需要能够管理不同的元数据对象版本。

在选择元数据存储时,我们倾向于键值存储,因为它们易于使用且易于适应模式更改。此外,底层存储必须兼容 ACID 才能使我们的云服务正常运行。FoundationDB 非常适合这些需求。它提供了一个“watch”功能,可以通知用户值更改,并为可用性提供数据的三重复制。

Snowflake 的云服务层由一系列无状态服务组成,这些服务负责虚拟仓库、查询优化、事务和其他功能。这些服务使用存储在 FoundationDB 中的大量元数据来执行其任务。除了三重复制以实现高可用性外,我们还将元数据存储在多个云可用区中。

Snowflake Metadata Management Hub
  • 我们在键值之上构建了一个对象映射层,以方便添加更多元数据项。该层还处理模式定义、演进和元数据版本控制。
  • 元数据支持用户可见的项目,如目录定义、用户、会话、访问控制、复制历史记录等。
  • 每个执行的语句都包含一个包含执行统计信息的元数据记录。FoundationDB 还维护锁队列和事务状态。
  • 实际上,前面提到的 watch 功能用于实现锁队列。
  • FoundationDB watch 功能在数据操作语句到达资源锁队列的前面后,会通知它,因为它已被入队到资源的锁队列中。
  • 此外,还有用户不可见的元数据,如服务器、数据分发详细信息和加密密钥。

除了传统的数据仓库,我们在 Snowflake 成立时还开发了一个云服务。Snowflake 的云服务围绕电子表格和计费等功能展开,这些功能通常与数据仓库分开。Snowflake 在所有方面都使用元数据。因此,我们开发了一系列出色的新功能,这些功能仅是元数据操作。

例如,零拷贝克隆功能允许复制表、模式和数据库,而无需复制数据,这是通过元数据实现的。每个表的元数据都会记录每个版本中构成该表的微分区集合。克隆操作期间,特定版本的微分区记录只需复制到新克隆的表中。此外,时间旅行也由元数据实现,它允许访问微分区的先前版本。

Snowflake Metadata Management Hub
  • 仅通过元数据操作还支持强大的功能,如 Snowflake 数据共享。
  • 数据共享对象包含指向源和目标目录对象以及访问控制对象的引用。
  • 数据共享不会从提供者那里复制数据,而是通过数据共享对象将数据暴露给消费者。
  • 在编译查询时,我们通过分析数据分发元数据来修剪要扫描的微分区,从而提高性能。
  • 在某些情况下,优化器可以通过仅评估数据分发元数据来回答查询,而无需从表中读取任何数据。

未来,您还可以期待 Snowflake 元数据通过 FoundationDB 提供的更多精彩功能。Snowflake 工程团队期待为 FoundationdDB 开源做出贡献并与其社区合作。

AI 驱动的 Snowflake 元数据管理的优势

  • 我们利用这种力量让用户能够使用自然语言查询与数据目录进行交互。
  • 用户可以用纯英语表达他们的信息需求,就像他们与人类专家交谈一样,而不是使用复杂但功能强大且难以掌握的搜索语法。

概念开发和数据探索

作为一名教师,ChatGPT 一直是我最有用的工具。让我感到开阔眼界的是,要求它解释一个概念,阐述复杂的想法,向我展示新的可能性,并向我提出问题供我思考。我们可以教给 Data. World 用户最重要的课程是他们数据的力量以及如何利用这些数据来帮助他们更有效地完成工作。

我们知道创建查询需要学习过程,而且有些人可能会对此感到犹豫,尤其是在处理不熟悉的数据和非技术角色时。为了实现这一目标,我们允许客户用英语提问,OpenAI 会自动将这些查询转换为 SQL。

如何使用 ChatGPT 增强 Snowflake 元数据

您添加到数据目录中的数据的质量决定了它们是成功还是失败。您的自动化可以完成更多工作,您的搜索会更智能,并且您可以回答更多查询,如果目录包含关于您数据的更多元数据。数据管理员仍然需要添加更多描述性文本和信息,以使元数据对象更加丰富、更易于查找和理解,即使我们的收集器技术是最先进的,在自动化从 Snowflake 数据云和其他工具(如 debt)查找尽可能多的元数据方面也是无与伦比的。特别是,编目材料的英文描述需要大量体力劳动和辛劳。

Snowflake Metadata Management Hub

相反,让人工智能处理劳动密集型任务!我们只需单击一个大型语言模型,就可以提供已编目的表、列或业务术语的描述,从而开始管理员完成的关键任务。在后台,这实在太简单了。在告诉它我们所知道的关于该资源的所有信息(由于我们的知识图谱设计,这有很多)之后,我们只需要问大型语言模型:“您会如何描述它?”

管理 Snowflake 元数据的重要性

Snowflake 元数据管理是一项基本技术,原因如下:

  • 更快地获得洞察
  • 端到端可见性
  • 提高数据质量和信任度
  • 提高运营效率
  • 合规性和法规
  • 提高数据的投资回报率

1. 更快地获得洞察

Snowflake 的元数据管理可以轻松地通过各种条件查找数据资产。

2. 完全可见性

借助元数据,您可以查看数据资产生命周期的每个方面,包括其来源、使用情况和修改。

Snowflake Metadata Management Hub

3. 法规和合规性

为了达到合规性标准,元数据管理有助于审核监管规定的应用(GDPR、HIPAA)。

4. 提高数据投资回报率

通过提高生产力和运营效率,可以促进数据管理投资回报率的提高。现代元数据管理的自助服务功能使其更容易从数据资产中获得更多价值。

Snowflake 元数据管理:访问和存储

Snowflake 将所有元数据保存在一个名为数据云的全球解决方案中。对于内部(Snowflake 内部)和外部(S3、Azure、GCP)数据,Snowflake 会自动生成元数据,将其存储为键值对(字典),并通过 Information Schema 提供访问。

Snowflake 元数据管理挑战

尽管 Snowflake 通过 INFORMATION_SCHEMA 提供元数据,但 SQL 查询是检索模式和信息的唯一方式。这意味着并非所有人,例如普通的企业用户,都可以访问信息。鉴于元数据构成日益增长的定义,Snowflake 公开的元数据可能受到极大限制。要充分利用元数据,如果您计划从 ETL 日志、质量检查和管道故障警报导入自定义元数据,则可能需要专门的元数据管理解决方案。

Snowflake Metadata Management Hub
  • 尽管 Snowflake 使用 DAC 和 RBAC 来限制对敏感数据的访问,但现代数据团队的复杂需求需要更自动化和细致的方法来对 PII 进行分类和下游传播。
  • Atlan:Snowflake 的主动元数据管理。开放性和互操作性是主动元数据的重要组成部分。Atlan 使您能够为已知的技术添加丰富的上下文,并允许您轻松地在数据湖、仓库、BI 工具、管道和 ETL 等数据堆栈中传输元数据。
    Snowflake Metadata Management Hub
  • 持续在线:一种称为“主动元数据”的框架,可不断监听、收集和处理来自 SQL 查询历史记录、ETL 日志、质量测量和使用数据等的元数据。借助 Atlan 的开放 API 基础架构,您可以拓宽对传统上被视为元数据的定义。这使得许多元数据用例成为可能,包括监控、可观测性、血缘关系和发现。
  • 智能且主动:通过处理 SQL 查询,Atlan 自动化了创建和维护血缘关系的过程。使用 API 创建您的机器人来更新资产描述、分类、标记和分发 PII、HIPAA 和 GDPR 等敏感资产,并通知最终用户异常和过时的数据资产。

Snowflake 元数据管理的应用场景。

以下应用场景由管理 Snowflake 数据资产的元数据提供支持:

  • 数据编目
  • 数据血缘关系可视化
  • 数据字典文档
  • 实施数据治理
  • 促进数据协作
  • 实施 DataOps 任务

1. 数据编目

通过提供结构和含义,元数据可以增强 Snowflake 数据资产的价值,并促进识别和发现。丰富的搜索体验由元数据提供支持。

它使用户能够更快地找到正确的数据,从而带来良好的用户体验,立即提高用户对数据目录的采用和信任度。

2. 数据血缘关系可视化

数据血缘关系利用 Snowflake 元数据跟踪和可视化数据资产从摄取到 BI 仪表板的旅程。由于血缘关系,可以在其生命周期的每个阶段找到数据。数据血缘关系提供了识别和排除数据质量问题以及通过根本原因分析修复故障管道所需的可见性。

3. 数据字典文档

Snowflake 数据云提供了大量的元数据。在数据字典中使用元数据描述数据。Snowflake 的所有数据资产都在数据字典中进行了记录。

它提供了关于数据资产的详细信息,包括数据类型、分类、数据剖析、表名、表描述、关系、列名和相关的参照完整性约束。

4. 实施数据治理

对于 Snowflake 数据云,元数据为自动化数据治理和合规性提供了平台。Atlan 协助自动化对私有和敏感用户数据 (PII) 的分类。然后使用数据血缘关系将分类向上游和下游传播。Atlan 还协助设置组/角色级别和单个用户的数据访问控制。

5. 通过数据促进协作

消除在不同应用程序中不断查找表上下文的麻烦。通过将 Jira 对话和 Slack 线程即时链接到有争议的数据资产,确保每个人都在同一页面上。协作可以建立信任并促进参与,这两者都直接推动了采用并鼓励寻找从数据中提取价值的新机会。

6. 实施 DataOps 计划

DataOps 工程师可以使用 snowflake 元数据更好地控制数据质量并创建和架构数据管道。为了识别和突出数据异常并通知下游的业务用户,Atlan 使用元数据。通过使用编排和 ETL 日志作为元数据,可以优化和修复数据流问题。作为元数据的来源通过查找、淘汰和归档未使用的数据源来降低存储和计算成本。

Snowflake Metadata Management Hub

Atlan 支持三种不同形式的元数据。

1. 操作相关元数据

它提供了关于管道错误通知、ETL 日志、SQL 查询、转换和数据质量审计结果的详细信息。

2. 业务元数据

它是定义、KPI、度量和业务术语的集合,这些集合有助于将它们关联起来并理解与它们关联的物理数据资产。

3. 社交元数据

聊天消息、任务、票证、注释、README、点赞、验证和共享的 SQL 查询是数据用户生成的元数据的示例。

Snowflake Metadata Management Hub

Snowflake 的云服务层由一系列无状态服务组成,这些服务负责虚拟仓库、查询优化、事务和其他功能。这些服务使用存储在 FoundationDB 中的大量元数据来执行其任务。除了三重复制以实现高可用性外,我们还将元数据存储在多个云可用区中。

结论

总而言之,我们可以得出结论,企业需要 Snowflake 元数据管理中心来有效管理、监控和使用元数据,以实现更好的数据管理、安全性和合规性。借助 INFORMATION_SCHEMA、ACCOUNT_USAGE、对象标记和治理策略,Snowflake 提供了强大的内置元数据功能。