SQL Server 2008 案例之微软IT部门


“经过测试我们发现SQL Server 2008当中的备份压缩功能可以1-3倍的压缩比,从而极大的减少备份所需的磁盘空间。”Alexey Yeltsov, 微软系统管理员主管。

微软在全世界共有6万多名员工,在2006年的财政收入超过了500亿美金,与此同时也产生了大量内部数据,公司希望对这些数据进行集中以便提供客户的集成化视图。为了完成该任务,微软的IT 部门采用微软应用程序平台,利用Microsoft SQL Server? 2008来创建企业级数据仓库(EDW),并将其运行在Windows Server? 2008 企业版操作系统之上。EDW 中的数据量已经达到了2.5TB 并且在部署后的12个月内预计将达到10TB,从而帮助公司更好的了解客户
IT 部门发现利用SQL Server 2008的备份压缩功能,可以节约1/3的备份存储空间。微软公司同时还享受到了SQL Server 2008中简化的数据管理功能。

情况
微软公司在全世界89个国家均有办公室,是世界上最大的软件公司,2006年的财政收入超过了500亿美金。如同其它大型企业一样,该公司需要数据存储库来更好的跟踪其业务并分析客户需求。

微软公司的员工数量超过了6万名,并且已经拥有了数据仓库、数据市场、以及其它存储库在公司内部来支持报表和分析以及其它功能,例如FeedStore 数据库 — 如此命名是因为它可以从39个内部源中获得数据并将这些数据发送给500个用于订阅的内部应用程序。
微软的IT 部门需要创建集中化的数据存储库来从CRM系统、财务应用程序、以及一系列其它数据源中获取信息,从而创建企业级数据仓库(EDW)

“我们需要企业级的数据仓库来真正的将客户同公司其它数据仓库及存储库中的财务数据集成到一起。,”微软IT 部门商业智能总经理Jim Walch解释道,“利用微软应用程序平台来创建EDW 是我们为客户提供整个企业信息一致性视图的唯一选择。微软IT 部门的EDW 创建了一个完美的平台,可以让我们的用户利用QL Server? Reporting Services, SQL Server Analysis Services, Performance Point Server, 以及Office Excel等工具来分析数据。”

解决方案
公司采用Microsoft SQL Server 2008 企业版作为数据库软件,并采用Windows Server? 2008企业版作为操作系统,构建了企业级数据仓库。公司需要坚固的数据库来支持2.5TB的数据并在部署后的12个月内能够成功扩展到10TB。

EDW 中包括来自FeedStore 数据库中的数据,同时从一系列其它数据源中添加信息,这些数据源包括Microsoft Accounting Reporting System(用于构建微软财务状况的数据仓库),以及Resource & Project Management 数据库(用于存储资源分配和管理相关的信息)。

微软IT 部门希望采用SQL Server 2008来构建EDW,主要是为了利用以下新功能:
MERGE SQL 语句:MERGE 语句是SQL Server 2008中新引入的,它可以让开发人员更有效的处理常见的数据库管理任务,例如检查一行是否存在然后执行插入或更新语句。.
变更数据捕获:SQL Server 2008中引入了变更数据捕获(CDC)功能,该功能可以捕获完整的变更内容并保持数据表之间的一致性。CDC 同样可以处理架构的变更。
备份压缩:SQL Server 2008 引入了备份压缩功能,在数据转移到硬盘之前,压缩过程是在内存中实现的。由于减少了磁盘I/O 的需求,因此备份速度更快。Server 2008 备份压缩功能可以减少所需的备份数据量,从而显着降低基于磁盘的备份成本。
增强了TABLOCK 插入:SQL Server 2008 可以更有效的利用TABLOCK 插入来获得更快的数据加载速度。采用TABLOCK  表锁将比采用行锁速度更快。

EDW 解决方案还将更进一步使用SQL Server 2008 集成服务。该服务在SQL Server 2005中首次引入,并在SQL Server 2008中得到了增强。集成服务针对ETL 操作的创建和管理提供了企业级的工具。,微软IT 部门利用SQL Server 2008 集成服务来创建名为METaL的内部工具,从而在新建ETL 包的时候实现了流程的自动化。

“我们利用了SQL Server 2008 中的很多新特性作为解决方案的重要构建模块,”微软首席系统管理员Alexey Yeltsov 说道,“我们还希望利用其它功能,我们对于该产品中的新功能印象很深。”

好处
采用SQL Server 2008所创建的企业级数据仓库可以为IT 部门提供客户的集成化视图,并简化数据管理。SQL Server 2008 的新功能还能够为公司带来一系列其它好处,包括利用压缩技术减少1/3的存储空间,更快速的数据插入,以及采用SQL Server 集成服务来构建解决方案

客户的集成化视图
微软看到了通过EDW 来提供集成化存储库的价值,即可以生成数据的全面视图。

“为什么构建EDW?”Yeltsov 说道,“我们需要从不同的数据源收集数据并放置在一个地方,然后在目标位置解决冲突问题并提供统一的视图。”

EDW 作为综合、集成的数据集,同时还可以通过微软的业务单元提供丰富的客户信息视图。

“我们通过SQL Server 2008所创建的EDW 可以让微软的商业用户采用360度的视图查看客户,”微软高级应用程序开发人员Mike Gudyka 说道,“我们可以获得客户信息的全面视图并通过集成数据来提升 质量和速度,否则数据将在企业中分开存储。”

简化数据管理
EDW 开发人员从SQL Server 2008中引入的MERGE 语句中获益,因为MERGE 语句可以在一条语句中执行对目标数据表的插入、更新、或删除。

“在SQL Server 2008 以及MERGE 语句产生之前,我们不得不编写存储过程,”Gudyka 说道,“我们现在可以用一条MERGE 语句来替换非常复杂的存储过程。”

利用MERGE 语句来代替存储过程还可以提高更新的速度。

“使用MERGE 语句可以减少用于数据表维护的代码,从而减少了出错误的几率,”Yeltsov 说道,“利用一条单独的语句来处理两到三个事务,同时还可以提高更新的速度。”

自动捕获变更数据
SQL Server 2008 中的数据变更捕获功能可以让开发人员轻松跟踪数据表的变更。在SQL Server 2008之前,捕获变更数据需要自行编写代码。

“在没有推出变更数据捕获功能之前,我们自己编写代码来处理变更数据,”Gudyka 说道,“这种方法虽然可行,但伸缩性不好。当处理拥有百万行数据的表时,需要花费很长的时间来加载所有行的索引并检查更新。变更数据捕获功能提供了更有效的机制来捕获发生改变的行,从而极大的增强了变更跟踪的可伸缩性。”

变更数据捕获功能还可以让用户自行设定历史变更数据的保留期限。

“定义保留期限对我们很有帮助,因为在此之前你需要编写作业来基于数据的时间戳有选择性的修改数据表,”微软技术架构师Ron Ortloff 说道,“利用变更数据捕获功能,变更数据默认保留3天,但你可以很简单的去配置更长或更短的变更数据保留期限。”

利用压缩将备份存储减少为原来的1/3
由于数据库预期将很快超过10TB,并且需要维护多个备份,因此IT 部门迫切需要利用SQL Server 2008的数据压缩功能。

“我们的测试发现SQL Server 2008的备份压缩功能可以提供3:1的压缩比,这将显着降低备份所需的磁盘空间,”Yeltsov 说道,“SQL Server 2008 备份数据的压缩过程在内存中完成 – 即在数据写入到硬盘之前。”

IT 部门发现备份压缩功能可以减少完整备份所需的时间。Yeltsov 说道,“我们看到备份过程速度更快,因为CPU 会在数据写入到硬盘之前对其先进行压缩。”

数据插入速度更快
在加载大数据集的时候,采用表锁可以比行锁速度更快,IT 部门很高兴SQL Server 2008 增强了TABLOCK 插入的效率。

在早期的SQL Server 版本中,INSERT 语句将会被完全记录到事务日志中,这意味着插入1GB 的数据将导致1GB 或更多的信息写入到事务日志中。“利用SQL Server 2008中增强的TABLOCK 插入功能,每插入1GB 的数据,事务日志只会增加几兆,”Yeltsov 说道,“这样就可以节约磁盘空间并提高插入速度。和之前的SQL Server版本相比,大量的插入过程至少可以快3倍。”

集成服务的可扩展性
SQL Server 2008 集成服务的可扩展性可以帮助IT 部门创建一个名为METaL 的内部解决方案,从而自动创建用于执行ETL 数据处理的SQL Server 集成服务包。

METaL 应用程序包括一个元数据存储和业务逻辑,从而利用元数据来自动创建并分发针对ETL 而定制化的集成服务包。

“集成服务所提供的完美的执行平台可以让我们在分布式环境中执行ETL,”Gudyka 说道,“我们可以利用元数据来创建集成服务包,然后将这些包发送出去以便执行。数据包在运行的过程中会报告其状态,因此可以实现更好的监控。”

总而言之,微软IT 部门利用微软应用程序平台以及SQL Server 2008 企业版,通过将好几个TB 的数据收集到统一的数据仓库中,从而获得了客户信息的集成化视图。公司利用了SQL Server 2008中的很多新功能,其中包括利用备份压缩功能来减少备份空间。

Windows Server 2008, SQL Server 2008, 以及 Visual Studio 2008为创建和运行关键应用程序提供了安全可靠的基础。这些产品结合起来可以提供高级的安全技术、针对最新平台的支持、增强的可管理性和Web 工具、以及灵活的可视化技术,从而实现基础架构的优化,并在整个企业范围内访问相关信息

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3