艾伦•西蒙

很久以前,无论你是在5美分的商店里买糖果,还是去服装店买衣服,店主都会记录你买的东西。事实上,他们是在跟踪每个人的购买情况,并根据哪些商品比其他商品卖得快做出补充存货的明智决定。这些数据是用钢笔和一些心算在日志簿上完成的,然后存储在文件柜里。

如今,随着网上购物、社交媒体网络、甚至店内的数字支付选择的出现,对顾客习惯的洞察已经远远超出了过去在店内购物的能力。与一个估计有2.24亿网上购物者仅在美国,存储并理解所有数据就不是一项简单的任务。公司不仅需要存储数据,还需要从中提取相关信息。幸运的是,我们有像数据仓库这样的技术来帮助解决这一挑战。

在本文中,我将概述什么是数据仓库,它是如何工作的,以及它背后的关键技术。这是我从30多年的数据仓库经验和我的课程中获得的所有信息,面向初学者的数据仓库基础在这里,我介绍了在您的组织中实现数据仓库所需的体系结构、维度设计和数据交换的最佳实践。

让我们从数据仓库的基础开始。

面向初学者的数据仓库基础

最后更新2020年3月

畅销书
  • 68课
  • 初学者水平
4.5 (3205)

建筑和空间设计的最佳实践和概念阿兰•西蒙

探索课程

什么是数据仓库?

数据仓库是将数据聚集到一个存储位置——至少在逻辑上是这样,通常在物理上也是这样。当我们集成来自多个源应用程序和操作系统的数据时,我们可以获得许多关于业务的有价值的见解,这些数据大多来自我们的企业内部,但也来自外部数据提供者。

来自关系数据库的信息包含公司日常事务的记录,这些信息通常存储在数据仓库中。然后,该中心存储库中的数据将被重新组织,以支持报告、商业智能(BI)和分析——这些都是数据驱动决策制定所必需的工具,以保持您的公司的竞争力。

数据仓库诞生于上世纪80年代末和90年代初,它基于几种不同的分析数据管理理论。IBM研究人员Barry Devlin和Paul Murphy被认为是上世纪80年代末第一批创建“业务数据仓库”的人。后来,随着分布式数据库管理系统的早期努力失败,Bill Inmon定义了数据仓库的规则,该规则在20世纪90年代至21世纪初一直盛行。同时,Ralph Kimball也对该学科做出了重大贡献,特别是在通过维度建模的数据仓库设计方面。从那以后,数据仓库的概念发展成了我们今天所看到的——一个随着计算机的发展而发展起来的复杂系统。

数据仓库vs.数据库

让我们来澄清一个常见的混淆点:数据仓库与数据库不同。简单地说,数据库记录数据,而数据仓库最好被认为是分析其收集的历史数据和可交换数据的环境。

数据仓库通常建立在数据库之上。数据库是平台,而数据仓库是用途。数据源越多,数据仓库就会变得越复杂。

今天一些最流行的数据仓库供应商包括Amazon Redshift、谷歌BigQuery、Snowflake、Oracle和IBM Db2 warehouse等等。

数据仓库的好处是什么?

数据仓库提供了洞察公司数据可能意味着什么,并支持数据驱动的决策。举个广泛的例子,高管和经理会查看来自数据仓库的信息,以了解他们的业务是如何运行的,以及正在出现的趋势(如果有的话)。然后,他们以一种会导致战略变化的方式来解释数据。这些变化可以提供竞争优势,并延长企业的寿命。

从更狭义的意义上说,这些数据驱动的见解和由此产生的决策涵盖了我们企业的各个领域,从销售到营销再到财务,从制造到供应链再到人力资源和人员。此外,这些数据驱动的见解可以以地理方式结合起来——例如,一个公司所有北美业务的发现,或其所有欧洲业务的发现。这些见解可以在企业级别产生,或者向下到组织级别产生。从本质上讲,数据仓库负责收集和组织数据,而它的兄弟学科商业智能负责交付见解。

数据仓库使用BI工具来理解分析,并根据业务的过去和当前状态制定有效的策略来改善业务的未来。

数据湖与数据仓库

数据仓库中经常听到的一个术语是数据湖。这是两种不同类型的数据存储用途,但两者之间的界限正变得越来越模糊。

数据仓库主要构建在关系数据库管理系统(dbms)之上,如Microsoft SQL Server、Oracle或IBM DB2。数据仓库通常只包括结构化数据,如数字、字符串、日期等。

一个数据湖将来自许多不同来源和应用程序的任何类型的数据(结构化、非结构化或半结构化)放在一起,以支持分析。从本质上讲,数据湖有助于突破应用和平台障碍,为数据提供一站式购物。数据湖用于管理海量数据、数据的快速输入和更新,以及如上所述,通过处理结构化、半结构化和非结构化数据来实现“数据多样性”。它们建立在大数据环境之上,如Hadoop或AWS (Amazon Web Services)数据平台,如S3、Redshift、Aurora和其他AWS数据平台。

在某些方面,数据湖可以被看作是数据仓库的继承者。大多数组织仍然拥有来自数据仓库的数据分析基础,但他们将其与人工智能、机器学习和其他由数据湖驱动的高级分析一起使用。

理想情况下,组织应该在它们的数据仓库和数据湖环境之间有一个良好的体系结构集成,以避免两者之间不必要的分裂。

什么是数据仓库技术?

数据仓库可以被认为是一组子规程的集合,每个子规程都是一组专门的技术,包括:

ETL -提取,转换,加载

当数据从其源移动到数据仓库时,会发生一组称为提取、转换和加载(ETL)的过程。这三个过程共同工作,对传入数据进行格式化和规范化,以便正确地将其加载到仓库中。

提取Process从其原始源导入数据,并尽可能快地将该数据输入数据仓库环境。对传入数据进行最小的更改;其理念是能够在有限的时间窗口内吸收潜在的大量数据。

下一个是转换阶段。这是通过使值和结构保持一致来重新组织数据并将其转换为统一模式的阶段。数据质量保证和验证作为转换的一部分,通过修复已知错误或试图防止错误数据进入用户可以访问的内容。

一旦数据被统一格式化,负载阶段就可以开始了。这包括获取提取阶段临时保存的数据,并将其永久放置到目标数据库中。

加载阶段是最后的阶段,尽管整个ETL过程是重复的(并且经常重复),以保持数据仓库的最新状态。数据仓库的数据检索的一个重要方面是维度建模,它使检索数据更容易、更快速。

维度建模

的技术维度建模与数据仓库的兄弟原则BI紧密结合,并帮助我们将数据结构为事实(基本上,测量)(基本上就是我们如何分割和过滤这些事实)。

数据的维度建模本身就是数据仓库的一个复杂的子学科。为了返回准确的见解,数据仓库必须通过定期添加来自源系统的新内容和更新内容来保持最新。一些附加或修改的内容以新的事实的形式出现,如新的销售,或退货和退款。或者在其他领域,事实可能是一所大学的期末成绩。其他附加或修改的内容是针对以下维度的:一个全新的产品、一个新雇佣的教员或关于第一次下订单的客户的人口统计信息。

即使在维度建模中,我们也可以将数据库表构造成不同的结构模式这取决于您的数据团队的架构方法。无论哪种方式,数据库规则都控制着我们如何在数据仓库中构建数据库表,以及如何将这些表彼此关联。

星星和雪花图式

模式是数据仓库体系结构的一部分,它们在数据的组织和分析中发挥着作用。数据仓库经常使用两种模式,星型模式和雪花模式。

星型模式有一个称为事实表的中心表,其他维度表从这个数据表派生出关联数据。维度表并没有相互连接——只是连接到事实表——因此它是星形的。它是数据仓库中最简单的模式形式,用于查询大型数据集。

雪花模式,顾名思义,它是雪花形状的。与星型模式一样,雪花模式仍然有一个主事实表,但是它有来自其他维度表的维度表。

业务智能工具通常为数据仓库设计人员提供指导,说明应该使用星型模式模型还是雪花模式模型。一些BI工具可以更好地与星型模式协同工作,而另一些则针对雪花模式进行了优化。无论实现哪种模型,星型模式和雪花模式都被设计为支持数据的维度分析。

为什么要使用数据仓库?

数据工程师和在类似职位上处理大量数据的人经常发现数据仓库是一个有用的工具。希望以更简单的方式访问大量数据的组织可能也更喜欢使用数据仓库而不是数据湖。

专业人员使用数据仓库的方式有很多种。一些数据仓库专家只关注数据仓库本身,比如仓库的维度建模或ETL开发。bob外围官网有些人单独使用传统的、基于关系的数据仓库,而有些人则使用数据仓库使用方式的决策科学(BI、数据可视化和其他分析形式)方面。

为数据驱动的业务决策提供信息的能力要求团队在数据仓库方面具有可证明的技能。拥有这些技能的专业人员认为,随着组织理解数据技能对于新开发以及对现有数据仓库的持续维护和增强的重要性,对他们的知识的需求一直很高。bob外围官网

数据仓库如何实现更好的决策

总的来说,数据仓库将为您的公司做什么?它将使您的业务更有效率和更具竞争力,通过简化一度耗时的流程,将数据支持的意识引入业务绩效,并授权员工更好地利用数据表达见解。

随着公司数据的整合,它变得更容易访问、更一致、更高质量,所有这些都是经营一个依靠强有力的决策而繁荣的业务所必需的。重复地收集、合并、清理和组织来自不同来源的数据所花费的时间越少,您就可以花更多的时间进行故障排除,从而推动公司向前发展并改进您所做的工作。

通过我的课程掌握规划、构建和设计数据仓库所需的技术面向初学者的数据仓库基础-你将改变你的组织组织数据的方式,这将是建立可靠的数据洞察力的重要一步。

页面最后更新:2020年6月