数字化时代,数据是已经成为最宝贵的资产之一。数据支撑着我们的政府、企业以及各类组织的所有流程,并为决策以及智能化服务提供支撑。大数据有大用途,但是也可能隐藏着巨大的风险,特别是如果我们对数据的情况不是很了解的时候,我们便不能够掌握到底存储了什么信息以及如何使用它,在一堆数据中是否存在垃圾数据或者可能被遗忘的高质量数据,甚至是否存在数据安全问题。
因此,我们需要有效地治理数据。
什么是数据治理?
数据治理是一种管理框架,通过定义和实施组织范围内的数据管理政策、标准和流程,确保数据的准确性、一致性、安全性和合规性。它涉及数据的创建、存储、使用和销毁的整个生命周期,旨在最大化数据的价值,降低数据风险,并支持业务决策和运营的有效性。
数据治理相关的概念
在介绍数据治理平台之前,我们对一些数据治理相关的概念有所了解。
数据治理相关的概念名词涵盖了多个领域,从数据管理、数据质量到数据隐私和安全等。以下是一些常见的概念名词:
- 数据湖 (Data Lake):一种存储海量原始数据的系统或存储库,数据通常以原生格式存储,供以后进行分析。数据湖支持结构化、半结构化和非结构化数据的存储和处理。
- 数据仓库 (Data Warehouse):用于整合来自多个来源的数据,通常经过清洗和转化,存储在一个中心位置,支持企业的分析和报告需求。数据仓库更注重结构化数据的长期存储和优化查询性能。
- 数据发现 (Data Discovery):数据发现是识别、浏览和分析数据的过程,通常涉及从不同来源收集数据并将其组织和展示给用户,使其能够发现有用的模式、趋势或见解。数据发现工具通常具备强大的可视化功能,以帮助用户更直观地理解数据。
- 元数据管理 (Metadata Management):管理描述数据的数据,即元数据,包括数据的来源、使用方式、格式等信息。
- 数据目录 (Data Catalog):数据目录是一个集中的存储库,用于组织和管理数据资产的元数据。它提供了数据资产的描述性信息,使用户能够轻松查找和理解他们需要的数据。数据目录通常包括数据的来源、位置、格式、使用说明、数据质量信息等,并支持数据的分类、标记和搜索功能。数据目录的目的是提高数据可发现性和可用性,帮助组织更高效地管理和利用数据资源。
- 数据质量 (Data Quality):确保数据准确性、一致性、完整性和及时性的过程。
- 数据血缘 (Data Lineage):描述数据在其生命周期中从源头到最终目的地的流动和变更的跟踪。数据血缘图帮助理解数据的来源、传递路径、变换过程,以及这些过程中的责任归属。
- 数据清洗 (Data Cleansing or Data Cleaning):识别并修复或删除数据集中的错误、重复、不完整或不一致数据的过程。数据清洗是确保数据质量的关键步骤。
- 数据治理框架 (Data Governance Framework):数据治理框架是用于定义和实施数据治理的结构性模型,通常包括政策、流程、角色和职责、技术工具等,以确保组织内的数据管理实践一致、可控和有效。
- 数据治理策略 (Data Governance Strategy):数据治理策略是组织为实现其数据治理目标而制定的总体计划,包含具体的目标、方法和实施步骤。
- 数据安全分类 (Data Security Classification):根据数据的敏感度和价值,将数据划分为不同的安全级别,以确定适当的保护措施。例如,数据可以分为公开、内部使用、保密和高度机密等类别。
- 数据访问管理 (Data Access Management):管理谁可以访问哪些数据以及他们可以对数据执行的操作。数据访问管理通过权限控制和角色管理,确保数据的安全和合规。
- 数据治理工具集 (Data Governance Toolkit):包括一组用于支持数据治理活动的工具和技术,例如元数据管理工具、数据质量管理工具、数据血缘工具、数据目录工具等。
- 数据隐私影响评估 (Data Privacy Impact Assessment, DPIA):在处理个人数据之前进行的一种评估,目的是识别和减轻数据处理活动对数据隐私的潜在风险。DPIA通常在合规要求下进行,特别是涉及GDPR等法规。
- 数据主权管理 (Data Sovereignty Management):管理与数据主权相关的法规和政策,确保数据处理和存储符合所在国家或地区的法律要求。
- 主数据管理 (Master Data Management, MDM):集中管理核心业务实体(如客户、产品、供应商等)的主数据,确保数据一致性和准确性。
- 数据架构 (Data Architecture):数据在组织中结构化和组织方式的设计与实施。
- 数据生命周期管理 (Data Lifecycle Management, DLM):管理数据从创建、存储、使用、到销毁的整个生命周期的流程和策略。
- 数据隐私 (Data Privacy):保护个人数据不被未经授权的访问和处理的实践与法律要求。
- 数据安全 (Data Security):保护数据免受未经授权的访问、泄露、修改或销毁的措施和技术。
- 数据主权 (Data Sovereignty):数据受其所在国家或地区的法律和政策的约束。
- 数据治理委员会 (Data Governance Committee):负责监督和指导组织内数据治理工作的跨职能团队。
- 数据治理政策 (Data Governance Policy):为组织内数据治理提供指导方针和框架的正式文档。
- 数据分类 (Data Classification):根据数据的敏感性、重要性等因素对数据进行分类,以便制定适当的管理和保护措施。
- 数据所有权 (Data Ownership):明确哪些部门或个人对特定数据资产负责。
- 数据标准 (Data Standards):确保数据一致性和互操作性的规则和指南。
- 数据治理工具 (Data Governance Tools):支持数据治理实施和管理的软件工具和平台,如Informatica、Collibra等。
数据治理的组成有哪些?
从系统的角度看,数据治理有10个重要组成,用于满足组织在每个知识领域的数据管理需求。
(1) 人
数据治理专业人员、数据管理员和其他关键业务和IT人员是数据治理计划的骨干。他们建立和开发工作流程,以确保满足企业数据治理要求。
(2) 数据战略
数据治理团队在组织的企业数据战略的开发和实施路线图中起着至关重要的作用。数据战略是一个执行文档,它提供了企业对数据的高层次需求,并确保这些需求得到满足。建立企业数据战略是组织数据管理之旅的重要一步。
(3) 数据流程
数据治理计划需要建立数据管理的关键数据流程。这些包括数据问题跟踪或解决、数据质量监控、数据共享、数据沿袭跟踪、影响分析、数据质量测试等。
(4) 数据政策
数据策略是一个或多个声明的高级集合,这些声明陈述了对数据的期望和预期结果,这些数据会影响和指导企业级别的数据习惯。数据治理计划为数据管理建立数据治理策略。政策包括出站数据共享、遵守法规等。
(5) 标准和规则
数据标准提供了一个框架和方法,以确保遵守数据策略。数据规则指导或约束行为,以确保遵守数据标准,从而提供数据策略的合规性。
(6) 数据安全
数据安全涉及保护数字数据(如数据库中的数据)免受授权和未授权用户的破坏性力量和不必要的操作。这些不受欢迎的用户活动指的是间谍活动、网络攻击或数据泄露。
(7) 沟通
数据治理沟通包括与需要了解数据治理团队活动的协会受众进行的所有书面、口头和电子交互。沟通计划包括所有沟通的目的、目标和工具,从一开始就应该是治理计划的一部分。该计划确定了如何向各利益攸关方和组织的其他人员介绍治理和管理方面的挑战和成功经验。沟通计划突出正确的业务案例并展示其结果。
(8) 社会化
数据治理的社会化是任何治理计划中的重要活动。数据治理社会化计划是一个帮助将数据治理活动集成到组织的策略、内部文化、层次结构和流程中的计划。该计划是该组织所独有的,因为它是根据其组织文化和行为标准量身定制的。
(9) 业务指标和KPI指标
建立业务指标和关键性能指标(KPI)来监控和衡量数据治理计划的总体业务影响,这对于计划的成功至关重要。指标和KPI必须是可测量的,可以随时间跟踪,并且每年都以相同的方式进行测量。
(10) 技术支撑
执行数据治理计划需要各种技术支撑,包括框架、工具等,用于使流程自动化。
数据治理的关键要素
从关键技术功能的角度看,数据治理的关键要素包括:
- 数据目录:集中存储组织内的元数据,帮助用户快速发现和理解所需数据,提升数据管理效率,减少冗余,确保适当的访问控制。
- 数据质量:确保数据准确性、完整性和新鲜度,支持可靠的数据驱动决策,是数据治理的核心要素。
- 数据分类:根据数据的敏感性和价值进行分类,便于应用合适的安全措施,降低风险,确保数据质量和保护。
- 数据安全:通过访问控制保护敏感数据,防止未经授权的访问,确保数据安全和法规遵从,增强客户信任。
- 审计数据权利和访问:通过有效的数据访问审计,识别并防范未授权访问,减少数据滥用风险,确保合规性。
- 数据血缘:追踪数据的来源和流动,确保数据质量,支持合规性和可信度,减少审计和调试工作量。
- 数据发现:帮助团队快速定位和利用数据资产,促进协作和创新,避免数据重复,提升数据利用效率。
- 数据共享和协作:安全地在内部和外部团队之间交换数据,控制敏感信息的使用,支持数据驱动的创新和合规性。
开源数据治理工具
在开源领域有哪些比较出名的数据治理工具呢?
1.OpenMetadata
https://github.com/open-metadata/OpenMetadata
开发语言:TypeScript、Java、Python
OpenMetadata是一个统一的元数据平台,用于数据发现、数据可观察和数据治理,由中央元数据存储库、深入的列级沿袭和无缝的团队协作提供支持。OpenMetadata基于开放元数据标准和API,支持连接到各种数据服务的连接器,支持端到端元数据管理,让您可以自由释放数据资产的价值。
OpenMetadata主要由四个组件组成:
- 元数据模式:基于公共抽象和类型的元数据的核心定义和词汇表。还支持自定义扩展和属性,以适应不同的用例和域。
- 元数据存储区:用于存储和管理元数据图的中央存储库,它以统一的方式连接数据资产、用户和工具生成的元数据。
- 元数据API:用于生成和使用元数据的接口,构建在元数据模式之上。它们支持用户界面和工具、系统和服务与元数据存储的无缝集成。
- 摄取框架:这是一个可插入的框架,用于将元数据从各种源和工具摄取到元数据存储。它支持大约75个连接器,用于数据仓库、数据库、仪表板服务、消息传递服务、管道服务等。
总体架构如下图所示:
OpenMetadata的主要特点包括:
- 数据发现:使用各种策略(如关键字搜索、数据关联和高级查询)在单个位置查找和探索所有数据资产。您可以跨表、主题、仪表板、管道和服务进行搜索。
- 数据协作:与其他用户和团队就数据资产进行沟通、匡威和协作。您可以获取事件通知、发送警报、添加通知、创建任务以及使用会话线程。
- 数据质量和分析器:测量和监控质量,无需代码,以建立对数据的信任。您可以定义和运行数据质量测试,将它们分组到测试套件中,并在交互式仪表板中查看结果。借助强大的协作,让数据质量成为您组织的共同责任。
- 数据治理:在整个组织中实施数据策略和标准。您可以定义数据域和数据产品,分配所有者和利益相关者,并使用标记和术语对数据资产进行分类。使用强大的自动化功能对数据进行自动分类。
- 数据洞察和KPI:使用报告和平台分析来了解组织的数据运行情况。Data Insights提供了所有关键指标的单一窗格视图,以最佳地反映数据的状态。定义关键性能指标(KPI)并在OpenMetadata中设定目标,以实现更好的文档、所有权和分层。可以针对要在指定计划中接收的KPI设置警报。
- 数据血缘跟踪:端到端跟踪和可视化数据资产的来源和转换。您可以使用无代码编辑器手动查看列级沿袭、过滤查询和编辑沿袭。
- 数据文档:使用富文本、图像和链接记录数据资产和元数据实体。您还可以添加注释和批注,并生成数据字典和数据目录。
- 数据可观察性:监控数据资产和管道的运行状况和性能。您可以查看数据新鲜度、数据量、数据质量和数据延迟等指标。您还可以为任何异常或故障设置警报和通知。
- 数据安全:使用各种身份验证和授权机制保护数据和元数据。您可以与不同的身份提供者集成以实现单点登录,并定义访问控制的角色和策略。Webhooks:使用Webhooks与外部应用程序和服务集成。您可以注册URL以接收元数据事件通知,并与Slack、Microsoft Teams和Google Chat集成。
- 连接器:使用连接器从各种源和工具获取元数据。OpenMetadata支持大约75个以上的连接器,用于数据仓库、数据库、仪表板服务、消息服务、管道服务等。
2.Apache Atlas
https://github.com/apache/atlas
开发语言:Java、javaScript
Apache Atlas是一个数据治理开源框架,用于支持数据管理团队能够在整个组织中协作管理大数据资产和元数据。它为复杂的企业数据,提供了可扩展的数据模型和高度集成的管理解决方案。
他的优点包括:
- 高度可扩展、可定制的数据治理解决方案:团队可以使用API请求、发布-订阅模型和基于Kafka的消息传递轻松地与现有数据源集成。
- 提供了灵活的自定义数据模型:在数据分类、元数据属性、数据沿袭跟踪等方面具有巨大的灵活性。
- 易于与数据资产交互:可以使用标准的SQL语法存储和重用命令,并利用直观的原生UI,具有跨实体类型、分类、元数据或自由文本的复杂搜索功能。
当然缺点也有一些,例如:
- Apache Atlas需要比较专业的知识。
- Apache Atlas是一个开源数据治理框架,而不是一个现成的解决方案。
3.Amundsen
https://github.com/amundsen-io/amundsen
开发语言:Python、TypeScript
Amundsen是Lyft开发的数据发现和元数据引擎,它通过索引数据资源(表、仪表板、流等)来提高数据分析师,数据科学家和数据工程师在与数据打交道时的生产力。它还可以基于使用模式(例如,高度查询的表比较少查询的表更早出现)来驱动页面排名风格的搜索。有点类似谷歌搜索。
4.Datahub
https://github.com/datahub-project/datahub/
开发语言:Java、Python、TypeScript
DataHub是一个开源元数据管理平台,它最初由LinkedIn构建,以满足其现代数据堆栈不断变化的元数据需求。
DataHub支持第三代数据目录、数据发现、协作、治理和为现代数据栈构建的端到端可观察性。DataHub采用模型优先的理念,专注于提升不同工具系统之间的互操作性。
下图是DataHub的架构:
DataHub的主要亮点有:
- 模式优先的元数据建模方法:DataHub的元数据模型使用序列化不可知语言进行描述。支持REST和GraphQL API。此外,DataHub支持 AVRO-based API ,通过Kafka来传达元数据更改并订阅它们。我们的路线图包括一个里程碑,即将支持无代码元数据模型编辑,这将允许更易于使用,同时保留类型化API的所有优点。在元数据建模中阅读元数据建模。
- 基于流的实时元数据管理:DataHub的元数据基础设施是面向流的,它允许在几秒钟内在平台内传达和反映元数据的变化。还可以订阅DataHub元数据中发生的变更,使用户能够构建实时元数据驱动的系统。例如,可以构建一个访问控制系统,该系统可以观察历史数据集,添加一个包含PII的新模式字段,并锁定该数据集以进行访问控制审查。
- 联邦元数据服务:DataHub附带了一个元数据服务(gms)作为开源存储库的一部分。然而,它还支持联合元数据服务,这些服务可以由不同的团队拥有和运营。联邦服务使用Kafka与中央搜索索引和图进行通信,以支持全局搜索和数据发现,同时仍然支持元数据的解耦所有权。这种架构非常适合正在实施数据网格的公司。
5.Magda
https://github.com/magda-io/magda
开发语言:Java、TypeScript
Magda是一个面向大型组织的开源联合数据目录平台。其目标是通过提供一个用于记录、跟踪、增强和利用从CSV文件到大型数据库的资产的单一平台。
因此,对于那些需要处理大量较小的数据集的团队来说,这是一个特别合适的产品。
Magda的优点包括:
- 容易启动和运行是Magda的一个优势。它提供了一键部署到云、本地基础设施或使用Kubernetes和Helm的本地机器。
- Magda搜索功能也特别强大,能够根据同义词、用户行为、地理空间数据和数据质量反馈数据资产信息。
- Madga的另一个优势是连接数据源相对容易。我们可以使用CSV文件、库存工具、RDBMS、现有的元数据API和RESTful API添加一系列数据集。
Magda的缺点有:
- Magda缺乏一些高级的可视化功能。
- 虽然提供了基于角色的访问控制,但它在创建更细粒度的访问策略方面效果较差。
- Magda的目标通常是让用户能够轻松处理各种数据源,但处理非结构化或快速变化的数据可能会带来更多困难。
技术架构:
在技术架构方面,Magda是基于微服务体系构建的,这些微服务作为Docker容器分发。这样做是为了提供简单的可扩展性。Magda可以通过使用任何技术作为Docker镜像来添加定制服务,并通过稳定的HTTP API将它们与系统的其余部分集成。使用Helm和Kubernetes进行编排意味着定制的Magda实例的配置可以以纯文本形式存储和跟踪,并且可以快速轻松地复制具有相同配置的实例。架构图如下:
6.Egeria
https://github.com/odpi/egeria
开发语言:Java
Egeria是一个以企业为中心的工具,专注于跨组织的元数据管理。
因此,它对于需要高度自动化的集成解决方案的团队来说可能是一个很好的选择,例如跨平台元数据交换。
优点:
- Egeria的核心是使团队能够使用专业服务器自动化元数据捕获,搜索和管理,该服务器在不同的连接平台上同步信息。
- 它还提供了极高级别的连接和集成,包括API、元数据存储库、JDBC、文件连接器、加密存储等。目标是使内部使用不同平台的团队能够无缝地共享信息。
缺点:
- Egeria的用户界面功能相对有限。只提供一个通用的管理GUI,包括一个可搜索的目录,这有一点局限。如果我们想创建更高级的或特定场景的UI,我们需要自己开发这些UI。
7.TrueDat
https://github.com/Bluetab
TrueDat是一个非常成熟的开源数据治理工具,可以帮助客户成为数据驱动型的公司。TrueDat是由BlueTab(现在是IBM的一家公司)在了解了市场作为数据解决方案提供商的需求并找到了数据治理领域的空白之后创建的。
其优点包括:
- TrueDat为配置数据目录和EDM提供了一个相对现代化、精简的界面,特别是与本综述中的其他一些平台相比。例如,我们可以使用实体模板来快速管理属性、元数据、权限和策略。
- 还有用于自动发现和编目连接的数据源,降低使用门槛,使其成为业务用户更可行的选择。我们甚至可以使用自己的LLM在企业环境中生成元数据。
除此之外,TrueDat在报告方面特别强大。它具有与Metadata的原生集成,为用户提供了极大的灵活性,可以围绕其数据质量和使用情况提取和可视化见解。
但是TrueDat也有许多缺点,例如:
尽管是一个开源项目,但TrueDat明显缺乏开源配套信息。特别是文档有点少,而且也没有生产部署相关的信息。
总结下面用一张矩阵表总结了这几个开源数据治理工具的主要功能。矩阵用Yes和No表示是否有提供相关功能,但是,实际上这些工具在这些功能的实现程度并不一样。
产品 | 数据血缘 | 业务术语表 | 标签/分类 | 标签/分类传播 | 基于角色的访问控制(RBAC) | 基于属性的访问控制(ABAC) | 数据共享 |
Amundsen | Yes | No | Yes | Yes | No | No | No |
DataHub | Yes | Yes | Yes | Yes^ | Yes^ | No | No |
Atlas | Yes | Yes | Yes | Yes | Yes | No | No |
Magda | No | No | Yes | Yes | Yes | Yes | Yes |
OpenMetadata | Yes | No | Yes | No | Yes^ | No | No |
TrueDat | Yes | Yes | Yes | Yes | Yes | No | Yes |
Egeria | Yes | Yes | Yes | Yes | Yes | No | Yes |