1.1 什么是数据仓库
数据仓库是一种面向商务智能 (BI) 活动(尤其是分析)的数据管理系统,它仅适用于查询和分析,通常涉及大量的历史数据。在实际应用中,数据仓库中的数据一般来自应用日志文件和事务应用等广泛来源。
数据仓库能够集中、整合多个来源的大量数据,借助数据仓库的分析功能,企业可从数据中获得宝贵的业务洞察,改善决策。同时,随着时间推移,它还会建立一个对于数据科学家和业务分析人员极具价值的历史记录。得益于这些强大的功能,数据仓库可为企业提供一个“单一信息源”。
1.2 数据仓库的进化
传统数据仓库:传统数据仓库是基于关系型数据库技术的,主要用于存储和管理企业的结构化数据。它通常采用批处理方式进行数据加载,数据模型采用星型或雪花型结构。传统数据仓库面临的挑战包括数据加载速度慢、数据模型复杂等。
实时数据仓库:实时数据仓库的出现是为了解决传统数据仓库的批处理方式带来的延迟问题。实时数据仓库采用流式数据处理技术,可以实现数据准实时或实时加载。它可以更快地响应业务需求,但也面临数据一致性和性能问题。
云数据仓库:云数据仓库是基于云计算技术的数据仓库解决方案。它利用云存储和计算资源,具有弹性扩展、灵活性高等优势。云数据仓库可以根据实际需求进行资源调整,可以快速部署和使用,降低了数据仓库的成本和复杂性。
大数据仓库:大数据仓库是针对大规模非结构化和半结构化数据的存储和分析需求而设计的。大数据仓库利用分布式计算和存储技术,可以处理和分析海量的数据。它可以实现实时或准实时的数据分析,并提供更全面的业务洞察。
分布式数据仓库:分布式数据仓库是一种新的数据仓库架构,它将数据分布在多个节点上进行存储和处理。分布式数据仓库可以实现高容量、高可用性和高并发性能,可以支持大规模的数据处理和分析。
1.3 数据仓库的优势
数据仓库在高效分析大量不同的数据,提取数据价值并保留历史记录方面拥有独一无二的强大优势。 数据仓库之父兼计算机科学家 William Inmon 定义了数据仓库的 4 大特征,这 4 大特征为数据仓库的强大优势奠定了坚实基础。根据定义,数据仓库具有以下特点:
面向主题:数据仓库可以高效分析关于特定主题或职能领域(例如销售)的数据。
集成:数据仓库可在不同来源的不同数据类型之间建立一致性。
相对稳定:进入数据仓库后,数据将保持稳定,不会发生改变。
反映历史变化:数据仓库分析着眼于反映历史变化。
一个精心设计的数据仓库支持高速查询、高数据吞吐量,能够凭借出色的灵活性帮助用户细分数据或降低数据量,进而执行更加细致的数据检查,满足高层级和精细化数据管理等各种需求。同时,它还能为中间件 BI 环境(为最终用户提供报告、仪表盘和更多其他界面)提供一个坚实的功能性基础。
1.4 数据仓库的架构
简单:所有数据仓库都采用同一基本设计,将元数据、概要数据和原始数据全部存储在中央信息库中。信息库一端由数据源馈送信息,另一端则供最终用户访问,以便进行分析、报告和数据挖掘。
通过暂存区简化数据准备:将操作型数据置入数据仓库之前,必须首先进行清理和处理。这一步骤可通过编程方式完成,但很多数据仓库会创建一个暂存区来简化数据准备工作。
星型结构:通过在中央信息库和最终用户之间创建数据集市,企业可以对数据仓库进行自定义,灵活满足各种业务线的需求。换言之,准备就绪后,数据不会立即进入数据仓库,而是会被移至适当的数据集市。
沙盒:沙盒可提供一个专有的安全区域,帮助企业快速、非正式地探索新的数据集或新的数据分析方式,而无需遵守或遵循数据仓库的正式规则和协议。
1.5 如何设计一个数据仓库
在开始设计数据仓库前,您首先需要明确业务需求,就业务范围达成一致并拟定概念设计,然后为数据仓库创建逻辑和物理设计。其中,逻辑设计关注对象之间的关系,物理设计则关注如何以最佳方式存储和检索对象。当然,物理设计还包含传输、备份和恢复流程。
任何数据仓库设计都必须解决以下问题:
具体的数据内容
各数据组内部及相互之间的关系
支撑数据仓库的系统环境
数据转换类型
数据刷新频率