通过数据仓库系统,组织能以标准数据库无法企及的方式对大量数据(TB 级和 PB 级)运行强大的分析。
三十多年来,数据仓库系统一直是商业智能 (BI) 解决方案的一个组成部分。但是,随着新的数据类型和数据托管方法的出现,这些数据仓库系统最近也在不断发展。过去,数据仓库往往会托管在本地(通常位于大型计算机上),而其功能也主要涉及从其他来源提取数据、清理和准备数据,以及在关系数据库中加载和维护数据。而眼下,数据仓库则可能会托管在专用设备上或云端,且大多数数据仓库均新增了分析功能以及数据可视化与演示工具。
了解构建块和最佳实践以帮助您的团队加速开发负责任的 AI。
在 Presto 上注册以获取电子书
一般而言,数据仓库具有三层架构,具体则为:
底层:底层由数据仓库服务器(通常为关系数据库系统)组成,而该系统可通过名为提取、转换和加载 (ETL) 或名为“提取、加载和转换 (ELT)”的流程从多个数据源收集、清理和转换数据。对于使用 ETL 的大多数组织而言,该流程依赖于自动化功能,且十分高效、定义明确、可连续运行并可批量驱动。
中间层:中间层由 OLAP(在线分析处理)服务器组成,它可实现快速查询。此层可使用三种类型的 OLAP 模型,即 ROLAP、MOLAP 和 HOLAP。所用 OLAP 模型的类型取决于现有数据库系统的类型。
顶层:顶级由某种前端用户界面或报告工具来呈现,它允许最终用户对其业务数据进行临时数据分析。
大多数数据仓库会围绕关系数据库系统进行构建,且要么位于本地要么位于云端,而数据则会在其中进行存储和处理。其他组件则可能包括元数据管理系统和 API 连接层;借助它们,数据仓库便可从组织源提取数据,并提供针对分析与可视化工具的访问权限。
典型的数据仓库包含四大组件:中央数据库、ETL 工具、元数据工具和访问工具。所有这些组件均旨在提高处理速度,以便您能快速获得结果并即时分析数据。
数据仓库已经出现了几十年。它诞生于 20 世纪 80 年代,并旨在满足优化数据分析这一需求。随着公司的业务应用程序开始增多并生成/存储更多数据,它们便需要既能管理数据又能分析数据的数据仓库系统。从较高层次来看,数据库管理员可从其操作系统提取数据,并通过进行转换向数据添加架构,然后再将其加载到数据仓库中。
随着数据仓库架构的发展以及越来越高的普及性,公司内部越来越多人员开始使用它来访问数据,而数据仓库则可凭借结构化数据来轻松实现此目的。此时,元数据就变得重要起来。报告和创建仪表板成为关键用例,而 SQL(结构化查询语言)则成为与这些数据进行交互的实际手段。
通过下文,您可详细了解其中每个组件。
当数据库分析师想将数据从某一数据源移至其数据仓库时,他们便会采用此流程。简而言之,ETL 可将数据转换为某一可用格式,以便数据进入数据仓库后便可立即对其进行分析/查询等。
元数据是指有关数据的数据。大致而言,它可对系统中存储的所有数据进行描述,以便其可供搜索。元数据的部分示例包括文章的作者、日期或位置、文件的创建日期、文件的大小等。您可把其想象成电子表格中某一列的标题。借助元数据,您便可组织数据以使其可供使用,从而可通过分析该数据来创建仪表板和报告。
SQL 是用于查询数据的实际标准语言。它是分析师用于从数据仓库中存储的数据内提取洞察的一种语言。通常,数据仓库拥有与计算紧密耦合的专有 SQL 查询处理技术。如此,便可在分析方面实现极高的性能。但需注意的一点是:拥有的数据与 SQL 计算资源越多,数据仓库的成本便会开始攀升。
数据层是指允许用户实际访问数据的访问层。它通常是指您可找到数据市场的一个位置。该层可根据您想授予访问权限的人员来划分数据段,以便在整个组织中实现非常精细的访问控制。例如,您可能不想为销售团队授予针对 HR 团队数据的访问权限,反之亦然。
这与数据层有关,因为您需要能对组织的所有数据提供精细的访问与安全策略。通常,数据仓库内置了出色的数据治理与安全功能,因此无需执行大量自定义数据工程工作即可具备这些功能。随着数据仓库数据量的增多以及公司的发展,制定数据治理与安全计划便非常重要。
虽然访问工具属于数据仓库的外部工具,但可将其视为业务用户友好型前端。在此,您可以找到报告与可视化工具,而数据分析师和业务用户可使用这些工具与数据进行交互、提取洞察并创建可供公司其他人员使用的可视化效果。此类工具的示例包括 Tableau、Looker 和 Qlik。
OLAP(在线分析处理)是一种软件,它可用于对来自统一、集中式数据存储(例如,数据仓库)的大量数据进行高速、多维分析。OLTP(联机事务处理)支持大量人员实时处理大量数据库事务,通常通过互联网处理。OLAP 与 OLTP 的主要区别在名称中有所体现:OLAP 本质上是分析性的,而 OLTP 则是事务性的。
OLAP 工具旨在对数据仓库中的数据(其中同时包含历史数据和事务数据)进行多维分析。OLAP 的常见用途包括数据挖掘和其他商业智能应用程序、复杂的分析计算和预测场景,以及业务报告功能(如财务分析、预算编制和预测规划)。
OLTP 旨在通过尽可能快速准确地处理最近的事务来支持面向事务的应用程序。OLTP 的常见用途包括 ATM、电子商务软件、信用卡支付处理、在线预订、预订系统和记录保存工具。
要深入了解这两种方法之间的区别,请查看“OLAP vs. OLTP: What's the Difference?(OLAP 与 OLTP:有何区别?)”
数据仓库中的架构是指在数据库或数据仓库中组织数据的方式。架构结构主要有两种类型:星型架构和雪花型架构,而它们会影响数据模型的设计。
星型架构:此架构由一个事实数据表组成,而该事实数据表可联接到多个非规范化维度表。此架构被视为最简单且最常见的一种架构,而其用户在查询时可享受到更快的速度。
雪花型架构:雪花型架构是数据仓库中的另一种组织结构,但其采用度较低。在此架构中,事实数据表会连接到多个规范化的维度表,而这些维度表均有子表。雪花型架构的用户可享受到较低水平的数据冗余性,但这会以查询性能作为代价。
数据市场是数据仓库的一个子集,其中包含特定于某一业务线或部门的数据。由于数据市场包含较少的数据,因此在处理更广泛的数据仓库数据集时可让某一部门或业务线更快地发现更为集中的洞察信息。
数据库主要用于快速查询和事务处理,而非分析。数据库通常会作为特定应用程序的集中数据存储,而数据仓库则可存储来自组织内任意数量(甚至全部)应用程序的数据。
数据库侧重于更新实时数据,而数据仓库的范围则更广;例如,捕获当前与历史数据以便进行预测分析、机器学习和其他高级分析。
云数据仓库是专门为在云中运行而构建的一种数据仓库,它作为一项托管服务提供给客户。过去五到七年间,随着越来越多公司开始使用云计算服务并致力于缩减其本地数据中心所占空间,于基云的数据仓库变得日趋流行。
借助云数据仓库,物理数据仓库基础结构则可由云公司进行管理。如此一来,客户便无需对硬件或软件进行前期投资,也不必管理或维护数据仓库解决方案。
企业可购买数据仓库许可证,然后在自己的内部基础设施上部署数据仓库。尽管此举通常比云数据仓库服务更为昂贵,但对政府实体、金融机构或希望加强控制其数据或需遵守严格的安全或数据隐私标准或法规的其他组织来说,却可能是其更好的选择。
数据仓库设备是指预先集成的一系列硬件和软件(CPU、存储、操作系统和数据仓库软件),而企业可将这类设备连接到其网络并开始照常使用。在前期成本、部署速度、易扩展性和数据管理控制方面,数据仓库设备介于云实施与本地实施之间。
数据仓库可为以下方面奠定基础:
随着公司开始存储更多数据并需要更高级的分析和更广泛的数据,数据仓库便会开始变得昂贵且不够灵活。如果要分析非结构化或半结构化数据,数据仓库将无法应对。我们发现越来越多公司开始转向湖仓一体架构,而它有助于解决上述问题。开放式湖仓一体允许您在开放且灵活的架构中运行仓库工作负载以处理各种数据。通过研究数据来获取业务洞察的数据科学家和工程师也可使用这些数据。湖仓一体并非一种紧密耦合式系统,而是更为灵活且可管理非结构化与半结构化数据,如照片、视频、IoT 数据等。
除报告与仪表板工作负载外,湖仓一体还可支持数据科学、ML 和 AI 工作负载。如果想从湖仓一体架构进行升级,开发一个开放式湖仓一体系统则是必经之路。