技术开发 频道

企业缘何拒绝升级MS SQL:并发处理是关键

【SQL Server惊险一跳系列】

 【IT168 专稿】 随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高,数据类型也已经不再是单纯的关系型数据。Oracle,mysql数据库因其各自特点在多数企业中受到广泛使用,而SQL Server数据库因为和Windows的联系,在企业数据库中也占有一席之地。但是对于许多业务来说,SQL Server 2008已经被公认为是一种知名的、具有稳定性但同时又存在许多疑点的数据库。

    第一篇:SQL Server 2005是熊掌还是鸡肋?

    第二篇:SQL Server生于Windows,毁于Windows?

    第三篇:SQL Server 2008重拳出击 加速企业升级

    第四篇:SQL Server 2008升级硬伤:缺乏大型应用

 虽然SQL Server 2008已经推出了约1年了,奇怪的是,很多公司仍然没有将自己的数据库升级。现在这些公司面临着再次作出决定:是跳过升级到SQL Server 2005 还是直接到SQL Server 2008?没有使用SQL Server的是否要使用?要作出这个选择并不简单,IT168记者走访了很多企业,旨在将目前企业数据库应用状况如实呈现。本期采访的是嘉兴禾仁科技有限公司开发部经理。

 嘉宾简介

 程昌文, 嘉兴禾仁科技有限公司开发部经理。1975年出生,96年武汉水电大学计算机信息管理专业毕业,经济师,96分配到浙江嘉控电气控制设备有限公司信心中心工作,01年任信息中心主管,负责ERP的开发和实施,04年任嘉兴禾仁科技有限公司开发部经理,负责开发HIS系统/新型合作医疗管理系统/医药公司管理信息系统。

 SQL Server企业的应用中小企业较普遍

 程昌文表示,一般来说,我们会按照客户的公司规模决定数据库平台,有些大型的应用,客户会主动要求使用ORACLE的数据库平台,如果客户没特别的要求,一般的企业,我们会选择MS SQL数据库作为他们的应用平台,一般来说是够用的。数据库一旦更换会存在很多的问题:速度,存储容量,维护成本,设备成本等等,所以要换数据库平台,还要涉及要系统的修改和稳定等多方面的问题,我们会按照我们的系统大小、行业特点在初期建议客户使用不同的数据库平台。

  作为我们公司,所在区域范围相对小,大多是中小企业,选择MS SQL作为我们开发应用的数据库平台较为合适,可以节约很大一部分维护和培训成本。公司即使有新人也可以很快进入角色,可以为公司客户提供更快捷的服务和处理问题的能力。

 公司应用中使用最多的是MS SQL开发,包括数据库的基本操作,数据库的同步策略,异地备份策略,跨区域的数据库存储读取,数据库集群,电子商务XML等方面的开发和应用。

 企业中SQL Server的三大优势

 程昌文认为,SQL SERVER作为一个数据库产品,最重要的就是两大块:存储引擎和查询引擎,其他的日志、事务、锁、索引等等都是围绕他们来工作的。SQLSERVER客户端和服务器端之间传输数据,数据包是有格式的。在SQL SERVER中被称为tabular data stream。这个数据流是令牌控制客户端和服务器端对话, 我们往往不能直接和Open Data Services打交道,把数据放进来。我们必须通过ODBC、ADO或DB-Library来发送tabular data stream。而SQLSERVER返回的数据结果,也是通过这些ODBC之类返回tabular data stream。一个通用数据访问接口屏蔽了你和SQLSERVER之间的数据,而接到了Open Data Services的读缓冲区里面。这个缓冲区为高性能处理数据的SQLSERVER带来缓冲机会, 缓冲区管理器"的模保证SQLSERVER高速处理。

 SQL Server 2000的动态优化机制使得数据库系统总是能够根据当前的工作负载,自动调节在最优的参数设置下工作,最大化的减少了管理员的负担。SQL Server 2000还提供了包括多种向导和编辑器,使得管理员能够根据系统的提示逐步完成任务,这些工具将极大的简化DBA和其他IT管理人员的系统使用。由于利用了报表模板技术,在本系统中增加新的报表时,不需要在客户端安装新的程序,仅需要下载新的报表模板,这降低了系统部署的难度。管理工作的简化,提高了管理工作的效率,降低了系统运行维护的成本。

 MS sql server自动调节在最优的参数设置下工作,最大化地减少了管理员的负担。SQL Server 2000还提供了包括多种向导和编辑器,使得管理员能够根据系统的提示逐步完成任务,这些工具将极大地简化DBA和其他IT管理人员的系统使用。

 不升级理由:并发处理的性能低下

 在企业应用中,我们需要使用管理企业级系统(SAP),我们也更喜欢使用多用户(multiuser)数据库。也许你会认为我使用这个术语太过于轻率。实际上有大量的用户在多用户环境中使用SQL Server。但是在处理大量的并发用户时就会受到平台的影响。例如,锁(locking)的问题。开始,微软会告诉你"读取者- 阻塞 - 写入者"的机制很好,很安全。它会告诉你这个机制防止了用户执行"错读(dirty read)"。不要相信这种鬼话,它只是性能低下的一个借口。这使我想起了Sun长期坚持认为64位系统不必要的立场。不必要是指他们销售这种产品之前没有必要存在。接下来,某一天Scott McNealy在你面前高谈不断增长的物理内存寻址的优点。那什么是"错读"?微软会告诉你,如果某个人正在更新一个数据行,而你准备读取这个处于更新之中的数据行,就会出现错读。错读=坏数据--这是微软希望你相信的内容。但是如果某个更新操作很长时间没有提交会出现什么情况?数据实际上没有真的被改变。因此,并发处理性能也是其不能普遍升级的关键原因之一。

0
相关文章