数据仓库的概念

什么是数据仓库?

数据仓库是信息(对其进行分析可做出更明智的决策)的中央存储库。通常,数据定期从事务系统、关系数据库和其他来源流入数据仓库。业务分析师、数据工程师、数据科学家和决策者通过商业智能 (BI) 工具、SQL 客户端和其他分析应用程序访问数据。

数据和分析已然成为各大企业保持竞争力所不可或缺的部分。企业用户依靠报告、控制面板和分析工具从其数据中获得洞察力、监控企业绩效以及更明智地决策。数据仓库通过高效地存储数据以便最大限度地减少数据输入和输出 (I/O),并快速地同时向成千上万的用户提供查询结果,为这些报告、控制面板和分析工具 由数据仓库提供支持。

如何架构数据仓库?

数据仓库的架构包含多个层。顶层是通过报告、分析和数据挖掘工具呈现结果的前端客户端。中间层包括用于访问和分析数据的分析引擎。架构的底层是加载和存储数据的数据库服务器。数据使用两种不同类型的方式存储:1) 经常访问的数据存储在最快的存储装置中(例如,SSD 驱动器),2) 不经常访问的数据存储在便宜的对象存储区中,例如 Amazon S3。数据仓库将自动确保经常访问的数据被移进“快速”存储以便优化查询速度。

数据仓库如何运作?

数据仓库可能包含多个数据库。在每个数据库中,数据整理进表和列中。在每个列中,您可以定义数据的说明,例如整数、数据字段或字符串。表可以在 Schema 内整理,您可以将其视为文件夹。提取的数据将存储在 Schema 描述的各种表中。查询工具使用 Schema 来确定要访问和分析哪些数据表。

使用数据仓库有哪些优势?

数据仓库的优势包括:

  • 知情地做出决定
  • 整合多个来源的数据
  • 历史数据分析
  • 数据质量高、一致且准确
  • 将分析处理从事务数据库中分离出来,从而提高两个系统的性能

数据仓库、数据库和数据湖如何一起工作?

通常,企业使用数据库、数据湖和数据仓库的组合来存储和分析数据。Amazon Redshift 的 Lake House 架构让此类集成变得轻松。

随着数据的量和种类增加,采用一种或多种通用模型来处理数据库、数据湖和数据仓库中的数据会有很多便利:

将数据放在数据库或数据湖中,准备数据,将所选数据移动到数据仓库中,然后执行报告

图片(上):将数据放在数据库或数据湖中,准备数据,将所选数据移动到数据仓库中,然后执行报告。

将数据放在数据仓库中,分析数据,然后共享数据以便与其他 AWS 分析产品共用

图片(上):将数据放在数据仓库中,分析数据,然后共享数据以便与其他分析和机器学习服务共用。

数据仓库是专门为数据分析设计的,涉及读取大量数据以了解数据之间的关系和趋势。数据库用于捕获和存储数据,例如记录事务的详细信息。

与数据仓库不同,数据湖是所有数据(包括结构化、半结构化和非结构化数据)的中央存储库。数据仓库要求数据使用表格形式进行整理,Schema 通过它发挥作用。需要采用表格形式以便使用 SQL 来查询数据。但是,并非所有应用程序都要求数据为表格形式。有些应用程序,例如大数据分析、完整文本搜索和机器学习,即使是对于“半结构化”或完全非结构化的数据,也能够进行访问。

数据仓库与数据湖的对比

特性 数据仓库 数据湖
数据

来自事务系统、运营数据库和业务线应用程序的关系数据

所有数据,包括结构化、半结构化和非结构化

Schema

通常在数据仓库实施之前设计,但是也可以在分析时编写

(写入型 Schema 或读取型 Schema)

写入在分析时(读取型 Schema)

性价比

使用本地存储获得最快的查询结果

更快地获得查询结果,存储成本较低,计算和存储分开

数据质量

可作为重要事实依据的高度监管数据

任何可以或无法进行监管的数据(例如原始数据)

用户

业务分析师、数据科学家和数据开发人员

业务分析师(使用监管数据)、数据科学家、数据开发人员、数据工程师和数据架构师

分析

批处理报告、BI 和可视化

机器学习、探索性分析、数据发现、流处理、运营分析、大数据和特征分析

数据仓库与数据库的对比

特性 数据仓库 事务数据库

适合的工作负载

分析、报告、大数据

事务处理
数据源 从多个来源收集和标准化的数据

从单个来源(例如事务系统)捕获的数据

数据捕获

批量写入操作通常按照预定的批处理计划执行

针对连续写入操作进行了优化,因为新数据能够最大程度地提高事务吞吐量

数据标准化

非标准化 Schema,例如星型 Schema 或雪花型 Schema

高度标准化的静态 Schema

数据存储

使用列式存储进行了优化,可实现轻松访问和高速查询性能

针对在单行型物理块中执行高吞吐量写入操作进行了优化

数据访问

为最小化 I/O 并最大化数据吞吐量进行了优化

大量小型读取操作

数据集市与数据仓库相比如何?

数据集市是一种数据仓库,用于满足特定团队或业务部门(例如财务、营销或销售)的需求。它更小、更集中,并且可能包含最适合其用户社区的数据汇总。数据集市也可以是数据仓库的一部分。

数据仓库与数据集市的对比

特性 数据仓库 数据集市
范围

集中的多个整合主题领域

分散的特定主题领域

用户

组织级

单个社区或部门

数据源

多个来源

单个或多个来源,或数据仓库中已经收集的部分数据

大小

较大,可达数百 GB 到数 PB

较小,一般不超过数十 GB

设计

自上而下

自下而上

数据详细信息

完整且详细的数据

可能包含汇总数据

如何在 AWS 上部署数据仓库?

AWS 允许您利用与按需计算相关的所有核心优势:访问看似无限的存储和计算容量,助越来越多所收集、存储和查询的数据并行扩展系统,只需为预置的资源付费。AWS 还提供一系列已相互无缝集成的托管服务,以便您能够快速部署端到端分析和数据仓库解决方案。

下面的插图显示了端到到分析流程的关键步骤,又称为堆栈。AWS 在每一步提供各种托管服务

AWS 在分析流程的每一步中提供各种产品和服务

图片(上):AWS 在分析流程的每一步中提供各种产品和服务。

Amazon Redshift 是我们的快速、完全托管且经济实惠的数据仓库服务。它可在单一服务中同时为您提供 PB 级数据仓库和 EB 级数据湖分析,您只需按实际使用量付费

后续步骤