• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用 Microsoft SQL Server 2000 和 Windows 2000 Datacenter Server 实现分布式数…

发布: 2010-6-18 08:16 | 作者: 网络转载 | 来源: 领测软件测试编辑 | 查看: 245次 | 进入软件测试论坛讨论

领测软件测试网

活动管理工厂运行 SQL 存储过程大约需要 12 天的时间,同时对 ODS 派生的数据库应用业务规则和数据转换。

决策支持工厂执行完 SQL 代码之后,该工厂将使用 SQL Server 备份工具和共享驱动器资源,将它的数据库传输到两个不同的决策支持服务器。然后,每个决策支持服务器将还原包含在共享驱动器资源中的数据库,这将使数据集市可用于活动管理和报告目的。图 6 说明了该数据流。


图 6 Microsoft CRM 和 DSS 分布式数据仓库的物理结构和数据流

集成

分布式数据仓库集成了 30 多种不同的、来自公司内部和外部的数据馈送。这些数据馈送代表了美国客户与 Microsoft 建立联系的许多种不同方法,包括产品注册、新闻快递订阅、事件注册和更改地址。数据仓库将来自每个数据源的信息与单个客户和帐户以及单个名称和地址一一对应。

数据仓库还与内部业务系统(例如 MS Sales 和 World Wide Events 系统)进行集成。MS Sales 是包含分销商、零售商和客户销售相关信息的数据仓库。通过从 MS Sales 获得数据,分布式数据仓库可以提供有关公司赞助的活动如何影响购买决策的相关信息。集成 MSSales 目的是为了帮助决策者确定参加事件和订阅新闻快递是如何影响客户做出第二次或第三次购买决定的。通过从 World Wide Events 系统获取数据馈送,数据仓库得以维护有关客户注册到公司赞助事件的最新信息。

实施

实施数据仓库涉及到设计逻辑和物理结构、部署 SAN、安装 SQL Server 2000 和 Windows 2000 Datacenter Server,以及配置 Microsoft Cluster Service 和第三方提供的软件。目前,设计人员正在分阶段实施分布式数据仓库。他们在 1999 年 11 月和 2000 年 8 月分别完成了第 1 阶段和第 2 阶段的工作。编写本文时正在实施第 3 阶段。

第 1 阶段包括部署仓库的物理和逻辑基础结构,并开发决策支持的用户界面。在该阶段,设计小组将数据源限制为仅三或四个,以便限制数据仓库需要处理的数据量。

也是在第 1 阶段中,决策者开始看到数据仓库可能获得的信息种类,并开始在进入下一个实现阶段之前提供反馈。现在,大约 30 个分支机构是在第 1 阶段中所实现的功能的定期用户。

在第 2 阶段中,通过从大约 30 多个数据源添加数据,工程师显著扩展了数据仓库的规模。他们还实现了更健壮的数据处理和验证环境、Trillium 匹配环境和支持管理活动的数据工厂。

编写本文时,CRM 数据集市中的数据被限制为居住在美国的客户。DSS 数据集市包含美国客户的数据以及部分全球数据。工程师使用美国客户作为数据仓库的初始数据集合,因为它是所有 Microsoft 客户数据集合中最大的。同样,小组考虑到在开始合并其他地区的数据集合(这是现在正在进行的第 3 阶段的一部分)之前,它是进行压力测试的有效基础。

实施数据仓库还涉及到用 SQL 编写自定义的业务规则和算法,这是其中一个需要持续和专门的工作以使分布式仓库获得成功的实施领域。因此,本讨论将帮助读者了解有关实施领域,它们需要数据仓库设计小组使用 SQL 但不包括实际源代码。(注意,该讨论假设读者已经熟悉数据仓库术语、基本编程概念和关系数据库的构建。)

数据加载

在将粒度数据转变为适合于公司业务决策的信息的过程中,首先是将数据加载到操作数据存储 (ODS) 中。ODS 是基于 SQL Server 2000 的维度模型,它不是实体关系数据库 (ERD),并且采用星形构架格式。ODS 的作用是使输入文件均质化,以便以后生成报表。

数据将按照客户邮政代码,从超过 30 个不同的数据源加载到 ODS 中。它们包括产品注册卡、事件注册卡、客户调查、电子产品注册和由 Dun&Bradstreet 提供的某些其他数据(例如,当前邮件地址和任何合法名称更改的数据)。加载之后,每个数据源的数据将被映射到常用输入字段,然后经过验证、与仓库中现有记录进行匹配,然后使用编辑优先级进行存储。

最多可以并发运行 18 个 SQL 加载作业。必须并发运行作业,才能支持每天加载到 ODS 的记录数。

数据验证

数据验证的第一步是确认每个输入文件均包含适当的列数,并且每个列均正确地位于文件中。"Do Not Load" 标记用于标识那些应当从加载过程中排除的列。

所有被拒绝的记录均设置为能够手动审阅。在将每条记录加载到仓库中之前,要对每个电子邮件别名进行语法验证。

包含在每个地址中的州和省的代码则通过与存储的地理分类信息进行比较而得到验证。与该分类信息不符的值将会保留并作为自由文本加载。

自由文本字段将对照 "unacceptable values" 表进行比较。该过程用来检查由使用 Internet 的任何人所提供的自由文本数据。该过程还用来验证并确认自由文本是否适合于进行长期存储和生成报表。

标准化和匹配

当现有客户注册第二个或第三个产品时,数据仓库将使用标准化和匹配来使客户与数据库中某个已有项关联。为了支持特殊情况,数据仓库设计人员在 ODS 中实施了他们自己的匹配编码算法。

ODS 按国家/地区识别记录,而这些记录通过使用第三方软件实现标准化。一旦可以使用第三方软件,则可以将它用于进行地址匹配。某些情况下,在 ODS 中使用的是匹配编码技术。

对名称,例如“Bill”和“William”,进行标准化处理,以便当 Bill 和 William 是同一个人时,该情况会反映在数据仓库中。GEO 编码用于将邮政代码与给定的城镇、街道关联。GEO 编码功能由第三方软件提供。

有时候,地址记录会发送给美国邮政管理局,以确定地址是否已经更改。如果更改,将使用新地址。

大多数数据源的数据首先将经过匹配数据并删除任何重复的处理。下一步,数据被传递给第三方软件,对名称和地址进行标准化处理,以便在邮政代码丢失的情况下提供名称和地址。在客户名称与仓库中现有记录关联后,包含重复客户名称和地址的记录将加载到仓库中。数据通过标准化和匹配处理之后,将使用编辑优先级存储在 ODS 中。

标准化和匹配为 Microsoft CRM 和 DSS 数据仓库提供了许多重要的优点:

  • 它们帮助维护单个客户记录的唯一性。
  • 它们确保加载到数据仓库中的任何额外数据(例如,订阅、注册、事件参与)能够与正确的客户相匹配。
  • 它们帮助保持地址和电话号码准确并及时更新。

编辑优先级

编辑优先级是使用 SQL 开发的,用来按统计方式在字段级别对数据源进行分级,这对长期提高仓库中数据的准确性非常重要。每个数据源中的每个字段都会收到一个级别,指明包含在该字段中的数据的统计准确性。某些数据源提供非常准确的数据,而其他数据源提供的数据则不太准确。每个数据源都会提供一些唯一的信息,以及一些许多数据源共有的信息。系统将需要所有可用数据源的所有可用字段来建立反映每个客户的综合情况。

要判断哪些数据源中的哪些字段将提供能够反映每个客户的最准确情况的数据,编辑优先级解决了这一问题。例如,当每个字段中的数据保存到数据库时,将使用该字段记录数据源。通过记录为每个字段提供数据的数据源,编辑优先级将确定什么时候将不太准确的数据源提供的数据替换为更准确的数据源所提供的数据。如果需要,该方法还支持替换给定数据源所提供的所有数据。

数据仓库设计人员使用编辑优先级来生成帮助他们捕捉数据项错误(这在所有数据源中都是常见的)的统计结果,以便确定哪些数据源和字段更准确或不太准确。例如,一个数据源可能提供了过时的地址,而另一个数据源则可能无法反映最近的名称更改。因此,利用编辑优先级,仓库设计人员就可以确定最好使用第二个数据源的地址字段和第一个数据源的名称更改字段。

表 2 提供了如何使用编辑优先级的示例。字段 1、2、3、4 和 5 分别由数据源 1、3、2、3 和 1 提供。在该示例中,需要有三个数据源来提供数据的五个字段。字段 4 和 5 最初由包含低级别字段的数据源提供。利用编辑优先级,按照编辑优先级的定义,预期的结果是字段 4 和 5 中的数据将替换为包含更高级别字段的数据源的数据。

表 2 使用三个数据源的编辑优先级示例


字段 1
字段 2
字段 3
字段 4
字段 5
数据源 1

 

3

 

1

 

1

 

0

 

1

 

数据源 2

 

2

 

2

 

3

 

0

 

0

 

数据源 3

 

1

 

3

 

2

 

1

 

0

 

编辑优先级为 Microsoft CRM 和 DSS 数据仓库带来了很多重要优点:

  • 它通过消除一个或多个数据源从而节约了成本。
  • 它使字段级别的数据随着时间推移变得更可靠。
  • 它简化了将一个数据源的数据替换为另一个数据源的数据的过程。

主要记录类型

ODS 包含两个主要记录类型:基于个人的记录和基于组织的记录。基于个人的记录是指已经购买至少一个产品、参加至少一个事件或者订阅至少一个联机新闻快递的单个客户。基于个人的记录是由居住地址标识的,通常不包含组织名称。

基于个人的记录提供对多个电子邮件别名的支持,包括每个别名的数据源。家庭钥匙用于将单个客户都放在相同的物理位置。

基于组织的记录是指企业、公司、机构或部门。如果基于组织的记录按一定关系与基于个人的记录关联,则该记录将加载到仓库中。

电话号码与基于个人的记录关联,但不与基于组织的记录关联。数据供应商按周期提供新的电话和传真号码,以使它们及时得到更新。电话号码与现有的传真号码关联,以确保甚至在传真号码更改之后客户的首选项也会被保留下来。如果需要,可以设置一个标记,以将电话号码与公司的主办公室关联。抑制标记则包含每个客户的联系首选项。例如,可以设置一个标记来表示不要通过传真进行联系。

工厂处理

“工厂处理”是 Microsoft 内部使用的一个术语,应用于在多个计算机之间分布 ODS、业务规则应用程序和数据集市。工厂处理是由数据仓库设计小组使用 SQL 开发的自定义过程,它是 Microsoft 内部仓库特有的分布式性质。

工厂处理用于定期地从 ODS 提取数据,以便在通过生成新的数据集市发布经过提炼的非规范数据之前,执行转换、聚合、派生和分区。使用数据集市,决策者可以深入研究和分析单个客户的事物、生成报表并支持活动管理的活动。图 7 说明从 ODS 到工厂处理的数据流。


图 7 工厂处理的数据流

工厂处理为 Microsoft CRM 和 DSS 数据仓库带来了许多重要优点:

  • 它提供了将仓库扩展到 1 TB 以上的有效方法。
  • 它使服务器能够执行更专门化的处理。
  • 它简化了根据需要实施额外服务器的过程。

数据集市

数据集市是基于 SQL Server 2000 的数据库,经过优化可以有效地生成报表。工厂处理每周生成新的数据集市。数据集市提供了强大的决策支持和活动管理环境。

一旦数据集市已经生成,将使用内部开发的应用程序和第三方应用程序的组合,来获取数据并以图形方式将其显示在图形用户界面中。图形用户界面允许决策者清晰地查看数据并加以分析。例如,可以使用一个图形用户界面从四个数据集市获得数据,这将允许决策者“剥离”数据层,然后向所有的目标用户完全公开。这样做将使决策者能够更好地了解哪些产品、新闻快递和事件是不同目标用户的首选项。

仓库设计人员在数据集市中使用了四个透视系数,以使决策者更容易访问信息。这些透视系数是客户数据、产品注册、联机订阅和客户事件。

客户数据透视系数

客户数据透视系数按照地理、配置文件、兴趣和帐户活动,为决策者提供了单个客户和组织的综合情况。该透视系数提供包含交叉活动分析在内的复杂查询,包括对个人和组织的配置文件的分析。透视系数将根据正在使用哪些虚拟透视系数,计算个人和组织的数量。

两个虚拟透视系数基于客户数据透视系数:个人和组织。这些虚拟透视系数类似于基本客户数据透视系数,但虚拟透视系数可以根据指定数目的个人和组织生成报表,而基本透视系数不能。

图 8 说明事实数据表的一小部分以及数据集市的客户数据透视系数中的一些相关维度。


图 8 可供公司决策者使用的数据集市信息的示例

产品注册透视系数

产品注册透视系数将产品注册事务存储在基于时间的视图中。该透视系数的首要用途是确定单个客户长期的产品注册趋势。默认查询为财务月、分支机构、销售地点、产品名称和产品注册计数。

联机订阅透视系数

联机订阅透视系数将联机订阅事务存储在基于时间的视图中。该透视系数的首要用途是确定单个客户长期的联机订阅趋势。对于与新闻快递相关的活动,透视系数包含所有订阅和取消订阅活动,包括单个个人的多个订阅或取消订阅操作。

客户事件透视系数

客户事件透视系数将关于客户事件的活动信息存储在基于时间的视图中。该透视系数的首要用途是查看长期与特定事件联系的客户活动。该透视系数将计算个人邀请、注册、确认和事件参与的数量。

支持

本文下一节将详细说明由数据仓库小组用来监视和维护系统的一些比较重要的支持工具。

这些工具可以主动帮助收集某些信息,这样,如果问题发生则可以使用该信息找到潜在的原因,当问题发生时它们还会收集其他信息。主要支持工具包括 Windows 2000 性能监视器、Windows 2000 事件查看器、基于 SQL Server 的电子邮件、Windows 2000 终端服务和 SQL 代码。

Windows 2000 性能监视器

Windows 2000 性能监视器包含在 Windows 2000 Professional、Windows 2000 Advanced Server 和 Windows 2000 Datacenter Server 中,它用于找到由系统或软件组件所导致的性能瓶颈。性能监视器的输出结果以图形方式显示,并且支持同时查看多个系统组件和应用程序进程。性能监视器是操作小组用来确定进程或应用程序是否分配了太多内存或者使用了太多处理器时间的首要工具。

当需要调整系统性能时,由性能监视器提供的数据对于分析和操作小组具有相当高的价值。在 Microsoft,只有服务器管理员可以运行性能监视器,因为经验显示,当需要时该信息可以随时从一台计算机获得并在分析人员中间共享。经验还显示,通过限制用来同时查看性能数据的计算机的数量,可以略微提高性能。在 Microsoft,该数字很少超过五。

从使用性能监视器开始来启动性能分析有很多理由,其中主要的原因是重要的处理过程开始时需要使用比过去更多的时间来完成。某个小组做出启动性能分析的决定,并负责在几台专门用于该用途的计算机上收集性能数据。按照科学的方法所收集的数据有多有少,并且在运行怀疑过程时进行收集。管理员将添加所有性能计数器(除了用于网段的计数器),并将结果以日志的方式记录在磁盘上,保留时间为 48 到 72 个小时。然后,他们将日志文件传递给分析性能数据的分析支持人员。

性能监视器还用于利用内存、CPU 和磁盘计数器系统地覆盖性能计数器,目的是为了确定可能导致特定性能问题的进程。根据分析结果,通过添加更多硬件、调整 SQL 作业的时间设置或者将资源密集型进程移动到另一个服务器上,通常即可解决性能问题。

事件查看器

通常,SQL Server 2000 和 Windows 2000 Datacenter Server 会将事件消息写入每个服务器上的应用程序日志和事件日志中,而事件查看器则基于这些事件消息显示相应的信息。每个事件消息都有相应的 ID,使用该 ID 可以确定很多常见问题的性质和严重程度,例如磁盘已满、硬件设备故障或者进程耗尽内存。通过事件查看器,数据库管理员 (DBA) 可以使用事件 ID 搜索 Microsoft Knowledge Base(http://search.support.microsoft.com/kb/c.asp?ln=en-us),以便更详细了解产生特定问题的可能原因。

基于 SQL Server 的电子邮件

在 Microsoft CRM 和 DSS 数据仓库中,操作小组依靠基于 SQL Server 的电子邮件来跟踪 SQL Server 2000 活动情况。基于 SQL Server 的电子邮件被配置为定期地将通知发送给生产小组,使他们能够对系统内部情况有所了解。

问题需要立即处理时,基于 SQL Server 的电子邮件还可用来自动呼叫生产支持小组中的某个成员。从代码位置(该位置保证用电子邮件联络生产小组)用程序调用扩展 SQL 存储过程 XP_SendMail,数据仓库以此方式启动基于 SQL Server 的电子邮件。

Windows 2000 终端服务

操作小组的成员使用 Windows 2000 终端服务(它是 Windows 2000 Datacenter Server 的一部分)来进行远程操作。利用终端服务,任何位置上的操作人员都可以像正在系统控制台一样,安装和配置 SQL Server 2000 以及排除有关故障。

SQL

ODS、工厂和数据集市服务器所使用的许多过程都是使用 SQL 开发的。在每个过程中,设计小组都使用了诊断代码,这些代码可以用来连续跟踪信息,帮助仓库操作人员确定仓库内部的当前情况。各种信息(例如,进程识别号和完成每个存储过程的所需时间)将连续写入基于 SQL 的表中,以便用于生成报表。可以随时查看包含在表中的信息,以便从 SQL 角度确定系统当前的运行情况。所记录的信息使得开发人员能够观察一段时间后的性能,并计划增加额外的容量。

最好的做法是,将 SQL 进程中所生成的消息记录到文件中,因为很多作业会需要很长的运行时间。这些作业将连续生成通知消息,经验显示,将这些消息记录到文件中可以有助于确保显示长度将不会被超过。

支持群集资源

在类似分布式数据仓库的系统中,时间设置是数据流的关键因素,因此了解如何支持群集资源是非常重要的。在仓库中,七台服务器群集在一起以便共享磁盘资源。这七台服务器中的每一台均有自己的本地存储器,还有由 Microsoft Cluster Service 和 SAN 创建的全局存储器。如果服务器需要从全局存储器读取数据,则服务器将请求包含数据的群集磁盘资源。如果服务器需要将数据写入全局存储器,则服务器请求要将数据写入其中的群集磁盘资源。

数据仓库设计人员实施数据仓库以便来自 SQL Server 2000 的共享磁盘资源请求可以使用 SQL。当服务器执行 SQL 代码时,代码中有一行指令 Microsoft Cluster Service 为该服务器分配磁盘资源的语句,但该语句将在最后执行。

这种实施方法并不是由数据仓库设计人员首先提出来的。一开始,他们尝试通过调用多个服务器上的 cluster.exe 来分配磁盘资源。但该方法效果不好,因为它意味着要将共享的驱动器资源从服务器中取走,而同时 SQL Server 正在从中读取数据或向它们写入数据。因此,生产支持小组介入工作后,通过使用 SQL 语句开发出共享的驱动器接口,从而解决了该问题。驱动器接口被用作锁定机制,以便共享的磁盘资源不会脱离正在使用它们的服务器。需要共享驱动器资源的服务器将调用该驱动器接口代码,然后转入 SQL 等待循环,直到故障转移应用到该驱动器。

通过将该信息记录在表中,驱动器接口代码将跟踪共享的磁盘资源。驱动器接口代码是调用 cluster.exe 的唯一位置。使用仓库中共享磁盘资源的所有服务器都通过该公共接口执行调用。

安全

系统实施了严格的安全措施来确保 CRM 和 DSS 数据仓库中客户数据的机密性。安全措施包括(但不限于)保护数据仓库的物理硬件以及计算、网络和软件组件。为了保护客户数据的机密性而设置的工作程序也得到严格执行。

对物理硬件的访问受服务器的放置场地限制,并且受获得合适密钥卡和培训的可信任人员的人数限制。设备每天 24 小时每周 7 天均受到录像监视。限制网络访问的方法是,将网络与 Internet 隔离并且用户在登录到网络前需要 Active Directory™ 服务身份验证。仓库中的每个服务器均使它的文件系统受到访问控制列表 (ACL) 的控制,以确保先要由 Active Directory 做进一步身份验证,然后才能访问文件系统。

SQL Server 2000 Enterprise Edition 保护每个数据库中的客户数据的方法是,要求内部 CRM 仓库用户获得特殊的帐户,并且使用 Active Directory 对这些帐户进行身份验证。

按照 CRM 仓库的设计,决策者通过数据集市来访问客户数据。根据每个决策者的工作范围限制他们对数据集市中敏感数据的访问。例如,不需要进行管理活动的决策者只有一定的访问权限,这样他们只能执行分析而不能实际获取包含客户名称和地址的列表。

建立小组

为规划和实施 Microsoft CRM 和 DSS 分布式数据仓库,公司根据个人在六个独立领域所掌握的知识和技能,建立一个关系平等的工作小组,这六个领域是:存储工程、生产管理、程序管理、设计、测试和生产支持。图 9 说明了参加设计、实施和部署分布式 CRM 和 DSS 仓库的小组。

crmdss9

图 9 负责部署数据仓库的小组

存储工程

要求。该项目需要能够设计和实施大型 SAN 的存储工程专家。他们要求能够部署后端设备,使设计人员能够将数据仓库扩展到极大比例。存储工程师还要能够为其他小组成员提供有关建议,帮助他们有效地支持使用 Microsoft Cluster Service 的环境。

人员。两个存储工程师加入小组,并带来他们在逻辑单元数 (LUN) 隐蔽方法、存储区联网、硬件基准设定和 Windows 2000 Datacenter Server 方面的专业知识。

生产管理

要求。项目需要完全了解业务要求并帮助确保仓库以后达到公司目标的人员。这些人员需要能够面对公司决策者,并获得他们认为非常重要的信息要求。

在寻找能够担任产品经理的人选时,公司领导寻找有能力详细说明复杂的业务过程流、确定数据源和技术结构、并制作和完成相关技术说明的人员。产品经理还应当拥有 Microsoft 产品经验,包括 SQL Server 2000、Windows 2000 Advanced Server 和 Microsoft Office。

人员。符合上述要求的几个人选作为产品经理加入小组,帮助推动重大计划的实施。通过确定产品的特性和功能以及收集和分析业务要求和产品战略,使注重结果的技术专业人员得到启发。他们还负责委派工作任务、主动将要求融入到产品规划过程中、收集用户反馈并推动仓库设计的工作。

程序管理

要求。项目需要的人员能够根据复杂的仓库设计及部署的要求,按照正常进度表和包含数百个不同步骤的项目计划来执行工作。这些人员需要随时跟踪所有项目相互依赖关系,并把业务要求诠释为功能规范、过程流和数据模型。

在寻找能够担任程序经理的人选时,项目领导寻找在信息技术方面具有五年管理经验、提供技术支持并能够同时执行协助和管理任务方面的人员。他们还要寻找具有客户端/服务器计算知识、优秀的书面及口头表达能力并且熟悉 Microsoft 产品(包括 SQL Server 和 Windows 2000 Datacenter Server)的人员。

人员。符合条件的几个人作为程序经理加入到小组中,他们帮助确定了开发时间期限、分析业务要求、制定帐户管理策略并管理跨部门的小组,以实现共同目标。这些人员通过与内部小组合作设计、开发和实施数据仓库,帮助推动项目进行。在管理小组成员之间的关系并建立强大的团队组织的同时,他们通过交流业务问题、可选方法和项目策略,为不同的工作小组提供意见。

设计

要求。在寻找负责处理数据仓库的设计的人选时,项目领导需要关系型星形构架、加速表和聚合方面的专家,并且候选人能够使用 SQL 实施高度有效的代码。

人员。仓库设计人员是小组中目前最了解技术的人员。他们遵循规范设计出维护方便的代码,同时擅长在时间压力下开发出中度到高度风险的业务解决方案。他们负责按照项目目标和要求成功完成项目,并且能够向其他小组成员解释设计要求、功能集和功能。

这些人员拥有很强的书面和口头交流技能、出色的技术能力、对软件开发过程的深入了解、以及与程序经理、测试人员和生产支持人员密切合作的能力。此外,他们曾经广泛使用过 Microsoft SQL Server,有关系型和逻辑型数据库设计、SQL 编码和性能调整的经验,并且懂得 COM+/DNA、OLE、XML/XSL、MTS、Visual Basic® Scripting Edition (VBScript)、JScript® 开发软件、Visual Basic、DHTML、ASP、ADO 以及 Internet Information Service(Windows 2000 Server 中的 Web 服务器)。

测试

要求。要确保所有功能都不会造成数据仓库不稳定,项目领导需要有足够的测试人员,在开发每个新组件的同时对其进行测试。测试人员需要精通数据仓库的各个方面,并保证项目“零缺陷”。他们需要以非常严格的方式分析和复现可能影响仓库稳定性的任何问题,以便仓库设计小组能够快速解决这些问题。

人员。测试人员要与设计人员密切合作,以防止出现问题并使产品更能经受测试。通过分析规范并编写测试仓库、用户界面和数据库功能的自动脚本,他们定义和执行测试步骤。测试人员还拥有出色的测试技能、对软件开发和 SQL Server 的深入理解以及分析Active Server Pages 和 SQL 中代码更改的能力。

生产支持

要求。项目需要负责为正在进行中的日常生产提供支持的人员,确保简单的问题在可能对数据仓库总体产生负面影响之前得到及时解决。其他需要的重要技能是能够排除故障、能够根据有限信息快速解决问题、以及能够开发专门用于数据仓库支持的监控技术。

人员。对数据仓库提供生产支持的人员广泛熟悉 Microsoft 产品,包括 Windows 2000 Datacenter Server、Windows 2000 Advanced Server 及其 Web 服务器 (Internet Information Service) 和 SQL Server 2000。他们一般能够用 VBScript、JScript 和/或 Windows NT® Batch 开发命令行脚本。他们还了解 SQL 优化和编码技术;熟悉 C++、网络基础和系统调整及时间设置;并且是故障排除专家。

生产支持人员还要与网络工程师、存储工程师、开发人员、测试人员、程序经理以及包括数据库管理员在内的操作小组密切合作。他们拥有管理和解决问题的技能,并且具有迅速掌握新技术的能力。

经验教训

在确定 Microsoft CRM 和 DSS 数据仓库获得成功之前,负责设计、部署和支持该仓库的小组遇到了许多问题和挑战。下面是一些主要的经验教训:

实际需要归档的记录很少。一开始,设计人员相信数据归档会是仓库设计的一个重要方面。随后他们发现,实际上只有少量的记录需要归档,并且处理这些记录的最好方法是利用数据抑制。

最好使用 Unicode。设计人员现在相信,他们应当在原始设计中更好地使用 Unicode。他们相信,假如在整个设计中广泛实施了 Unicode 支持,现在他们可能发现支持多个代码页会更容易。

在计算机之间复制数据库缺少伸缩性。一开始,生产支持小组在计算机之间复制 SQL Server 数据库,以便几个运行 SQL Server 的计算机会共享某些数据。但随后他们发现,在网上复制数据库占用太长的时间,而使用 SAN是在计算机之间共享数据的更好方法。使用 SAN,数据将以最高每秒 100 MB 的速度通过光纤通道和硬件主干道直接写入磁盘。使用 SAN 在服务器之间移动数据,可以将在服务器之间传输数据需要的时间从三天多减少到仅几个小时。

时间设置对于保持数据移动很重要。在实施初期,生产支持小组担心,当试图使用共享磁盘资源来共享数据时,群集磁盘争用可能导致问题。为了消除这一顾虑,小组成员开发了一个 SQL 进程,它通过提供这些资源公共接口来跟踪和管理共享磁盘资源的分配情况。在该进程的帮助下,要求访问共享磁盘资源的服务器只要调用该公共接口即可获得该资源。要求访问共享卷的服务器将把请求提交给自定义的应用程序,然后转入 SQL 等待循环,直到故障转移应用到驱动器。公共接口可以防止仓库中的服务器从另一台正在将数据写入驱动器的服务器那里移走共享驱动器阵列。

存储工程是一项必要工作。很多年以前,ITG 并没有自己的专业存储工程师小组。现在,存储工程师必不可少,并定期部署基于 SAN 的解决方案,以便跟上公司不断增长的信息要求。

结论

小型、中型和大型公司的决策者都同样地要依赖于某种形式的准确和及时的信息,这些信息的形式能够使他们保持或重新获得处理业务的敏捷性。他们必须快速拥有所需信息,才能顺利调整他们的业务过程,以响应不断变化的市场条件,才能了解客户要求,管理并培育有价值的客户关系。

Microsoft 已经设计和部署了分布式数据仓库,目的是要获得对客户更全面的了解,并以此提高客户的满意度和忠诚度。通过在本文中介绍 Microsoft CRM 和 DSS 数据仓库的项目,ITG 希望它的有类似目的的客户能够获得一个参考范例。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网