文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
SQL Server
没有任何子栏目
您现在的位置: IT文谷 >> 数据库频道 >> SQL Server >> 文章正文
向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性
向外扩展SQL Server 实现更高扩展性
向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性
向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性
  当我提到向外扩展数据库系统时,我实际上只是讨论对数据库系统进行分割或划分,以便你能利用那些部分,把它们分配到单独的数据库服务器上。这允许你在许多服务器间分散处理能力,以适应不断扩张的增长。
  但是,额外的特性和功能需要更高的复杂程度。一个向外扩展的数据库很难进行设计或管理。在你成功对一个数据库系统实行向外扩展之前,你必须解决许多困难的商业和技术难题。

  本文说明向外扩展数据库系统的两个选项,从而实现更高的可扩展性:水平数据划分和垂直数据划分。

  水平数据划分

  使用水平数据划分,数据库结构在数据库实例方面没有变化。通常,数据库之间唯一的不同在于实例包含的数据不同。

  开发出中间层应用程序,使得实例间的数据得到适当维护,是这种解决方案的特点。可能很难决定如何在数据库实例间划分数据。数据分配方法十分关键,因为我们需要在不同服务器间比较平均地分散数据负载。不进行这种平均分割,你就无法取得向外扩展数据库的任何好处,因为查询或事务处理的大部分IO仍然只发生在一台服务器上。

  既然全部数据不再保存在一台服务器上,因此在必要时更难对所有数据执行查询。幸运的是,你可以建立分布式划分视图连接两个服务器实例间的数据,使得数据看起来就像保存在一台服务器上。有一些特殊的视图,它们利用连接的服务器和在数据表上建立的约束,有效地返回数据,就好像你只查询一台服务器上的数据一样。(我将在下周的文章中详细讨论分布式划分视图。)

  另外,值得一提的是,如果服务器处在不同的地理位置,它们的性能可能会受到影响。在这种情况下,你可能希望复制实例间的数据,以便每台服务器拥有完整的数据,但只负责维护特定的一块数据。

  垂直数据划分
  垂直数据划分包括把数据库表分割成在不同服务器上保存的不同数据库实例。每台服务器一般分配完成一个特殊的任务。这样就可以对那些表中的IO进行分割。这种类型的分割取决于将系统逻辑地划分成许多部分,以便这些部分能够独立操作。如果实例间需要最少量的交互进行事务处理,这种处理就很有必要。

  例如,如果你的数据库系统维护销售、营销和广告数据,最好是把这些表分割成单个的数据库实例,阻止它们共享同一台服务器上的IO。可能你还需要处理这两个共享一些相同数据(例如客户数据)的系统。能够分割这些商业功能,你就可以在必要时向外扩展数据库环境,提高系统效率。

  你可以采取一些措施,如在每一台服务器上使用相互连接的表和视图,以便实例可以从其它实例中查看数据。这样做可以减少应用程序层决定在哪找到它需要的数据时所需的额外计算量。你需要保证应用程序层具有必要的逻辑性,以决定将数据保存在哪台服务器上。

  修改

  你可以对水平和垂直数据划分方法进行修改,使其更好地适应你的环境。例如,你可以使用一个面向服务的架构在服务器间分配处理能力;应用复制确保数据库实例相互之间保持紧密同步;以及组合应用这些技巧。
向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性
  • 上一篇文章:

  • 下一篇文章:
  • 进入论坛讨论

    相关文章
    SQLServer2000分布式事务错误解决方法
    用TRY/CATCH解决SQL2005的死锁
    教你如何在SQL Server计算列和平均值
    在SQL Server中使用CLR调用.NET方法
    SQL Server 查询分析器快捷键集合
    SQL Server数据在不同数据库中的应用
    SQL Server如何访问sybase数据库的表
    教你如何在SQL Server计算列和平均值
    动态创建MSSQL数据库表存储过程
    MS-SQL开发常用汇总和t-sql技巧集锦
    剖析SQL Server 2005查询通知之基础篇
    保护SQL服务器的安全-用户识别问题
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 本站原创文章,转载时请注明出自文谷及作者姓名
    ③在本网BBS上发表言论者,文责自负。
    ④如您因版权等问题需要与本网联络,请在30日内联系 。
    向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性
    向外扩展SQL Server 实现更高扩展性向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性2007-7-14 21:53:04向外扩展SQL Server 实现更高扩展性

    全站热点
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷论坛
    Tel: 0577-65690019      E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2008 wengu.com 文谷 All Rights Reserved
    浙ICP备05000327号