分布式数据库的设计与查询优化研究.docVIP

分布式数据库的设计与查询优化研究.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 1 分布式数据库的设计与查询优化研究   摘要:提出了利用MSSQLServer2008的数据库管理特性,采用链接服务器、水平分片或垂直分片设计分布式数据库。并介绍了分布式查询的步骤和一系列的分布式数据库系统查询的优化方法和策略以及各自的使用特点。   关键词:分布式数据库设计;查询优化   中图分类号:TP311.13文献标识码:A文章编号:1007-9599(2012)21-0000-02   1引言   伴随着数字通信技术的发展,生产生活中数据业务量的不断加大,应用的数据可能分布在全球的任何位置。因此,与之相关的由多个分散数据库组成的信息系统必须要不断完善自身的性能才能更有效地解决数据的存储和处理问题,才能更好地满足日益增大的信息查询要求。如果能合理选择有效的优化策略和方法则可以很好解决以上问题[1]。   分布式数据库系统中的数据是物理分布在用计算机网络连接起来的各个站点上;每一个站点是一个集中式数据库系统,都有自治处理的能力,完成本站点的局部应用;而每个站点上的数据并不是互不相关的,它们构成一个逻辑整体,统一在分布数据库管理下,共同参与并完成全局应用,并且分布式数据库系统中的这种“分布”对用户来说是透明的[2]。   MSSQLServer2008分布式数据库的功能表明,系统用户可以把多个不同地点的分数据库当作一个机器的完整数据库看待,因此使应用程序看起来只有一个大型的集中式数据库,用户可以在任何一个地点执行全局应用。如允许用户透明地查询和操作远程数据库实例的数据。   2分布式数据库的设计过程   2.1链接数据库服务器设计   链接数据库服务器是定义一个从某一数据库服务器到另一数据库服务器的单向通信路径指示器。可以使用SQLServer2008的SQLServerManagementStudio来建立链接服务器。链接服务器的数据源提供程序可以是SQLServer、ORACLE或者其他的OLEDB和ODBC,只要数据源提供程序的驱动程序支持,分布式数据库查询就可以查询和更新相应数据源中的数据。   2.2实现水平分片或垂直分片   将表分区就是将表按照分区键划分为两个或两个以上更小的分段。分区键通常选择一个经常被用来选取特定范围的数据字段,这样分区的效率最高。通过创建分区视图合并所有分区表,实现对整个数据集的访问。实现方法如下。   利用MSSQLServer的分布式分区视图,可以将分区表分布在多个地点的数据库服务器上。使用链接服务器和分布式分区视图方法可以构建以水平分片的分布式数据库系统。   利用MSSQLServer的存储过程及链接服务器相结合的方法,将提交的全局操作转变为对多个地点的垂直分区表的局部操作。其中使用存储过程可以正确执行分布式事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。   存储过程是存储在服务器上的预编译好的SQL语句集。使用存储过程将对多个场地的垂直分片表的操作放在一个分布式事务内,要么全部提交,要么全部回退,保证了分布式数据库系统中数据完整性约束的一致性。   3分布式数据库查询步骤   对分布式数据库的查询不能像集中式数据库那样仅仅涉及一个站点而必须涉及多个服务器(全局查询)。在查询过程中,必须要对全局查询进行分解,即将一个涉及多个数据服务器的全局查询转换成为多个仅仅涉及一个数据服务器的子查询。查询分解完成后,再进行查询转换处理。分布式的数据库系统的查询过程通常分为查询分解,数据本地化,全局优化和局部优化。   3.1查询转换:就是将所查询的问题转换成为一个在全局关系上定义的关系代数表达式,然后对其进行一系列规范化、分析、删除冗余和重写。   3.2数据本地化:把在全局关系上的关系代数式转换到数据库相应段上的关系表达式,产生查询树。   3.3全局优化:使用各种优化算法和策略可以对查询树进行全局优化。不同的算法和策略能够造成不同的优化结果,因此,算法的选取和策略的应用非常重要。   3.4局部优化:分解完成后要进行组装,局部优化是指在组装场地进行的本地优化。   4分布式数据库查询优化方法   4.1基于数据库索引的优化   数据库系统中建立合适的索引则可以避免表扫描并减少因查询而造成的I/O开销,从而可提高数据库数据查询的速度并改善数据库的性能。但由于创建索引会占用部分系统的时间和空间的开销,因此需要在经常进行连接但没有指定为外键的列上主动建立索引,而不经常连接的字段应由DBMS的查询优化器自动生成索引;在条件表达式中经常用到的不同值较多的列上建立索引,而在不同值较少的列上不要建立索引;若待排序的列不止一个,则可以考虑在这些列上建立复合索引。此外,为了简化和避免对大型表进

文档评论(0)

gmomo-lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档