13046685510

企业数据仓库:概念,体系结构和组件

我们每天都基于以往的经验做出许多决定。我们的大脑会存储数以万计的过去事件数据,并在每次我们面临决策需要时利用这些记忆。像人一样,公司会生成并收集有关过去的大量数据。这些数据可用于做出更好的决策。


尽管我们的大脑既可以处理也可以存储,但是公司需要多种工具来处理数据。其中最重要的一个是数据仓库。


在本文中,我们将讨论什么是企业数据仓库,其类型和功能以及如何在数据处理中使用它。我们将定义企业仓库与常规仓库的区别,存在的数据仓库的类型以及它们的工作方式。重点是提供有关构建仓库的每种体系结构和概念方法的业务价值的信息。


什么是企业数据仓库?


如果您知道TB,那么Netflix 在2016年的仓库中大约有44 TB的数据可能会给您留下深刻的印象。仅凭大小就可以说明为什么我们称其为仓库,而不仅仅是数据库。因此,让我们从基础开始。


一个企业级数据仓库(EDW)是企业资源库的门店形式和管理所有企业的历史业务数据。信息通常来自不同的系统,例如ERP,CRM,物理记录和其他文件。为了准备数据进行进一步分析,必须将其放在单个存储设备中。这样,不同的业务部门可以对其进行查询并从多个角度分析信息。


借助数据仓库,企业可以管理庞大的数据集,而无需管理多个数据库。这种做法是为商业智能(BI)存储数据的一种面向未来的方式,这是将原始数据转换为可操作的见解的一组方法/技术。由于EDW是其中的重要组成部分,因此该系统类似于人脑,其信息存储在类固醇上。


企业数据仓库与常规数据仓库的区别是什么?


任何数据仓库都是始终通过一端的数据集成工具和另一端的分析接口与原始数据源连接的数据库。如果是这样,为什么我们要隔离企业形式进行讨论?


任何仓库都提供具有转换数据,移动数据并将其提供给最终用户的机制的存储。普通数据仓库和企业数据仓库之间的区别在于其广泛的体系结构多样性和功能。由于复杂的结构和规模,EDW通常会分解为较小的数据库,因此最终用户更愿意查询这些较小的数据库。考虑到这一点,我们将重点放在覆盖整个功能范围的企业仓库上。


但是,仓库的大小并不能定义其技术复杂性,分析和报告功能的要求,数据模型的数量以及数据本身。因此,要了解什么使仓库成为仓库,让我们深入了解其核心概念和功能。


企业数据仓库的概念和功能


在所有的钟声中,每个仓库的核心都具有基本的概念和功能。这些支柱将仓库定义为技术现象:


最终存储。企业数据仓库是组织中所有发生的所有公司业务数据的统一存储库。


反映源数据。EDW从其原始存储空间(例如Google Analytics(分析),CRM,IoT设备等)获取数据。如果数据分散在多个系统中,则难以管理。因此,EDW的目的是在单个存储库中提供原始源数据的相似性。由于公司内部和外部始终会产生新的相关数据,因此数据流需要专用的基础架构才能在进入仓库之前对其进行管理。


存储结构化数据。EDW中存储的数据始终是标准化和结构化的。这使得最终用户可以通过BI界面和表单报告对其进行查询。这就是使数据仓库与数据湖不同的原因。数据湖用于存储非结构化数据以进行分析。但是与仓库不同,数据工程师/科学家更多地使用数据湖来处理大量原始数据。


面向主题的数据。仓库的主要重点是可以与不同域相关的业务数据。为了理解数据的含义,它总是围绕一个称为数据模型的特定主题构造的。主题的示例可以是给定项目的销售区域或总销售额。此外,添加了元数据以详细说明每条信息的来源。


与时间有关。收集的数据通常是历史数据,因为它描述了过去的事件。为了了解某种趋势何时发生以及持续了多长时间,通常将大多数存储的数据划分为多个时间段。


非易失性的。一旦放入仓库,就永远不会从中删除数据。由于源更改,可以对数据进行操作,修改或更新,但绝不打算删除数据,至少最终用户要删除它们。当我们谈论历史数据时,出于分析目的删除会适得其反。然而,为了摆脱不相关的数据,可能会在几年内进行一次总体修订。


考虑基本原理,我们将研究DW的实现类型。


数据仓库类型


考虑到EDW的功能,对于如何在技术上进行设计总是有讨论的余地。在数据存储和处理的情况下,它们针对不同种类的企业而特定且不同。当然,根据数据量,分析复杂性,安全性问题和预算,总会有关于如何设置系统的选项。


经典数据仓库


具有专用硬件和软件的统一存储被认为是EDW的经典变体。使用物理存储,您不必在多个数据库之间设置数据集成工具。相反,EDW可以通过API与数据源连接,以不断地获取信息并在此过程中对其进行转换。因此,所有工作都在暂存区域(在将数据加载到DW之前转换数据的地方)或仓库本身中完成。


传统的数据仓库被认为比虚拟的仓库(我们将在下面讨论)优越,因为它没有附加的抽象层。它简化了数据工程师的工作,并使在预处理端管理数据流以及实际报告变得更加容易。经典仓库的缺点取决于实际的实现,但是对于大多数企业而言,这些缺点是:


● 昂贵的技术基础设施,包括硬件和软件;

● 聘请数据工程师和DevOps专家团队来建立和维护整个数据平台。


何时使用:适用于各种规模的想要处理其数据并使用它们的组织。经典仓库可让您变身为数据平台的不同体系结构样式,并有意按比例放大和缩小。


虚拟数据仓库


虚拟数据仓库用来作为一种替代,以经典的仓库类型EDW的。本质上,这些是虚拟连接的多个数据库,因此可以将它们作为一个系统进行查询。


企业数据仓库:概念,体系结构和组件(图1)

虚拟DW抽象与源数据库之间的关系的方案


这种方法可以使组织保持简单:数据可以保留在源中,但仍可以借助分析工具进行提取。如果您不想弄乱所有底层基础结构,或者您拥有的数据易于管理,则可以使用虚拟仓库。但是,这种方法有很多缺点:


● 多个数据库将需要不断的软件和硬件维护以及成本。

● 存储在虚拟DW中的数据仍然需要转换软件,以使最终用户和报告工具可以消化。

● 复杂的数据查询可能会花费太多时间,因为所需的数据可能会放置在两个单独的数据库中。


何时使用:适合具有标准化格式原始数据且无需复杂分析的企业。它也适合那些不系统地使用BI或希望从中开始使用BI的组织。


云数据仓库


十年来,云/无云技术已成为建立组织级技术的标准。您会在市场上找到无数的提供仓储即服务的提供商。仅举几例:


● Amazon Redshift

● IBM Db2

● Google BigQuery

● Snowflake

● Microsoft SQL数据仓库


提到的所有提供商都将完全托管的,可扩展的仓库作为其BI工具的一部分提供,或者像Snowflake一样将EDW作为独立服务来关注。在这种情况下,云仓库架构具有与任何其他云服务相同的优势。它的基础架构已为您维护,这意味着您无需设置自己的服务器,数据库和工具即可对其进行管理。此类服务的价格取决于所需的内存量以及查询的计算能力。


就云仓库平台而言,您可能要担心的唯一方面是数据安全性。您的业??务数据是一件敏感的事情。因此,您想检查所选的供应商是否可以信任以避免违反协议。这并不一定意味着本地仓库会更安全,但是在这种情况下,您的数据安全就在您手中。


何时使用:云平台是任何规模的组织的绝佳选择。如果您需要为您进行所有设置,包括托管数据集成,DW维护和BI支持。


企业数据仓库架构


尽管有许多架构方法以一种或另一种方式扩展仓库功能,但我们将重点介绍最基本的方法。无需过多讨论技术细节,整个数据管道可以分为三层:


● 原始数据层(数据源)

● 仓库及其生态系统

● 用户界面(分析工具)


与数据提取,转换和加载到仓库有关的工具是称为ETL的另一类工具。同样,在ETL的保护下,数据集成工具在将数据放入仓库之前会对数据进行操作。这些工具在原始数据层和仓库之间运行。


将数据加载到仓库后,也可以对其进行转换。因此,仓库将需要某些功能来进行清洁/标准化/尺寸确定。这些因素和其他因素将决定体系结构的复杂性。我们将从不断增长的组织需求的角度看待EDW体系结构。


一层架构


鉴于数据集成配置合理,我们可以选择数据仓库。在大多数情况下,数据仓库是一个关系数据库,其中包含允许多维数据的模块,或者可以分离某些特定于域的信息以便于访问的数据库。在最原始的形式中,仓储只能具有一层架构。


企业数据仓库:概念,体系结构和组件(图2)


报告层直接与EDW的整个数据库连接


EDW的一层架构意味着您拥有一个与分析接口直接连接的数据库,最终用户可以在其中进行查询。在EDW和分析工具之间建立直接连接带来了一些挑战:


● 传统上,您可以将存储视为从100GB数据开始的仓库。直接使用它可能导致混乱的查询结果以及低处理速度。

● 直接从DW查询数据可能需要精确的输入,以便系统能够过滤掉不需要的数据。这使得使用演示工具变得有些困难。

● 存在有限的灵活性/分析能力。


此外,一层架构为报告的复杂性设置了一些限制。由于这种方法的缓慢性和不可预测性,因此很少用于大型数据平台。要执行高级数据查询,可以使用低级实例扩展仓库,从而使对数据的访问更加容易。


两层体系结构(数据集市层)


企业数据仓库:概念,体系结构和组件(图3)


在两层体系结构中,在用户界面和EDW之间添加了一个数据集市级别。数据集市是包含特定于域的信息的低级存储库。简而言之,这是另一个较小的数据库,它为EDW扩展了专用于您的销售/运营部门,市场营销等方面的信息。


在两层体系结构中,数据集市扩展了EDW,以提供特定于域的数据


创建数据集市层将需要额外的资源来建立硬件并将这些数据库与其余数据平台集成。但是,这种方法解决了查询问题:每个部门将更轻松地访问所需数据,因为给定的集市将仅包含特定于域的信息。此外,数据集市将限制最终用户对数据的访问,从而使EDW更加安全。


三层架构(在线分析处理)


在数据集市层之上,企业还使用在线分析处理(OLAP)多维数据集。OLAP多维数据集是一种特定类型的数据库,表示来自多个维度的数据。关系数据库仅表示二维数据(例如Excel或Google Sheets),而OLAP允许您编译多个维度的数据并在多个维度之间移动。


企业数据仓库:概念,体系结构和组件(图4)


OLAP多维数据集层可以从分布式集市或直接从EDW中获取信息


用语言很难解释,因此让我们看一下这个方便的示例,说明多维数据集的外观。


企业数据仓库:概念,体系结构和组件(图5)


OLAP多维数据集展示多维销售数据


资料来源:oreilly.com


因此,如您所见,多维数据集将维度添加到数据中。您可能会认为它是多个相互组合的Excel表。多维数据集的前面是通常的二维表,其中垂直指定区域(非洲,亚洲等),而水平销售数字和日期。当我们查看多维数据集的上面时,魔术就开始了,在这里,销售按路线进行细分,而底部则指定时间段。这就是所谓的多维数据。


OLAP的业务价值在于,它允许用户将数据切成小块并切成小块以编制详细的报告。只要优化了多维数据集以使其能够与仓库一起使用,它们就可以直接与EDW一起使用以提供对所有公司数据或特定每个数据集市的访问。在实施方面,几乎所有仓库提供商都提供OLAP即服务。例如,请查看有关其OLAP产品的Microsoft文档。


在这一点上,我们讨论了适用于组织需求的EDW的高级设计。现在,我们将深入研究仓库可能包含的技术组件。


数据仓库vs数据湖vs数据集市


说到数据存储体系结构,我们不得不提到使用数据集市或数据湖而不是仓库的选择。经常混淆,我们将详细说明这些定义。


企业数据仓库:概念,体系结构和组件(图6)


三种数据存储形式的比较


数据仓库用于存储结构化数据,以便查询工具和最终用户可以获得全面的结果。通常用于BI的仓库的大小通常在100GB和无限之间。


但是,数据湖通常用于存储原始数据或混合数据。这些通常用于机器学习,大数据或数据挖掘目的。在最近几年中,数据湖用于BI:将原始数据加载到湖中并进行转换,这是ETL过程的替代方法。尽管这种方法有其优点和缺点,但数据湖对于获取结构化数据而言可能过于混乱。


然后我们有数据集市,也可以用作DW的替代品。这种模型(例如Kimball的模型)假定使用多个数据集市按域分发信息并相互连接。但是,由于数据集市很小(通常小于100GB),因此企业几乎无法使用数据集市。数据集市通常用于将大型DW细分为可操作性更高的DW。


企业数据仓库组件


有很多工具可以用来建立仓库平台。我们已经提到了其中大多数,包括仓库本身。因此,让我们大致了解每个组件的用途及其功能。


资料来源。很简单,存储原始数据的数据库。


提取,转换,加载(ETL)或提取,加载,转换(ELT)层。这些工具执行与源数据的实际连接,提取和加载到要转换的位置的工具。转换统一数据格式。ETL和ELT方法的区别在于,在ETL中,转换是在暂存区中的EDW之前完成的。ELT是一种更现代的方法,可以处理仓库中的所有转换。


暂存区。对于ETL,暂存区是在EDW之前加载位置数据。在这里,它将被清理并转换为给定的数据模型。暂存区域还可以包括用于数据质量管理的工具。


DW数据库。数据最终被加载到存储空间中。在ELT中,这里可能仍需要进行一些转换。但是,在此阶段,将应用所有常规更改,因此数据将加载到其最终模型中。如前所述,数据仓库通常是关系数据库。DW还将包括数据库管理系统和元数据的附加存储。


元数据模块。简而言之,元数据是关于数据的数据。这些说明为用户/管理员提供了与该信息相关的主题/领域的提示。该数据可以是技术元数据(例如初始来源),也可以是业务元数据(例如销售区域)。所有元数据都存储在EDW的单独模块中,并由元数据管理器进行管理。


报告层。这些工具使最终用户可以访问数据。也称为BI界面,该层将用作仪表板以可视化数据,形成报告并提取单独的信息。


小结


了解传递数据的工具链可以帮助您确定什么才真正适合您的数据平台要求。计划建立一个仓库可能要花费数年的计划和测试,因为它以最基本的形式存在。


作为企业主,您可能会对所使用的选项和技术的数量感到困惑,因此与仓储,ETL和BI领域的专家进行磋商至关重要。尽管专家可以在技术方面为您提供帮助,但可以定义业务目标,但请与将在工作中使用实际数据的人进行交谈。

7x24小时服务专线 130-4668-5510
官方微信 关闭