SQL Server2008案例之CyberSavvy 公司
|
CyberSavvy 已经体验到了SQL Server 2008 所带来的一系列好处,包括集成的开发环境、利用备份压缩功能来减少数据存储、利用SQL Server Service Broker 从容实现自动化、及其可伸缩性。
基本情况 CyberSavvy 所开发的商业智能应用程序需要同数据库集成,该公司在这方面经验丰富,并且希望通过基于服务的平台来简化并自动化数据库设计和部署,从而降低成本。在实现其解决方案的过程中,最大的挑战是如何确保数据在服务器数据库和客户端桌面机或移动设备间同步时保持完整性,同时还需要考虑到多用户的并发连接以及脱机用户。 最初该公司基于Web 服务来处理同步问题,但随后发现当对复杂的关系型数据连续进行插入/更新/删除操作时,会产生很多问题并且不稳定。如果任意一个步骤出现问题,则会导致整个同步过程的失败。当用户采用脱机方式工作了数天以后,再次尝试同步时,有可能会由于其所作的更改已经被其他人再次进行了更新,并最终导致同步失败,这将使得后续的操作全部失败。 在公司能够为客户提供数据丰富的自动化解决方案之前,需要能够更好的确保数据在网络中的传输。由于该公司将数据库自动化服务作为应用程序来提供,因此需要更好的伸缩性、支持更多的数据类型、提供更好的安全性和加密功能、以及通过数据压缩来减少备份所需的空间。 解决方案 DataPlace 解决方案采用Microsoft SQL Server? 2008 企业版以及Windows Server? 2003 企业版作为服务端,并采用SQL Server 2008 Express 版作为客户端。DataPlace 利用SQL Server 合并复制功能,并通过IIS 6.0进行同步。采用复制方式可以让CyberSavvy 不再使用其早期产品中所采用的中间层的方法进行同步。 DataPlace 包含一个智能客户端应用程序和一个 DataPlace 编辑器(同数据库一起下载到用户的计算机中)。智能客户端所包含的数据库设计器可以让用户更轻松的根据需求更改数据库的架构或其它属性。这些更改都将通过复制的方式传输到后台的服务器中,并通过服务端的DataPlace 应用程序来进行处理。只要客户端数据库处于打开状态,DataPlace 编辑器就可以自动检查复制更新,此外用户也可以定制自 “DataPlace 能够成功实现得益于SQL Server 2008的强大功能以及SQL Server 合并复制所提供的坚如磐石的数据完整性,”CyberSavvy 公司总裁Peter Hammond 说道,“合并复制功能帮助我们解决了很多复杂问题,并可以通过网络以一种多用户、安全、可伸缩、且可重复的方式来处理数据。利用微软应用程序平台,我们可以将关系型数据库的优势带给最终用户。而这些用户往往需要使用关系型数据库,但却不知道如何创建及管理。”
该解决方案只是CyberSavvy 公司未来展望中的一部分,它可以让企业从数据库解决方案中获益。 “毫不夸张的说,利用我们的自动化系统,我们可以在5分钟之内为客户创建出企业级的数据库,”Hammond 说道,“我们的客户在不增加基础架构投资的情况下,即可享受SQL Server 2008 的所有好处,而他们只需要偶尔连接一下网络。” DataPlace 解决方案架构包括:
无论是个人开发者,还是诸如Lowe’s, Microsoft, 以及Spherion 这样的大型企业,DataPlace 都被证明非常受欢迎。 好处 集成化的数据库开发 “我们的开发人员都有多年的相关经验,”Hammond 说道,“但由于SQL Server 2008可以同微软的其它开发工具以及技术进行紧密集成,因此我们的工作变得更加简单。” 在开发DataPlace 的过程中,CyberSavvy 公司利用了微软应用程序平台中所集成的高效开发环境,其中包括Microsoft Visual Studio? 2005 和Visual Studio 2008 Beta 2; 以及Microsoft .NET Framework 2.0 和3.0,从而实现同SQL Server 2008的紧密集成。 “DataPlace 完美诠释了数据库解决方案应该做什么而不应该做什么,”Hammond 说道,“我们开发的所有应用程序都有一个最简单且最重要的原则,那就是坚固。 我们的客户需要完全相信其数据的安全性。对于我们来说,这意味着我们的解决方案所要采用的技术需要久经考验。这就是我们选择SQL Server 的原因。” 作为一款利用.NET 技术的应用程序,客户端的DataPlace 编辑器可以更加精确的满足客户需求。“客户可以在我们所提供的基础架构之上利用.NET 技术创建自己的用户界面,并可以构建自己的应用程序,”Hammond 说道,“事实上,客户可以利用任何能够连接SQL Server 的技术来创建自己的应用程序。由于SQL Server 是一款非常流行的产品,因此几乎很少有技术人员不知道如何去连接SQL Server。” 令CyberSavvy 公司最为兴奋的是,那些没有SQL Server 或其它数据库使用经验但熟悉Excel 或SharePoint 列表的客户,依然可以对CyberSavvy 公司的产品进行定制化。CyberSavvy 公司的开发人员创造性的利用了复制及后台应用程序逻辑来将客户端发起的操作传输到服务端的计算机中。 “DataPlace 可以让那些对SQL Server 一无所知的人也能够进行添加新表、新列,更改列名以及其它数据库更改操作,”Hammond 说道,“他们所做的更改会以纯数据的方式复制到服务器中。随后服务器会通过我们所创建的一系列逻辑来检查并确定这些更改,然后自动扩展数据表架构以适应这些更改。” DataPlace 可以让用户的数据库满足其更新需求。 “利用SQL Server 2008以及我们通过微软开发工具所实现的后台自动化,客户可以在没有一名开发人员的情况下来进行特定的数据库更改,”Hammond 说道,“快速提升架构非常重要,因为在传统的数据库开发过程中,我们不能很方面的确认是否有更改,而当需要允许进行更改的时候则需要花费大量的时间和成本。” 降低存储需求 “作为软件服务提供商,我们要进行大量的备份操作,”Hammond 说道,“我们所提供的服务等级要求我们每隔15分钟就进行一次增量备份,并且每天夜里都要进行数据库的完整备份。我们的备份数据量已经达到了1TB,因此只要能减少备份所需的磁盘空间,对于我们来说都是有帮助的。我们期待SQL Server 2008的备份压缩功能可以带来80%的压缩比。” 利用Service Broker 轻松实现自动化 “Service Broker 在SQL Server 2008中更加完善,”CyberSavvy 公司的架构师Dan Dzina 说道,“Service Broker 更容易管理,并且相关技术文档也越来越多,它可以让开发人员依靠坚如磐石的SQL Server 关系型引擎来支持事务消息。” CyberSavvy 公司利用Service Broker 可以简化很多工作,这些自动化的工作在此之前是利用SQL Server 中的CLR 功能来实现的。随着 .NET Framework 3.5以及WCF和WWF 的不断改进,自动化的实现变得更加容易且更加组件化。这样就可以同外部服务更加灵活的进行交互,例如在飞机上即可实现对后台服务器中的活动目录进行管理或删除域账号。 “我们利用Service Broker 和活动目录进行集成,这样就可以采用异步方式对其进行操作,而不会影响到SQL Server 进程,”Dzina 说道,“ Service Broker 对我们来说很有价值,因为我们需要实现很多自动化并且需要频繁对架构进行变更。Service Broker 将SQL 管理对象提供给我们的后端模型,从而极大简化了我们对自动化进程的管理。” 利用FILESTREAM 来处理文件 新引入的FILESTREAM 数据类型可以对二进制数据进行扩展,让通常利用数据库进行管理的二进制数据存储在数据库之外。在采用SQL Server 2008之前,CyberSavvy 公司不鼓励客户在数据库中存储文件。 “利用FILESTREAM,我们可以通过相应API 在文件系统中体现出非关系型文件的价值,”Hammond 说道,“在SQL Server 2008 之前,我们也允许将文件存储在DataPlace 中,但只能采用varbinary(max)方式,另外我们还需要编写额外的代码来管理这些文件。” “我们这么早就迁移到SQL Server 2008的一个重要原因是该产品的可伸缩性,”Hammond 说道,“我们非常成功的在一个实例中提供数百个数据库。我们当前的数据总量在500GB 并且有超过500个发布,预计数据总量很快会达到几个TB。我们可以满足企业级客户的需求,并且还没有发现在伸缩性方面遇到任何瓶颈。” 采用复制的方式可以提供更多的空间用于实现可伸缩性,这是因为DataPlace 的查询和报表处理都是在客户端的数据库中利用SQL Server 2008 Express 版来完成的。 “我们最大限度的发挥了性能和可伸缩性,主要是因为采用客户端来分担高负载的操作,而我们的后台服务器只负责进行复制,”Hammond 说道,“复制技术在SQL Server 2008之前其实已经很成熟了,这种强大的功能彻底改变了我们的业务模式 从利用中间件传输数据改为采用复制技术。虽然我们还不能完全利用微软的复制技术,但依靠该技术我们还是可以在传输信息方面采用更加安全的方法,这样就可以让我们腾出更多的精力去关注客户所要实现的功能。” CyberSavvy公司在其DataPlace 软件即服务解决方案之上又开发了2款新产品。Project360° 是一款资源管理/时间跟踪的解决方案,而Enterprise Product Roadmap 解决方案则用来跟踪产品并生成动态PPT。 “我们只用了几周的时间就按照客户特定的需求开发了这两款产品,而并没有花费数月时间,这远远提前于客户所规定的最后期限,”Hammond 说道,“DataPlace 在彻底释放SQL Server 能量的同时,缩减了进入市场的时间以及总体成本。最终,我们可以随心所欲的去关注客户的需求。” 轻松实现加密 DataPlace 采用一个简单的接口来定义需要加密的数据列并为用户动态创建非对称密钥,从而避免了实现加密功能的复杂性。通常加密需要数据采用二进制形式,但在DataPlace 中所有加密数据都在一个存储过程层面采用其原始类型,从而方便了应用程序层的展示。 “如果你加密一个字符串、图片、甚至是一个字节的数值,DataPlace 都可以确保数据的正常展现,同时数据在表中则以纯二进制的方式通过加密进行保护,”Hammond 说道,“SQL Server Express 可以采用和服务器产品同样级别的安全性来管理这些加密密钥,从而可以为最终用户提供企业级的安全性。” 迁移到SQL Server 2008的其它好处 透明化的数据加密:SQL Server 2008 可以对整个数据库、数据文件、以及日志文件进行加密,而不需要对应用程序进行更改。“我们发现很多客户都对数据库加密很感兴趣,”Hammond 说道,“我们为客户提供列级别的加密,用户都认为这个功能简直难以置信!他们都很喜欢这个功能。” 总而言之,CyberSavvy 利用坚如磐石一般的关系型数据库SQL Server 2008以及Visual Studio 2005 和.NET Framework 创建了灵活且可伸缩的数据库工厂,从而为客户提供了含金量更高的解决方案。该解决方案很好的利用了SQL Server 合并复制功能在运行SQL Server 2008 Express 版的客户端以及运行SQL Server 2008企业版的服务端之间传输数据以及架构更改。 |


