该博客将全面涵盖: (一)什么是数据仓库 (b) 数据仓库的数据建模方法 (c) AWS 上的数据仓库,最后 (d) 使用托管服务减少操作负载的数据仓库。 让我们从一个外行人的角度来理解“ ” 什么是数据仓库 根据 维基百科 - 数据仓库(DW 或 DWH),也称为企业数据仓库(EDW),是用于报告和数据分析的系统,被认为是 的核心组件。数据仓库是来自一个或多个不同来源的集成数据的中央存储库。它们将当前和历史数据存储在一个位置,用于为整个企业的员工创建分析报告。这对公司来说是有益的,因为它使他们能够询问数据并从数据中汲取见解并做出决策。 商业智能 从根本上来说,它是收集、存储和有效提供见解(商业智能)以帮助企业成为数据驱动型组织的艺术。从某种意义上说,它是另一种事务数据库,但针对分析工作负载进行了优化。 根据上图,数据是从源收集的,根据使用情况进行转换 (ETL/ELT),并存储在 DWH/数据集市和通过商业智能工具公开的见解中。 在本地设置时代,一切看起来都很简单,当时 ELT(ETL 与 ELT)、云 DWH(AWS Redshift、Google Big Query、Snowflake、Databricks)和其他托管数据解决方案都不存在,但最近这些解决方案得到了简化和扩展DWH 的范围。在这篇博客中,让我们一次一个地了解每一个方面。 为了简单起见,我们假设不存在无限的计算和存储,并且事务系统无法有效地处理分析查询。这就是需要一种有效的方法来设计一个数据仓库,该数据仓库在存储方面是最佳的,有效地处理分析查询(切片/切块/立方体等),并提供所需的延迟。 为此, 的两种理论设计模型应运而生: 数据仓库设计 (a) Bill Inmon – 自上而下的方法 (EDW) 和 (b) Ralph Kimball – 自下而上的方法(数据集市)。 Inmon 的方法是在全球范围内集中构建并考虑缓慢构建的因素,而 Kimball 的方法是通过筒仓创建一个独立的数据集市,然后再连接在一起。我们不要深入探讨哪种模型最好或选择哪种模型。就我而言,简而言之,两种模型都有效,并且完全取决于组织的用例和成熟度。该设计的另一个关键点是“数据表示”,即使用星型模式、雪花模式或星型和雪花混合的维度建模,这是更快查询和维度的关键关键。 唯一的关键要点是,尽管物流无限,但良好的数据仓库设计可以解决多维问题。所以,最好不要忽视它。 的下一步是选择平台,可以从本地(Teradata、IBM DB2、Oracle 等)到云 DW(Snowflake、Redshift、BigQuery 等)。构建传统的数据仓库非常复杂,持续的管理和维护可能具有挑战性且成本高昂。在下一节中,我们将深入探讨如何使用 AWS Redshift 进行构建(毫无疑问,本地部署更好还是云更好,或者哪个云 DWH 更好)。 构建 DW Amazon Redshift 是一个完全托管的 PB 级企业级数据仓库,可为分析查询提供卓越的性能,且易于使用且经济高效。 Amazon Redshift 通过自动执行修补、备份和硬件配置等任务,减少了传统数据仓库所需的运营开销。您可以配置 Amazon Redshift 集群,在其中自定义数据仓库的基础设施和性能基准。 Amazon Redshift 还提供 Redshift Spectrum、Datashare、Redshift ML 和无服务器设置,允许您在 DWH 之外使用 Amazon Redshift 集群。 设置方式, 定义用于数据收集的服务(AWS DMS、DynamoDB、EMR、Glue、Kinesis、S3、SSH 主机等) 定义交互方式(查询分析工具和管理接口) 了解 Redshift MPP 架构(分布式、无共享) 启动具有所需数据大小、增长、节点和查询性能的集群(DC2、DS2 或 RA3) 根据用例或具有所需数据类型、模式类型、压缩、缓冲区、编码的 DWH 实现设计数据库模式 使用 COPY 加载不同文件类型的数据,使用 INSERT 进行最小更改,使用 ANALYZE & VACUUM 进行维护 执行查询优化和性能增强 利用 S3,使用 Spectrum 进行外部表和数据共享进行零拷贝 使用 Redshift ML 获得深入见解 利用 AWS Quicksight for BI 工具获取见解。 到目前为止,使用云 DWH 是有意义的,但这 ?下图解释了数据湖和数据仓库如何无缝协作。 AWS RDS 充当数据源,提供经济高效且持久的解决方案,并馈送到 中。然后使用 ETL 流程转换数据并载入 Redshift。其他 AWS 服务(例如 Athena、Glue、Spectrum、Lake Formation 等)在弥合差距以创建全面的数据解决方案方面发挥着至关重要的作用。 如何适应 DWH + 数据湖/数据解决方案托管服务的大方案 Amazon S3 总之,本博客涵盖了数据仓库的基础知识,从理论上深入研究了实现方法,并重点关注技术堆栈。我们还可以鸟瞰它如何无缝集成到更广泛的数据解决方案中。