数据集成的工作原理

作者:乔纳森·斯特里克兰  | 
Information moving through internet searches
数据集成
约翰·布鲁尔,iStockphoto

对于普通人来说,信息技术(IT)可能是一个神秘的领域,充斥着难以理解的编程语言和昂贵的硬件。然而,尽管一些IT术语听起来像外语,但对于企业和组织的决策者来说,理解IT世界至关重要。其中最重要的IT概念之一就是数据集成

从表面上看,数据集成可能听起来是一个足够简单的想法。由于许多组织将信息存储在多个数据库中,因此它们需要一种方法来从不同来源检索数据并以统一的方式进行整合。

广告

实际上,数据集成解决方案是复杂的。数据集成没有一种通用的方法,许多IT专家使用的技术仍在不断发展。根据组织的具体需求,一种数据集成工具可能比另一种更适合该组织。

那么,数据集成的基本原理是什么?让我们深入了解一下!

广告

数据集成如何工作?

Results from a sales database
这张简单的表格显示了客户购买记录。
十万个为什么.com

数据集成主要侧重于数据库。数据库是数据的有组织集合。它类似于文件系统,后者是文件的组织结构,以便于查找、访问和操作文件。

数据库有不同的分类方式。有些人喜欢根据数据库存储的数据类型对其进行分类。例如,如果数据库中存储的所有信息都包含在视频或音频文件中,您可能会将其归类为媒体数据库。

广告

另一种分类方法着眼于数据库如何组织数据。数据库的组织排列称为模式。一种常见的组织技术是使用表格来显示不同数据点之间的关系。表格类似于电子表格。列定义数据类别,而行是记录。采用这种方法的数据库是关系型数据库

面向对象编程(OOP)数据库采用不同的数据组织方法。OOP语言不同于传统的编程方法,后者遵循将数据插入一组指令然后产生输出的模式。OOP语言转而侧重于将数据定义为对象,然后确定不同对象之间如何关联和交互。

要创建一个OOP数据库,首先要定义计划存储在数据库中的所有对象。然后,定义每个对象与数据库中其他对象的关系方式。识别对象后,将其放入一个类(即一组对象)中。要定义一个类,必须确定该类中的每个对象必须包含哪些数据,以及哪些称为方法的逻辑序列将影响这些对象。系统中的对象可以通过称为消息的接口与您或其他对象进行通信。

用一个例子会更容易理解。假设您正在构建一个包含美国体育信息的数据库。您决定从定义棒球队开始。一旦创建了棒球队的定义,就可以将其概括为数据库中的一个类。亚特兰大勇士队将是该类的一个特定实例,也称为一个对象。棒球队的类属于美国运动队的一个超类,其中还包括其他类,例如橄榄球队和足球队。

要访问数据库中的信息(无论它如何组织数据),您可以使用查询。查询只是一个信息请求。人员和应用程序可以向数据库提交查询。数据库通过发送符合原始请求参数的数据来响应查询。查询依赖于特殊的计算机语言,例如结构化查询语言(SQL)。如果您曾经使用过互联网搜索引擎,那么您就已经提交了一个查询——您的搜索词。

数据库通过创建数据视图来响应查询。视图是显示数据的一种特定方式。在数据集成系统中,返回的视图仅显示与原始查询直接相关的数据。在我们表格的例子中,如果您提交一个查询,要求显示所有购买产品价值超过100美元的客户,您将得到以下结果:­

Results of which customers purchased more than $100 in products
此视图仅显示与查询“购买产品价值超过100美元的客户”相关的数据。
十万个为什么.com

此视图仅显示与查询“购买产品价值超过100美元的客户”相关的数据。请注意,它不显示购买了何种产品,也不显示购买产品价值低于100美元的客户。

数据集成有哪些不同的方法?我们接下来会深入探讨。

广告

数据集成工具

根据前一节的内容,您可能会认为数据库相当复杂。这是一个合理的假设,它也有助于解释为什么数据集成作为一个学科仍在发展,尽管它已经存在了几十年。数据集成的目标是从不同来源收集数据,将其组合并以一种看起来统一的整体方式呈现。然而,这个过程的成功在很大程度上取决于数据质量,因为劣质数据可能导致不准确的结论或见解。

假设您即将出差,并且想在决定出城路线之前了解交通状况。以下是不同的数据集成方法将如何处理您的查询。

广告

手动集成方法会将所有工作留给您。首先,您必须知道在哪里查找您的数据。您需要知道交通报告和您所在城镇地图的物理位置。您需要直接从各自的数据库中检索交通报告和地图数据,然后将这两组数据进行比较,以找出最佳的出城路线。

如果您使用通用用户界面方法,工作量会少一些。您将使用诸如互联网之类的界面进行查询。查询结果将作为视图显示在界面上。您仍然需要将交通报告与地图进行比较以确定最佳路线,但至少界面会负责定位和检索数据。

一些集成方法依赖应用程序为您完成所有工作。这些应用程序通常被称为数据集成工具,是专门设计用于为您定位、检索和集成信息的程序。数据科学家通常开发这些应用程序,以确保数据集成过程顺利运行并提供准确的结果。

在集成过程中,应用程序必须处理数据,以便一个来源的信息与另一个来源的信息兼容。在我们的例子中,这意味着您将向应用程序提交一个查询,它将呈现一个将您城镇地图与交通报告数据结合起来的视图。这种方法的问题在于,随着数据源和格式数量的增加,应用程序会变得复杂且难以编程。

还有一种常见的数据存储方法,也称为数据仓库。使用这种方法,您打算集成的各种数据库中的所有数据都会被提取、转换和加载。这意味着数据仓库首先从各种数据源中拉取所有数据。然后,数据仓库将所有数据转换为通用格式,以便一套数据与另一套数据兼容。然后它将这些新数据加载到自己的数据库中。当您提交查询时,数据仓库会定位数据,检索它并以集成视图的形式呈现给您。

以上述例子来说,数据仓库会找到它所拥有的关于交通报告和您城镇地图的最新信息。然后它会将两者整合,并将视图发送回给您。这种系统有几个优点和缺点,我们将在下一节中探讨。

大多数数据集成系统设计者都认为最终目标是尽可能减少最终用户的工作量,因此他们倾向于关注应用程序和数据仓库技术。

数据仓库究竟是做什么的?接下来揭晓!

广告

数据仓库

正如我们之前看到的,数据仓库是一个使用通用格式存储来自其他数据库信息的数据库。这是描述数据仓库时能做到的最具体描述。目前没有统一的定义规定数据仓库是什么或设计者应如何构建它们。因此,创建数据仓库有几种不同的方法,一个数据仓库可能与另一个数据仓库的外观和行为截然不同。

一般来说,对数据仓库的查询解决时间非常短。这是因为数据仓库已经完成了提取、转换和组合数据的主要工作。数据仓库的用户端被称为前端,因此从前端的角度来看,数据仓储是获取集成数据的一种高效方式。

广告

从后端角度来看,情况则不同。数据库管理员必须对数据仓库系统进行大量思考,以使其有效且高效。将从不同来源收集的数据转换为通用格式可能特别困难。该系统需要一种一致的方法来描述和编码数据。

仓库必须有一个足够大的数据库,以存储从多个来源收集的数据。一些数据仓库包括一个额外的步骤,称为数据市场。数据仓库负责聚合数据,而数据市场通过从仓库中检索和组合适当的数据来响应用户查询。

数据仓库的一个问题是其中的信息并非总是最新的。这是因为数据仓库的工作方式——它们定期从其他数据库中提取信息。如果这些数据库中的数据在提取之间发生变化,则对数据仓库的查询将无法获得最新和最准确的视图。如果系统中的数据很少更改,这不是什么大问题。但是,对于其他应用程序来说,这就有问题了。

回到我们之前的交通报告和地图的例子,您会明白这会是一个问题。虽然城镇地图可能不需要频繁更新,但交通状况在相对较短的时间内会发生巨大变化。数据仓库可能不会非常频繁地提取数据,这意味着时间敏感的信息可能不可靠。对于这类应用程序,最好采用不同的数据集成方法。

数据仓库的替代方案是什么?让我们来看看!

广告

联网数据库

对于依赖频繁变化信息的数据集成系统,数据仓库方法并不理想。在这些情况下,数据虚拟化可以通过允许在无需物理集成的情况下访问来自不同源的数据,从而提供更灵活的方法。其他替代方案,例如流数据集成或实时数据处理,也为需要管理快速变化信息的组织提供了解决方案。

IT专家解决信息频繁变化问题的一种方法是设计直接从单个数据源拉取数据的系统。由于没有专门用于分析、分类和集成数据以准备用户查询的集中式数据库,因此这些职责就落在了系统的其他部分。

广告

IT专家根据模式定义数据集成系统。从处理后的查询生成的统一视图是全局模式。各种数据源的结构以及它们之间的相互关系是源模式。全局模式和源模式相互关联的方式称为映射。将源模式视为系统中所有数据的蓝图,而全局模式是响应查询而呈现的视图的蓝图。

数据集成系统中解析查询主要有两种方法:全局视图(global-as-view)和本地视图(local-as-view)。每种方法都侧重于整个系统的特定部分,并各有优缺点。

在全局视图方法中,重点是全局模式。只要数据源保持一致,全局视图方法就能很好地工作。更改全局模式的设置很容易。这意味着以不同方式分析相同的整体数据集并不困难。但是,向系统中添加或删除数据源会带来问题,因为它会影响整个系统的数据。

本地视图技术则采用相反的方法。它侧重于数据源。只要全局模式保持不变,就可以轻松地向系统中添加或删除数据源。该模式会在新的数据源中查找相同类型的数据和关系。在这种方法中,更改全局模式的参数很困难。如果您想以新的方式分析数据源,则必须重新定义整个系统。

这就是数据集成的情况。下次当您查看天气图或调出筛选后的数据时,您将更加了解幕后使这一切成为可能的一系列复杂过程。

我们结合AI技术更新了本文,并确保其经过十万个为什么编辑的事实核查和编辑。

广告

常见问题

数据集成过程是什么?
数据集成是将来自多个来源的数据合并以创建统一视图的过程。它通常涉及从各种来源提取数据,将数据转换为通用格式,并将其加载到目标位置,例如用于报告和分析的数据仓库或集成系统。
数据集成目的是什么?
数据集成目的是创建来自多个来源的统一、整合的数据视图。此视图可用于报告、商业智能和分析,帮助组织做出明智决策并提高运营效率。

广告

加载中...