|
将公共数据转化为有意义的、可用的信息是现今商业世界中最重要的竞争优势来源了。将数据显示得更易于理解以及找到未来的方向已经变成全球企业的企业信息技术部门最大的挑战之一了。有三个与数据集成相关的大分类: 技术挑战 公司问题 经济挑战 在这篇文章里,我们将详细地探讨这些挑战,并讨论怎样使用Microsoft SQL Server 2008集成服务(SSIS)来解决它们。首先,你应该在真实环境中查看下这些问题。 1.1 一个真实场景 一个大型的全球运输公司使用它的数据仓库来分析它操作的性能以及来预测它预定运输的可能变化。 1.2 数据源 公司的主要数据来源包括从它的基于DB2订单登陆系统而来得的订单数据、从它基于SQL Server的客户关系管理系统(CRM)而来的客户数据、以及从它基于Oracle的ERP系统而来的零售数据。除了从这些主要系统而来的数据之外,你可以将跟踪“特别”事件的电子数据表数据合并到数据仓库里,这些数据是由船运管理员手动输入的。目前,你可以合并延时地从多种来源的文本文件获得的外部数据,例如天气信息、交通状况、和销售细节(对于转包合同的运输)。 1.3 数据消耗 不只是这些数据来源不同,消费者在他们的需求和地理位置方面也是不同的。这个多样性导致了本地系统的扩张。信息技术部门的一个主要作用是至少为它的客户数据建立一个“真实的单一版本”。 1.4 数据集成要求 由于数据、商业需求和用户要求的多样性,信息技术部门制定了下面的数据集成要求: 它们必须提供从内部和外部数据源集成获得的可靠而一致的历史和最新数据。 为了降低数据获取方面的延迟,从供应商和零售商处获得的数据必须可以通过Web services 或一些其它的直接机制——例如FTP——来获得。 它们需要清理和删除重复数据,否则就加强数据质量。 逐渐增加的全球调整性 某一层面上,在我们实际场景中数据集成的问题是非常简单的。从多个数据源获取数据、清理和转化数据、并将这些数据加载进适当的数据存储以用于分析和生成报表。不幸的是,在一个典型的数据仓库或商业智能项目中,企业在数据集成方面花费了60–80%的可用资源。为什么它这么困难呢 2.1 技术挑战 技术挑战始于源系统。我们正从在事务上收集数据(用户提交以获得、购买或获取某些东西)转移到在事务之前收集数据(使用像Web点击或RFID标签之类的机制跟踪客户意愿)。现在数据不只是通过传统的源和格式获得——例如数据库和文本文件,还逐渐地可从多种不同的格式(从私有文件到Microsoft Office文档到基于XML文档)以及从基于网络来源——例如Web services和RSS流中获得。最相关的挑战是: 不同格式的多种来源。 结构化的,半结构化的,以及非结构化的数据。 从不同来源系统而来的数据到达的时间不同。 数据量巨大。 在理想情况下,不管你怎样管理以获得一次所需的所有数据,都会要面临新的挑战,包括: 数据质量。 使用不同的数据格式。 将数据转换为业务分析可用的格式。 假设你可以神奇地获得你需要的所有数据,并且你可以将这些数据清理、转化并匹配成一个有用的格式。还有另一种从传统数据移动和集成的方法。那就是从固定长度的面向批量处理转到可变长度和更短的按需处理。大多数公司在用户没有对系统有大需求的“当机”期间执行面向批量处理。这通常是在晚上认为没有人在办公室的时候,执行一个预定义的批量窗口,大概要6-8小时。随着全球商业的规模和类型的不断增加,这不再成为可能了。现在全球有些地方几乎没有当机时间,而且办公室里总是有人。 所以你需要: 要尽快将数据加载的要求越来越高。 需要同时加载多目的地。 多样的目的地。 你不只需要实现所有这些结果,你还需要尽快地完成。在某些极端情况下,例如在线业务,你必须连续地集成数据。它没有真正的批量窗口,而且延迟时间不能超过几分钟。在许多这样的情况下,制定决策过程就会自动地使用连续运行的软件。 可扩展性和性能变得越来越重要,因为你面临着不能容忍任何当机的商业需求。 没有正确的技术,系统要求几乎存储进仓库和集成过程中的每一步都要分级。因为不同的数据源需要包含进提取、转换和加载(ETL)过程中,而且更复杂的操作(例如数据和文本挖掘)需要执行于数据,所以数据分级的要求越来越高了。正如图1中所显示的,随着分级的增加,“结束循环”(例如分析、对新数据执行操作)所耗费的时间也随之增加了。这些传统的ELT架构(相对于在加载之前进行的增值ETL处理)极大限制了系统响应不断出现的商业需求。
最后,当你需要应用程序集成的实时事务型技术以及面向批处理的大型数据集成技术来解决企业的商业问题时,关于数据集成是怎样紧密地绑定到公司的整个集成架构中去的问题就更为重要了。 2.2 公司挑战 在大型公司里,数据集成有两个大问题,就是“力量”挑战以及“舒适区域”挑战。 2.2.1 力量挑战 数据就是力量,并且通常很难使人们将数据看作公司的真实有价共享资产。要成功地进行企业数据集成,那么所有的多数据源所有者必须了解这个项目的目的和发展方向。缺乏相关部分的协作是数据集成项目失败的一个主要原因。行政赞助、构建共识和具有几个资金管理人的强大数据集成团队是可以帮助解决问题的一些成功关键因素。
|
2.2.2 舒适区域挑战
当你以多种方式分析一个单独需求的上下文时,你可以解决数据集成方面的挑战。手写代码实现大约60%的数据集成。解决类似问题所使用的技术从复制、ETL、SQL,到企业应用程序集成(EAI)。人们倾向于使用他们所熟悉的技术。尽管这些方法具有重叠的功能并可能在单独的情况下进行这个工作,但这些技术被优化以用于解决不同的问题。当试图解决企业数据集成问题时,缺乏一个选择了适当技术的可靠架构可能是失败的原因。
2.3 经济挑战
之前提到的公司和技术相关问题一起使得数据集成成为所有数据仓库/商业智能项目的最昂贵部分。增加数据集成成本的主要因素有:
将数据转换为数据集成所需要的格式是一个与公司能力相关的缓慢而痛苦的过程。
清理数据和将数据从多数据源匹配到一个一致的、有意义的格式是极其困难的。
标准数据集成工具往往不提供足够的功能或可扩展性来满足项目对数据转换的要求。这可能导致要花费大量的咨询成本来开发特殊的ETL代码以使得工作得以完成。
公司的不同部门只能关注到局部的数据集成问题。
当需要将它们集合到一起时,需要花费额外的努力将这些成就集成到一个企业级的数据集成架构中。
因为公司的数据仓储和商业智能需要不断发展,不完善的数据集成架构变得越来越难以操纵,并且公司花费的总成本越来越高。
3. SQL Server 2008集成服务
传统的从标准数据源进行的ETL为中心的数据集成仍然是大多数数据仓库的中心。然而,要包括更多样数据源、调整要求以及全球和在线操作的需求在快速地改变传统的数据集成要求。在这个快速发展和改变的前景下,从数据提取值的需求以及可以依赖于它的需求变得比之前任何时候都重要。高效的数据集成成为了高效率决策制定的基础。SQL Server 集成服务提供了一个灵活的、快速的、和可扩展的架构,它使得可以在当前的商业环境中进行高效的数据集成。
在本篇文章里,我们将看看SQL Server 集成服务(SSIS)对于传统的ETL操作需求和一般目的
