什么是数据仓库?
数据仓库 (DW) 是一种数字化存储系统,用于连接和协调来自众多不同数据源的大量数据。
default
{}
default
{}
primary
default
{}
secondary
数据仓库概览
数据仓库 (DW) 是一个中央资源库,用于收集、整合并存储来自多个数据源的大量当前数据和历史数据。数据仓库通过提供统一且一致的真实数据源,为商业智能 (BI)、报告和高级分析提供支持。通过对数据进行整合与标准化处理,企业能够获得可靠的洞察,满足法规要求,并作出明智的数据驱动决策。
数据通常从运营系统(如 ERP 和 CRM)、内部数据库以及外部来源(如合作伙伴平台、物联网设备、天气信息源和社交媒体)流入数据仓库。随着云计算技术日趋成熟,数据存储已由传统的本地环境逐步转向更加灵活的多云和混合云架构。
现代数据仓库旨在同时管理结构化数据和非结构化数据(如视频、图像和传感器数据流)。许多现代数据仓库整合了集成式分析和内存处理功能,能够实现更快速的查询、实时数据访问,以及更高效的报告和商业智能工作流。如果没有数据仓库,企业将难以整合异构数据源、为分析工作妥善准备数据,并保持对各类数据集的可视性。
图 1:数据仓库概览
数据仓库的优势
设计精良的数据仓库是成功实现商业智能、报告和分析的基石。通过将数据整合为统一的真实数据源,数据仓库能够加快洞察获取速度,帮助企业各部门制定更明智、更有把握的决策。数据仓库的主要优势包括:
- 优化业务分析:数据仓库将来自多个系统的数据整合为统一且一致的业务视图,让管理者能够更轻松地分析趋势,并作出明智的数据驱动决策。
- 加快查询和洞察获取速度:由于数据仓库针对分析(而非事务处理)进行了优化,用户能够更快速地对大型数据集执行复杂查询,从而加快报告周期,并减少对 IT 部门的依赖。
- 提升数据质量和一致性:数据在进入仓库之前会经过清洗、验证和标准化处理,确保用于分析的信息高质量且可靠。数据质量会直接影响决策效果。
- 获得深入的历史洞察:数据仓库能够保留丰富的历史数据,帮助企业更轻松地发现长期趋势、评估绩效,并作出更准确的预测,从而增强战略规划能力。
图 2:显示数据沿袭的数据仓库截屏
数据仓库可存储的数据类型
数据仓库诞生于 20 世纪 80 年代末,最初是用于存储结构化数据,即组织有序的信息,例如客户详情、产品清单和交易记录等。随着业务需求的扩展,企业还希望能够处理非结构化数据,例如文档、图像、视频、电子邮件、社交媒体帖子,以及来自机器和物联网设备的传感器输出数据。
现代数据仓库能够同时处理结构化和非结构化数据,并将二者整合起来,为企业提供更全面和综合的数据视图,帮助他们获得更深入的洞察。
关键概念及其差异
在数据仓库领域,有许多概念需要了解。以下是其中一些最重要的概念。如需了解更多概念定义和常见问题,请查看我们的术语表。
数据仓库与数据库
数据库和数据仓库都用于存储数据,但二者扮演的角色不同。数据库负责管理特定业务领域的实时信息,而数据仓库则负责整合企业各部门的当前数据和历史数据,为报告和分析提供支持。尽管数据仓库建立在数据库技术之上,但前者还额外配备了用于持续对数据进行集成、建模和管理的工具。
数据库通过快速处理事务和更新记录来保障日常运营。数据仓库则为分析工作提供支持,帮助团队发现趋势、比较绩效,并制定战略决策。
数据仓库与数据湖
数据仓库和数据湖都存储了海量数据,但二者的用途不同。数据仓库存储的是经过处理的结构化数据,用于报告和分析;而数据湖存储的是未经处理的原始数据,供后续使用。两者通常协同工作:原始数据存储在数据湖中,待需要分析时再进行转换并移入数据仓库。
数据湖适用于以灵活、低成本的方式存储原始数据;数据仓库则适用于对结构化数据进行快速、可靠的分析。大多数企业都能从这两者中获益:从数据湖获取各类数据,再借助数据仓库将其转化为洞察。
图 3:数据仓库和数据湖对比
数据仓库与数据集市
数据集市是数据仓库的一个子集,专门按部门或业务线(如销售、营销或财务)进行划分。例如,销售数据集市可能侧重于销售线索、销售管道活动和关单,而财务数据集市则关注预算、预测和收入指标。
有些数据集市也可能是为了单独的运营目的而创建。数据仓库是整个企业的数据存储中心,而数据集市则为特定用户群体提供相关数据。这样能够简化数据访问,加快分析速度,并帮助用户管控他们的数据。一个数据仓库内通常部署了多个数据集市。
图 4:数据集市工作原理示意图
数据仓库的构成要素
现代数据仓库包含四大核心组件:中央数据库、数据集成与摄取工具、元数据以及访问工具。这些组件协同工作,能够大规模实现快速、可靠的分析。
图 5:数据仓库组件示意图
- 中央数据库:中央数据库是数据仓库的核心存储引擎,传统上多为关系型数据库,但为了获得更好的性能,如今越来越多地采用内存计算或云原生系统。
- 数据集成与摄取:数据通过 ETL、ELT 等批处理方式获取数据,也可选择通过变更数据捕获复制和流处理管道等方式实时摄取。这些过程还包括数据转换、质量检查和数据充实。
- 元数据:用于描述数据的信息,包括数据的来源、结构、含义以及使用方式,涵盖业务和技术两个层面。
- 访问工具:支持用户查询和分析仓库中的数据并与之交互的工具,包括报表工具、仪表盘、分析平台和应用开发工具。
数据仓库架构
传统上,数据仓库采用分层架构,这种架构与数据在系统中的流转方式相契合。典型的数据仓库包含三层。为了实现更快的数据移动和分析,现代平台简化了这种架构。
图 6:数据仓库架构图
- 数据层:数据从源系统中提取出来,再通过 ETL 等摄取方式进行转换并加载到数据仓库中。数据层包括核心数据库、数据集市和数据湖,以及用于标准化和准备数据的元数据与集成工具。
- 语义层:该层对数据进行组织和建模,使其易于查询和分析,并提供经过整理的视图和业务定义,从而支持快速、一致的分析。
- 分析层:作为最上层提供用户进行交互的工具,包括仪表盘、报表、KPI 监控、高级分析,以及用于探索数据和构建新模型的沙盒环境。
过去,数据仓库通常由 IT 团队构建和管理,而现代平台越来越多地赋能业务用户直接使用数据。推动这一转变的关键功能包括:
- 面向业务的语义层:使用自然语言、解释数据关系,并支持用户结合新的情境来丰富数据。
- 虚拟工作空间:将数据模型、逻辑和协作整合到统一的治理环境中。
- 基于云的工具:让员工能够更轻松地接入新的数据源、开展分析并获得洞察,同时显著减少对 IT 部门的依赖。
数据仓库的工作原理
数据仓库整合企业各部门的信息,以便轻松实现信息探索与分析,并确保信息值得信赖。这一过程通常包括四个简单步骤:
- 提取:从应用、数据库和云服务等源系统中提取数据。在这一阶段,数据会按原样收集。
- 转换:数据经过清洗、标准化处理和整理,确保一致并可直接使用。这一步可能包括删除错误数据、统一格式或应用业务规则。
- 加载:准备好的数据以适合快速报告和分析的结构化格式存储到数据仓库中。
- 分析:数据加载完成后,团队可以使用仪表盘、报表和高级分析工具探索数据,从而制定明智的决策。
ETL 与 ELT 有何区别?
ETL(提取 → 转换 → 加载):数据在进入数据仓库 之前 完成转换。这种方式常见于处理能力有限的传统数据仓库。
ELT(提取 → 加载 → 转换):原始数据先加载到数据仓库中,再在仓库 内部 完成转换。现代云平台能够高效处理大规模数据转换,因此更倾向于采用这种方式。
数据仓库的四大关键特征
数据仓库基于若干核心原则构建,这些原则确保其能够在整个企业范围内提供可靠、一致且可用于分析的信息。数据仓库的四大关键特征分别是:
- 以主题为导向:围绕核心业务主题(如客户或销售)组织数据,为数据分析提供支持。
- 集成:来自 ERP、CRM 等不同系统的数据经过清洗和标准化处理,实现一致整合。
- 时变性:长期存储历史数据,从而支持趋势分析和绩效分析。
- 非易失性:数据一旦加载便保持稳定,可读取但不会被更新或删除,从而确保可靠的真实数据源。
云数据仓库的优势
与传统本地系统相比,云数据仓库具有显著优势,日益受到青睐。以下是将数据仓库迁移至云端的七大优势:
- 快速部署:无论身处何地,都能在数分钟内启动存储空间、计算资源以及数据集市或沙盒等新环境。
- 更低的总体拥有成本 (TCO):只需为实际使用的资源付费,还可免去硬件、设施和维护成本,并通过将存储与计算分离来降低支出。
- 弹性灵活:无需人工干预,即可快速扩大或缩小规模,从容应对不断变化的工作负载和海量数据。
- 安全保障和灾难恢复:云平台通常提供更强大的安全管控措施、加密机制和自动备份功能,防止数据丢失。
- 实时性能:内存计算引擎和云原生引擎能够提供高速处理能力,助力实现实时洞察。
- 接入新技术:轻松集成机器学习、自动化洞察和高级分析等功能。
- 赋能业务用户:为团队提供统一的数据视图和直观的分析工具,使他们无需大量依赖 IT 部门即可开展数据分析并连接新的数据源。
图 7:数据仓库支持全面的费用分析
数据仓库卓越实践
在构建新的数据仓库或扩展现有数据仓库时,遵循久经验证的实践有助于在节省时间和成本的同时实现目标。有些实践侧重于业务需求,而有些则属于更广泛的 IT 指导范畴。建议从以下实践清单入手,并在后续与技术和服务合作伙伴协作的过程中进一步完善。
卓越业务实践
- 明确所需信息。首先梳理想要解答的问题以及希望提供支持的决策,进而确定需要的数据源。行业组织、客户和供应商也能为获取有用的数据提供指导。
- 记录当前数据的现状。记录数据的存储位置、结构和质量情况,以便识别差距,确定必要的转换,并明确数据仓库将依据的业务规则。
- 组建合适的团队。团队成员应包括执行发起人、业务经理以及依赖这些洞察开展工作的最终用户。了解他们成功所需的标准报表、KPI 以及衡量指标。
- 确定首批项目的优先顺序。先从一两个具有明确业务价值且范围可控的试点项目入手。初期取得的成功有助于为后续发展蓄势。
- 选择实力强劲的技术合作伙伴。选择具备成熟经验、能提供实施支持,且平台契合部署需求的供应商。
- 制定切实可行的项目计划。与团队紧密协作,制定清晰的路线图和时间表。定期沟通并更新进展状况,确保所有成员协调一致。
IT 卓越实践
- 监控性能、访问情况和安全性。数据仓库需要兼顾高效与安全。跟踪系统使用情况、安全事件和访问模式,确保数据安全无虞,同时便于授权用户访问。
- 维护数据质量、元数据、数据结构和数据治理。进入数据仓库的新数据必须遵循一致的规则。对数据清洗、转换、元数据定义和数据治理进行标准化管理,确保用户能够信任分析结果。
- 构建灵活的架构。随着业务增长,团队将需要新的数据集市、模型和工作负载。与僵化或紧密耦合的系统相比,可扩展、模块化的架构更能满足这些需求。
- 实现维护和运维自动化。运用自动化和机器学习技术,简化索引编制、监控、优化和更新等任务。这有助于提升性能并降低运营成本。
- 战略性地使用云技术。不同团队的需求各不相同。如有需要,可将部分工作负载保留在本地,同时利用云数据仓库实现更强的可扩展性、更低的成本以及跨设备的便捷访问。
总结
现代数据仓库(尤其是基于云的数据仓库)能够整合来自企业内外部的数据,为企业提供完整、及时的业务视图,因此在数字化转型中发挥着核心作用。这些数据仓库为整个企业的仪表盘、KPI、警报和报表提供数据支持,并能在不影响运营系统的前提下,实现快速、复杂的数据分析。
由于现代数据仓库支持从小规模起步并轻松扩展,因此能够帮助企业各团队和业务部门提升决策水平和绩效。
常见问题
- 企业数据仓库 (EDW):企业数据仓库是覆盖全企业的集中式数据仓库,用于将企业的当前数据和历史数据全部存储在同一位置。EDW 为整个企业范围内的分析、报告和 KPI 提供统一且一致的真实数据源。大多数现代 EDW 在云端运行,目的是实现可扩展性和更便捷的访问。
- 操作型数据存储 (ODS):操作型数据存储是一种近乎实时的数据存储,用于支持运营报告和日常业务活动。ODS 位于事务处理系统与企业数据仓库之间,以相对实时(但并非完全涵盖历史数据)的形式整合来自多个数据源的数据。ODS 适用于需要频繁更新数据以快速作出运营决策的场景。
- 数据集市:数据集市是数据仓库中规模较小、面向特定主题的子集,专为某一团队或业务部门(例如财务、销售或市场部门)而设计。数据集市支持该团队快速访问对其最为重要的数据,而无需向其开放整个数据仓库。
- 中央数据库:作为主要存储层,用于存放经过清洗和整合的结构化数据。这通常是专为分析优化的关系型数据库、列式数据库或云原生数据库。
- 数据集成/摄取工具:诸如 ETL(提取、转换、加载)、ELT(提取、加载、转换)、批量加载和实时复制等工具和流程,用于将数据从源系统引入数据仓库,并为后续使用做好准备。
- 元数据:用于描述数据的信息,包括数据的来源、结构、含义及使用方式。元数据有助于用户理解并信任数据。
- 访问工具:供用户查询、可视化、探索和分析数据的应用与接口,例如报表工具、仪表盘、分析平台和 SQL 查询工具。