查看原文
其他

数据仓库的构建:分步指南

谈数据
2024-09-26

The following article is from CDO之家 Author Eden


来源 :CDO之家
作者:Eden
全文共 4535 个字,建议阅读需 8 

预计到 2025 年,全球数据量将增长到 180 泽字节,企业必须处理两个主要问题——将数据存储在何处以及如何使用数据。自 1980 年代以来一直存在并不断扩展其功能,数据仓库可以帮助企业应对这两个挑战。然而,根据独立市场研究公司 Vanson Bourne 的研究,无论技术的成熟度以及数据仓库通常由商业智能服务专家开发的现状如何,失败项目的百分比都会令人不安。

在本文中,我们将通过概述数据仓库设计和数据仓库开发步骤的两种基本方法来深入探讨数据仓库实现的细节。我们还就如何为数据仓库项目配备人员提供建议,并推荐用于创建可扩展解决方案的技术。

01 数据仓库架构的 3 个核心组件

当创建未来数据仓库的架构时,企业必须考虑多种因素,例如将连接到数据仓库的数据源数量、每个数据源中的信息量及其性质和复杂性、企业的分析目标、现有技术环境等。但是,说每种架构在其类型中都是独一无二的是错误的,因为实际上它们中的每一个都具有以下三个组件:

1、源系统——捕获交易的操作数据库、物联网设备流传感器数据、SaaS 应用程序、外部数据源等。

2、数据暂存区——临时托管复制数据的区域和一组流程,可帮助您在加载到数据仓库之前根据业务定义的规则对其进行清理和转换。使用暂存区,您可以在 ETL 作业失败时依赖原始数据的历史记录。通常,一旦 ETL 作业成功完成,暂存区的信息就会被删除。但是,由于遗留原因,您仍可以将其保存一段时间,或存档。如果所有数据转换都发生在数据仓库数据库本身中,则可以省略此区域。

3、数据存储——为特定部门或业务线创建的公司范围内信息和数据集市(数据仓库的子集)的数据库。 

除了这些元素,企业数据仓库解决方案还包括数据治理和元数据管理组件。扩展数据仓库环境还可能包括OLAP多维数据集(存储聚合数据以实现交互式查询的多维数据结构)和数据访问层(最终用户访问和操作存储信息的工具和应用程序)。但是,这些元素更多地属于 BI 工具包,因此我们不会在此探讨它们。

02 构建数据仓库的两种方法

用于构建数据仓库的两种基本设计方法是 Inmon 的(自上而下)和 Kimball 的(自下而上)方法。 

1、Inmon方法论

在 Inmon 的方法中,首先,企业信息的集中存储库是根据规范化数据模型设计的,其中原子数据存储在表中,这些表在连接的帮助下按主题区域分组在一起。企业数据仓库建成后,存储在那里的数据用于构建数据集市。
在您需要以下情况时,Inmon 的方法更可取:
  • 获得单一事实来源,同时确保数据的一致性、准确性和可靠性

  • 快速开发数据集市,无需重复从原始来源提取数据、清理等。
但是,与 Kimball 的方法相比,此方法的主要限制之一是设置和实施更耗时且更耗费资源。

2、Kimball 方法论

Kimball 的方法建议应该首先创建维度数据集市,然后如果需要,公司可以继续创建逻辑企业数据仓库。
这种方法的倡导者指出,由于维度数据集市需要最少的规范化。因此,此类数据仓库项目花费的时间和资源更少。另一方面,您可能会在表中发现重复数据,并且必须重复 ETL 活动,因为每个数据集市都是独立创建的。
尽管这两种方法可能看起来相当不同,但它们可以很好地互补,这可以通过结合两种设计方法原则的替代方法的出现来证明。

03 数据仓库构建的分步指南

通常的做法是通过全面的就绪评估来启动数据仓库计划。在评估数据仓库项目的准备情况时,请考虑以下因素:
  • 强大的业务赞助商的可用性 - 有影响力的经理可以预见该计划的潜力并帮助推广它。 
  • 业务动机——数据仓库是否可以帮助解决一些关键的业务问题。 
  • 整个公司当前的数据成熟度——换句话说,最终用户是否意识到数据驱动决策的重要性、高数据质量等。
  • IT 专家和业务用户的协作能力。
  • 现有技术和数据环境的可行性。

在您评估了项目的准备情况并希望对它感到满意之后,您需要开发一个用于项目规划和管理的框架,然后最终进行数据仓库开发,从定义您的业务需求开始。

1、业务需求定义

业务需求几乎影响整个数据仓库开发过程中的每一个决策——从应该提供哪些信息到应该多久访问一次。因此,从采访您的业务用户开始定义:

  • 公司的总体目标以及特定业务单位、部门等的目标。
  • 用于衡量成功的方法和指标。
  • 企业面临的关键问题 。
  • 公司目前执行的常规数据分析类型,包括用于此的数据、分析的频率、它带来了哪些潜在的改进等)。

在采访业务用户时,您还应该与您的关键 IT 专家(数据库管理员、运营源系统专家等)进行有效的沟通,以确定当前可用的信息是否足以满足以下业务需求:

  • 关键操作系统 
  • 数据更新频率
  • 历史数据的可用性
  • 设置了哪些流程来确保将信息传递给业务用户
  • 使用哪些工具来访问和分析信息
  • 通常会产生哪些类型的见解
  • 如果对信息的临时请求处理得很好,等等。

2、数据仓库概念化与技术选型

上一步的结果被用作定义未来解决方案范围的基础,因此应仔细分析您的业务和 IT 用户的需求和期望并确定其优先级,以制定最佳数据仓库功能集。 

之后,您必须确定构建数据仓库解决方案的架构方法,评估和选择每个架构组件的最佳技术——暂存区、存储区等。在制定技术堆栈时,请考虑以下因素:

  • 您当前的技术环境
  • 规划的战略技术方向
  • 内部 IT 团队成员的技术能力
  • 具体数据安全要求等

此时,您还应该定义部署选项——本地、云或混合。部署选项的选择取决于许多因素,例如数据量、数据性质、成本、安全要求、用户数量及其位置以及系统可用性等。

3、数据仓库环境设计

在设计数据仓库之前和期间,您需要定义数据源并分析其中存储的信息——可用的数据类型和结构、每天、每月生成的信息量等,以及其质量、敏感性、刷新率频率。

下一步将是逻辑数据建模,或将公司数据排列成一系列称为实体(现实世界对象)和属性(定义这些对象的特征)的逻辑关系。实体关系建模用于各种建模技术,包括规范化模式(关系数据库的一种设计方法)和星型模式(用于维度建模)。

接下来,将这些逻辑数据模型转换为数据库结构,例如将实体转换为表,将属性转换为列,将关系转换为外键约束等等。 


数据建模完成后,第一步是设计数据暂存区,首先为数据仓库提供高质量的聚合数据,并在所有后续数据加载过程中定义和控制源到目标的数据流.

设计步骤还包括创建数据访问和使用策略、建立元数据目录、业务词汇表等。

4、数据仓库开发上线

该步骤从定制和配置所选技术(DWH 平台、数据转换技术、数据安全软件等)开始。然后,该公司开发 ETL 管道并引入数据安全性。

在引入所有主要组件之后,它们必须与现有数据基础架构(数据源、BI 和分析软件、数据湖等)以及彼此集成,以便之后可以迁移数据。

在最终汇总之前,您必须确保您的最终用户能够处理新技术环境,这意味着他们所有人都了解可用的信息、信息的含义、访问方式以及使用的工具。针对标准用户和高级用户的定制培训以及支持文档将对此有所帮助。除此之外,您还需要:

  • 测试数据仓库性能、ETL等。
  • 验证数据质量(数据易读性、完整性、安全性等)
  • 确保用户可以访问数据仓库等。

5、售后支持和维护

在初始部署之后,您需要专注于您的业务用户并提供持续的支持和教育。随着时间的推移,必须衡量数据仓库性能指标和用户满意度分数,因为它将帮助您确保数据仓库的长期健康和增长。

04 数据仓库项目的关键角色

1、项目经理

  • 定义数据仓库项目及其可交付成果的范围。
  • 概述项目计划,包括预算估算、项目资源和时间表。 
  • 管理日常数据仓库项目任务和活动(资源协调、项目状态跟踪、项目进度和沟通瓶颈等)

2、业务分析师 

  • 识别业务用户的需求并确保将其清楚地传达给技术团队。

  • 进行采访并记录下来。

  • 协助数据建模师和 DBA 进行数据建模、数据映射活动等。

3、数据建模师 
  • 执行详细的数据分析。

  • 设计数据仓库的整体技术架构,尤其是每个组件(数据分段、数据存储、数据模型等)。

  • 监督架构开发和实施。

  • 就技术堆栈提供建议。

  • 记录整体解决方案及其组成部分的范围。 

4、数据库管理员 (DBA) 
  • 将逻辑模型转换为物理表结构。

  • 确保对数据库的操作支持,调整数据库性能以确保数据的可用性和完整性。 

  • 计划数据备份/恢复计划等。

5、ETL 开发人员
  • 计划、开发和设置提取、转换和加载管道。

6、质量保证工程师

  • 制定测试策略以确保数据仓库的正常运行和数据准确性。

  • 识别潜在错误并确保其得到解决。

  • 在开发的 DWH 解决方案上运行测试。

除了这些关键角色之外,其他专业人员也可能参与该项目,例如解决方案架构师、技术支持专家、DevOps 工程师、数据管家、数据仓库培训师等。值得注意的是,有时个别工作人员可以扮演多个角色。

05 3种领先的数据仓库技术

使用不恰当的技术是数据仓库项目失败的原因之一。除了您需要正确识别您的用例之外,您还需要从市场上众多看似相似的选项中选择最佳软件。在这里,我们回顾了客户满意度得分很高并在各种市场研究报告中获得高度评价的数据仓库服务和平台。虽然描述的功能并不详尽:在起草它们的描述时,我们主要关注它们的数据集成能力、与分析和商业智能服务的内置连接、可靠性和数据安全性。

1、亚马逊 Redshift

  • 提供联合查询功能以及与 Amazon S3 的内置集成,以跨运营数据库和数据湖查询和分析任何类型、格式和大小的数据。
  • 允许使用 AWS Data Pipeline、AWS Data Migration Services、AWS Glue 和 AWS Kinesis Firehose 在 AWS 服务内部和外部以流和批次的形式摄取和转换数据。
  • 提供与 AWS 分析服务(AWS Lake Formation、Amazon EMR、Amazon QuickSight、Amazon SageMaker 等)的原生集成。
  • 提供内置的容错和灾难恢复能力(自动化集群快照、快照复制、持续集群监控和替换等)。
  • 通过对表的精细权限、多因素用户身份验证、数据加密等来保护数据。
  • 满足 SOC1、SOC2、SOC3、PCI DSS 1 级、HIPAA、ISO 27001 等的合规性要求。
  • 允许分离存储和计算资源。
2、谷歌BigQuery
  • 通过 Cloud Fusion 提供与 150 多个数据源的原生数据集成

  • 提供多云分析支持(由 Google BigQuery (Omni) 提供)以跨 AWS 和 Azure(即将推出)查询数据,而无需复制数据。

  • 与 Looker 和整个 Google Cloud Analytics 生态系统的原生集成。

  • 冷热数据以及存储和计算资源分别收费。

  • 默认情况下,在多个位置免费提供复制存储。

  • 提供对数据集、表、视图、多因素用户身份验证、数据加密(默认)等的精细权限。

  • 满足 HIPAA、ISO 27001、PCI DSS、SOC1、SOC2 等的合规性要求。

3、Azure Synapse Analytics

  • 通过 Azure 数据工厂为本地和云数据源提供 95 多个本机连接器。

  • 通过 Azure Synapse Link 提供对本机 HTAP 的支持。

  • 使用内置的 Apache Spark 和 Azure 流分析事件处理引擎支持大数据和流数据摄取和处理。

  • 与 Power BI、Azure 机器学习、Azure 认知服务、Azure Data Lake Storage 等的本机集成。

  • 允许单独扩展存储和计算。

  • 提供内置的容错和灾难恢复功能(自动快照、异地备份等)。

  • 默认数据安全功能(模式、表、视图、单个列、过程等的细化权限,多因素用户身份验证、数据加密等)。

  • 满足 HIPAA、ISO 27001、PCI DSS、SOC1、SOC2 等的合规性要求。

06 确保DW项目成功的关键要素

1、实施敏捷 DW 开发

数据仓库开发项目耗费时间和资源,因此选择一种敏捷方法,这意味着通过增量投资将项目分解为迭代,将帮助您尽早开始获得 ROI,并最大限度地降低风险并避免大量的前期投资。

2、确保 IT 和业务之间的密切合作

数据仓库的成功是 IT 和业务专家的共同努力,他们共同承担从收集业务需求到数据仓库部署和发布后支持的计划责任。

3、关注最终用户

为最终用户提供可靠的支持文档、培训和自助数据访问工具,确保数据仓库的高采用率。

07 结论

巧妙构建的现代数据仓库可以帮助您实现许多当前的数据管理和分析目标,包括分解数据孤岛、实时分析、交互式报告和受保护的公司数据。而且,即使要使您的数据仓库取得长期成功,您也需要大量投资,不要让它吓倒您。依靠具有扎实领域专业知识的值得信赖的 BI 供应商,切实的数据仓库优势很快就会显现出来。

END

相关荐读:
什么是One Data体系?阿里数据中台解读
数据中台即服务——数据中台的四大支柱
为什么说 数据服务是数据中台的标配?
数据中台的OneID是个什么鬼,主数据它不香吗?
数据中台为什么要建标签体系,分类它不香吗?
5000字,基于OneData体系的数据仓库建设!
5000字,详解数据仓库构建方法论和实践
继续滑动看下一个
谈数据
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存