技术开发 频道

升级到SQL Server 2005 的十大理由


【IT168 数据库】

    前言 

    本文从用户关心的技术要点出发比较和讨论SQL Server 2005 相对它的前版本SQL Server 2000所做的重大改进或新增功能,介绍了SQL Server 2005 中最值得你为之升级的10 个理由。无论你是想了解或学习SQL Server 2005,还是正在评估或考虑升级到SQL Server 2005,本文都将对您有很好的参考作用。 

    升级理由一:数据分区 

    只有到了2005 版本SQL Server才拥有了真正的表和索引数据分区技术。这个技术一下子使SQL Server数据库从“青壮年”成长为成熟的企业级数据库产品,是一个里程碑性质的标志。数据分区技术极大加强了表的可伸缩性和可管理性,使得SQLServer 处理海量数据的能力有了质的飞跃,是我认为最值得升级的一个理由。 

    数据库随着硬件和业务的发展变得越来越大。五年前大多数数据库还不过是十几个GB大小,很少超过TB级别的。现在几百个GB大小的数据库系统随处可见。如果没有数据分区技术而想对大数据库进行高效管理是很困难的。SQL Server 2005以前版本的一个问题是随着时间的推移数据库越来越大,备份需要的空间越来越多,如何处理数据库中的历史数据是很棘手的事情。有些客户可能会使用DELETE语句定期定量删除大表中的历史记录,如在每个周末备份数据库后删除一个星期以前的所有数据。但是如果表有上千万行十几个GB 大小,那么使用DELETE语句删除数据库中上万行或高达20%数据的话,其性能很差。如果是在7 × 24小时运行的联机系统做这样的数据维护操作那么还会引起比较严重的阻塞问题。另外有些客户针对这个问题直接在方案设计上下功夫,比如按照年份月份星期设计表,然后定期把一些过时的历史数据表(注意是“表”)备份并DROP掉,使得数据库大小以及系统性能都能保持相对稳定。但是这种方法有一个弊端,即应用程序必须做相应的配合根据不同的时间访问对应的表,增加了数据库管理以及数据库访问逻辑的复杂性。 

    大表还容易带来性能问题。你也许会想到SQL Server 2000中的本地分区视图或分布式分区视图技术。是的,SQL Server2000 中的确已经有分区视图的概念,从SQL Server 7.0开始就有了。可惜分区视图的一个令人讨厌的地方是其管理、设计和开发比较困难,特别是分布式分区视图。如如何更新分布式视图就是个难题。所以尽管一个设计良好的分区视图系统会有很不错的性能改善,却因为繁琐的配置,管理和开发使得其没有在实际中得到充分应用。 

    现在,SQL Server 2005 引入了真正的数据水平分区技术,上面讨论的数据库增长问题和性能问题就迎刃而解。这个进步绝对不是一小步。数据库的大小不再是个问题。你可以根据字段值的范围将表和索引划分为多个分区从而可以轻松管理一个几个TB大小的数据库系统。无论数据如何增长,你都可以使用分区技术使得数据库大小保持相对稳定。其中特别值得称赞的地方是SQL Server 2005 中分区的管理和使用非常简单。分区的删除,添加,拆分、合并和移动,以及分区的数据装载等管理都非常容易。你可以对单独的分区进行维护而不是整个表。如果你需要大量装载数据,那么你可以先把数据并行的装入到一个新分区当中,建立索引,然后把该分区合并到当前分区中来。这个动作需要的时间极短。如果你需要删除历史数据,假设你已经设计好了历史数据分区,那么你仅仅需要把该分区移除即可,几乎可以一瞬间完成。分区也使得大型表的并发访问性能得到改善,特别是有多个CPU的数据库系统。那些需要交叉访问大量数据的查询将从分区技术中获益不少。
0
相关文章