什么是数据仓库?
了解什么是数据仓库,使用数据仓库的好处,在设计阶段要考虑的最佳做法,以及在最终建立时要集成哪些工具。
什么是数据仓库?
首先,让我们定义什么是数据仓库,以及为何组织要使用数据仓库。
数据仓库是一个集中式存储库,用于存储结构化数据(数据库表、Excel 工作表)和半结构化数据(XML 文件、网页),以便进行报告和分析。数据从各种源(如销售点系统、业务应用程序和关系数据库)流入,通常会在到达仓库之前进行清理和标准化。由于数据仓库可以存储大量信息,因此用户可以轻松访问大量历史数据,这些数据可用于数据挖掘、数据可视化和其他形式的商业智能报告。
数据仓库的优势
可靠数据(尤其是在随着时间推移进行聚合时),可帮助用户做出更智能、更明智的决策以决定其组织运行的方式,正是数据仓库使之成为可能。企业数据仓库存储优势众多,其中一些影响最大的优势包括:
- 将来自多个源的数据合并到一个事实源
- 存储和分析跨月份和年份的长期历史数据
- 清理和转换数据,使其在结构和窗体中准确、一致且标准化
- 减少收集数据和处理分析的查询时间,从而提高系统整体性能
- 高效加载数据,而无需处理部署或基础结构的成本
- 保护数据,确保其私密、受保护且安全
- 准备数据以通过数据挖掘、可视化工具和其他形式的高级分析方法进行分析
数据仓库与数据湖
显然,数据仓库对于任何组织的分析操作都是必不可少的。但数据仓库与其他类型的数据存储库(如数据湖)有什么区别?何时应使用其中一个而不是另一个?
作为存储库,数据仓库和 数据湖 都能存储和处理数据。然而,尽管它们似乎提供了相同的功能,它们各自都有自己的特定用例。正因如此,组织通常会将两者相结合,以形成可以实现各种用途的完整端到端解决方案。
数据仓库在本质上是关系仓库。这意味着数据的结构或架构由预定义的业务和产品要求决定,这些要求针对 SQL 查询操作进行了特选、符合和优化。因此,数据仓库最适合用于存储已出于特定目的处理的数据,例如用于 BI 分析的数据挖掘,或用于查找已标识的业务用例。
与数据仓库一样,数据湖包含结构化和半结构化数据。此外,还能够容纳来自各种非关系型源(包括移动应用、IoT 设备、社交媒体或流式传输)的原始和未处理的数据。这是因为数据湖中的结构或架构在数据被读取之前并没有定义。由于数据湖具有灵活、可缩放的性质,通常被用于执行智能形式的数据分析,例如机器学习。
数据湖 | 数据仓库 | |
---|---|---|
类型 |
结构化、半结构化、非结构化 关系,非关系 |
结构化 关系 |
架构 | 读取架构 | 写入时的架构 |
格式 | 原始、未筛选 | 已处理,已审核 |
源 | 大数据、IoT、社交媒体、流数据 | 应用程序、业务、事务数据、批处理报告 |
可伸缩性 | 以低成本轻松缩放 | 完成缩放很困难且成本高昂 |
用户 | 数据科学家、数据工程师 | 数据仓库专业人员、业务分析师 |
用例 | 机器学习、预测分析、实时分析 | 核心报告,商业智能 |

数据仓库体系结构和设计
现在,你已了解为何以及何时应使用数据仓库,接下来让我们通过查看数据仓库设计来深入了解数据仓库的工作原理。数据仓库不仅仅是一个自行操作的接收器。它更是一个高度结构化的、精心构建的系统,由多个层组成,这些层以不同的方式与数据交互且相互交互。通常,这些层包括:
下层
数据由多个源引入,然后进行清理和转换,以便其他应用程序在被称为提取、转换和加载(ETL)的进程中使用。底层也是存储和优化数据的位置,这样可以缩短查询时间并提高整体性能。
中间层
这里就是分析引擎,也被称为联机分析处理(OLAP)服务器。OLAP 服务器从数据仓库中高速访问大量数据,从而带来快如闪电的结果。
顶层
在顶层,前端接口以可视化形式呈现已处理数据的位置,分析师可以访问访问并使用这些数据来满足他们所有的报告和自助式 BI 需求。
如何构建数据仓库
设计和生成数据仓库时,请务必考虑组织的长期和特定目标,以及数据的性质。要集成多少个数据源? 是否计划自动执行工作流? 如何浏览和分析数据? 具体构建将因需求的复杂性而异,但典型的企业数据库仓库可能由以下组件构成:
- 数据源销售点系统中的操作数据、业务应用程序和其他关系数据库
- 暂存区域中的数据被清理并转化为仓库或中央存储库的数据
- 仓库或集中存储库存储了经过处理的操作数据、元数据、摘要数据和原始数据,以便用户访问
- 添加数据市集,即可从集中的存储库中获取数据,并在子集中为所选用户组提供服务。
- 沙盒,数据科学家可以用其在受保护的环境中测试新的数据探索形式
- 有各种各样的数据仓库工具、框架和 API,可进行集成、存储、性能提升和分析

数据仓库工具、软件和资源
在当今以数据为中心的世界中,许多主要软件公司都拥有一系列看似无穷尽的数据仓库软件,每个软件都有其特定用例。这看起来可能令人生畏,但为了构建一个有一致性、高性能的解决方案,就需要投资正确的工具和技术。每个组织的需求各不相同,但下面是一些需要研究的基本数据仓库产品:
云和混合云数据仓库
基于云的统一数据仓库解决方案,例如 Azure Synapse Analytics,使组织能够更快、更低的成本进行缩放、计算和存储。
数据集成工具
ETL 管道使用户能够创建、计划和协调其工作流,以实现源数据自动集成、清理和标准化。
对象存储
对象存储解决方案可以保存大量结构化、半结构化和非结构化数据,使其非常适合在将源数据加载到仓库之前进行暂存。
仓库存储工具
分布式存储解决方案能在具有列存储的关系表中保存大量数据。这大大降低了成本,提高了查询性能,并加速了获取见解的时间。
性能工具
若要提高应用程序的性能,可能需要集成 Apache Spark,一种支持内存处理的开源并行处理框架。
资源和工作负荷管理
资源管理器将计算能力分配给工作负荷,以便可以相应地进行加载、分析、管理和导出数据。
数据建模
数据建模将多个数据源合并为单个语义模型,提供结构化、简化的数据视图。
商业智能工具
业务分析工具可帮助用户以仪表板、报表和其他可视化工具的形式向用户提供见解。
安全和隐私功能
数据加密、用户身份验证和访问监视等安全性和合规性功能可确保数据受到保护。

Azure SQL 数据仓库发生了什么情况?
与 Azure SQL 数据仓库关联的功能现在是Azure Synapse Analytics的一个被称为专用 SQL 池的功能。现有 Azure SQL Data Warehouse 客户可以使用 Azure Synapse Analytics 中的专用 SQL 池功能继续运行其现有的 Azure SQL Data Warehouse 工作负载,而无需进行任何更改。客户还可以使用 Azure Synapse Analytics 开始管理其现有仓库数据,以利用高级分析功能,例如无服务器数据湖探索、集成 SQL 和 Apache Spark™ 引擎。
常见问题解答
-
数据仓库是一个集中式存储库,用于保存结构化数据(数据库表、Excel 工作表)和半结构化数据(XML 文件、网页),以便实现报告、分析和其他形式的商业智能。
-
使用数据仓库有诸多好处。例如,数据仓库将多个数据源合并到单个事实源中,组织即可使用该数据源就业务和运营做出更明智的决策。
-
数据仓库会存储结构化和半结构化数据,可用于源数据挖掘、数据可视化和其他特定 BI 用例。数据湖则会存储各种类型的原始数据,数据科学家随后可以将这些原始数据用作各种项目的数据来源。
-
数据仓库通常由多个层组成: 下层收集和存储数据;中间层分析据;顶层显示数据供用户访问和分析。
-
在设计和构建数据仓库基础结构时,请务必考虑数据的性质以及要如何对其进行转换。典型构建的一些常见元素包括数据源、暂存区域、仓库本身、数据集市、沙盒和各种集成工具。
-
多家主要软件公司现在都拥有多种数据仓库产品。
-
这些功能现在是 Azure Synapse Analytics 称之为专用 SQL 池的功能。现有的 Azure SQL 数据仓库客户无需进行任何更改即可继续运行其工作负荷。
其他资源
免费帐户
免费试用 Azure 云计算服务,最长达 30 天。
即用即付
开始使用即用即付定价。无前期承诺 - 可随时取消。