艾伦·西蒙

很久以前,无论你是以5美分一角的价格买糖果,还是在服装零售商那里购物,店主都在跟踪你所买的东西。事实上,他们正在跟踪每个人购买的商品,并根据哪些商品卖完的速度比其他商品快,做出明智的补货决定。这个数据维护是用一支笔和一些心算在日志中完成的,然后存储在一个文件柜中。

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

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

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

数据仓库入门基础

2020年3月

畅销书
  • 68次讲座
  • 初学者水平
4.5 (7063)

建筑和尺寸设计的最佳实践和概念|阿兰•西蒙

探索课程

什么是数据仓库?

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

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

数据仓库诞生于20世纪80年代末90年代初,是基于几种不同的分析数据管理理论的结合。IBM研究人员巴里·德夫林和保罗·墨菲他们被认为是20世纪80年代末第一个创建“业务数据仓库”的人。然后,随着早期分布式数据库管理系统的努力失败,比尔·因蒙(Bill Inmon)定义了数据仓库的规则,该规则在20世纪90年代一直持续到21世纪初。同时,Ralph Kimball也对该学科做出了重大贡献,特别是在通过维度建模进行数据仓库设计方面。数据仓库的概念已经发展成为我们今天所看到的——一个随着计算机的发展而发展的复杂系统。

数据仓库与数据库

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

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

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

数据仓库的好处是什么?

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

从更狭义的意义上说,这些数据驱动的洞察和由此产生的决策跨越了我们企业的广度,从销售到营销到财务,从制造到供应链到人力资源和人事。此外,这些数据驱动的见解可以以地理方式结合在一起——例如,对一家公司所有北美业务的调查结果,或其所有欧洲业务的调查结果。这些见解可以在企业级别产生,也可以在组织级别产生。从本质上讲,数据仓库负责收集和组织数据,而它的兄弟学科商业智能负责交付见解。

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

数据湖vs.数据仓库

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

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

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

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

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

有哪些数据仓库技术?

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

提取,转换,加载

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

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

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

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

加载阶段是最后一个阶段,尽管整个ETL过程是重复的——而且经常重复——以保持数据仓库的最新。数据仓库的数据检索的一个重要方面是维度建模,它使检索数据变得更容易和更快。

维度建模

技术维度建模与数据仓库的兄弟学科BI紧密一致,帮助我们构建数据事实(基本上,测量)尺寸(基本上,就是我们如何切片、分割和过滤这些事实)。

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

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

星型和雪花型模式

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

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

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

商业智能工具通常为数据仓库设计师提供指导,指导他们使用星型模式还是雪花模式模型。一些BI工具在星型模式下工作得更好,而其他工具则针对雪花模式进行了优化。无论实现哪种模型,星型模式和雪花模式都旨在支持数据的维度分析。

为什么使用数据仓库?

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

专业人员使用数据仓库的方法有很多种。一些数据仓库专家只关注数据仓库本身,比如多维建模或仓库的ETL开发。betwayapp下载安装有些人只使用经典的、基于关系的数据仓库,而有些人则使用决策科学(BI、数据可视化和其他分析形式)方面的数据仓库的使用方式。

为数据驱动的业务决策提供信息的能力要求团队具有数据仓库方面的可证明的技能。拥有这些技能的专业人士认为,由于组织了解数据技能对新开发以及现有数据仓库的持续维护和增强的重要性,对他们的知识的需求一直很高。betwayapp下载安装

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

总的来说,数据仓库将为您的公司做什么?它将通过简化一度耗时的流程、将数据支持的意识提升到业务绩效,并使员工能够更好地利用数据表达见解,从而使您的业务更高效、更具竞争力。

随着公司数据的整合,它变得更易访问、更一致、更高质量,所有这些都是经营一家依靠强有力的决策而蓬勃发展的企业所必需的。您反复收集、整合、清理和组织来自不同来源的数据所花费的时间越少,您就可以花越多的时间来解决问题,从而推动公司向前发展并改进您的工作。

通过我的课程掌握规划、构建和设计数据仓库所需的技术数据仓库入门基础-你将改变你的组织如何组织数据,这将成为建立可靠的数据洞察的重要一步。

页面最后更新:2020年6月