数据架构将业务需求转化为数据和系统需求,并寻求管理数据及其在企业中的流动。
数据架构定义
根据 The Open Group Architecture Framework (TOGAF),数据架构描述了组织的逻辑和物理数据资产和数据管理资源的结构。它是企业架构的一个分支,包括管理组织中数据的收集、存储、排列、集成和使用的模型、策略、规则和标准。组织的数据架构是数据架构师的职权范围。
数据架构目标
数据架构的目标是将业务需求转化为数据和系统需求,并管理数据及其在企业中的流动。如今,许多组织都在寻求对其数据架构进行现代化改造,以此作为充分利用 AI 和实现数字化转型的基础。咨询公司 McKinsey Digital 指出,由于流程复杂性而非技术复杂性,许多组织未能实现其数字化和 AI 转型目标。
数据架构原则
根据 Splunk 产品管理、核心产品副总裁、AtScale 前产品管理副总裁 Joshua Klahr 的说法,六项原则构成了现代数据架构的基础:
- 数据是共享资产。现代数据架构需要消除部门数据孤岛,并为所有利益相关者提供公司的完整视图。
- 用户需要足够的数据访问权限。除了打破孤岛之外,现代数据架构还需要提供接口,使用户能够使用适合其工作的工具轻松使用数据。
- 安全是必不可少的。现代数据架构必须针对安全性进行设计,并且必须支持直接对原始数据的数据策略和访问控制。
- 共同的词汇确保共同的理解。共享数据资产(例如产品目录、会计日历维度和 KPI 定义)需要通用词汇表来帮助避免分析过程中的争议。
- 应该整理数据。投资于执行数据管理的核心功能(建模重要关系、清理原始数据以及管理关键维度和度量)。
- 应针对敏捷性优化数据流。减少必须移动数据的次数,以降低成本、提高数据新鲜度并优化企业敏捷性。
数据架构组件
据 IT 咨询公司 BMC 称,现代数据架构由以下组件组成:
- 数据管道。数据管道是收集、移动和优化数据的过程。它包括数据收集、提炼、存储、分析和交付。
- 云储存。并非所有数据架构都利用云存储,但许多现代数据架构使用公共、私有或混合云来提供敏捷性。
- 云计算。除了使用云进行存储之外,许多现代数据架构还利用云计算来分析和管理数据。
- 现代数据架构使用 API 来轻松公开和共享数据。
- 人工智能和机器学习模型。AI 和 ML 用于实现数据收集、标记等任务的系统自动化。同时,现代数据架构可以帮助组织解锁大规模利用 AI 和 ML 的能力。
- 数据流。数据流将数据连续地从源流向目标,以进行实时或近实时的处理和分析。
- 容器编排。诸如开源 Kubernetes 之类的容器编排系统通常用于自动化软件部署、扩展和管理。
- 实时分析。许多现代数据架构的目标是提供实时分析,即在新数据到达环境时对其执行分析的能力。
数据架构与数据建模
根据数据管理知识手册 (DMBOK 2),数据架构定义了管理数据资产的蓝图,方法是与组织战略保持一致,建立战略数据需求和满足这些需求的设计。另一方面,DMBOK 2 将数据建模定义为“以称为数据模型的精确形式发现、分析、表示和传达数据需求的过程”。
虽然数据架构和数据建模都试图弥合业务目标和技术之间的差距,但数据架构是关于寻求理解和支持组织功能、技术和数据类型之间关系的宏观视图。数据建模更专注于特定系统或业务案例。
数据架构框架
有几种企业架构框架通常用作构建组织数据架构框架的基础。
- DAMA-DMBOK 2. DAMA International 的数据管理知识体系是专门用于数据管理的框架。它提供了数据管理功能、可交付成果、角色和其他术语的标准定义,并提出了数据管理的指导原则。
- Zachman 企业架构框架。 Zachman 框架是 1980 年代由 IBM 的 John Zachman 创建的企业本体。Zachman 框架的“数据”列包含多个层次,包括对业务重要的架构标准、语义模型或概念/企业数据模型、企业/逻辑数据模型、物理数据模型和实际数据库。
- 开放组架构框架 (TOGAF)。TOGAF 是一种企业架构方法,为企业软件开发提供高级框架。TOGAF 的 C 阶段包括开发数据架构和构建数据架构路线图。
现代数据架构最佳实践
现代数据架构的设计必须能够利用人工智能 (AI)、自动化、物联网 (IoT) 和区块链等新兴技术。Protiviti 技术咨询高级总监 Dan Sutherland 表示,现代数据架构应遵循以下最佳实践:
- 云原生。现代数据架构的设计应支持弹性扩展、高可用性、动态数据和静态数据的端到端安全性,以及成本和性能可扩展性。
- 可扩展的数据管道。为了利用新兴技术,数据架构应支持实时数据流和微批量数据突发。
- 无缝数据集成。数据架构应使用标准 API 接口与遗留应用程序集成。它们还应该针对跨系统、地域和组织共享数据进行优化。
- 实时数据启用。现代数据架构应支持部署自动化和主动数据验证、分类、管理和治理的能力。
- 解耦和可扩展。现代数据架构应设计为松耦合,使服务能够独立于其他服务执行最少的任务。