欢迎来到天天文库
浏览记录
ID:31687418
大小:57.42 KB
页数:6页
时间:2019-01-17
《分布式数据库设计及查询优化探究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、分布式数据库设计及查询优化探究摘要:提出了利用MSSQLServer2008的数据库管理特性,采用链接服务器、水平分片或垂直分片设计分布式数据库。并介绍了分布式查询的步骤和一系列的分布式数据库系统查询的优化方法和策略以及各自的使用特点。关键词:分布式数据库设计;查询优化中图分类号:TP311.13文献标识码:A文章编号:1007-9599(2012)21-0000-021引言伴随着数字通信技术的发展,生产生活中数据业务量的不断加大,应用的数据可能分布在全球的任何位置。因此,与之相关的由多个分散数据库组成的信息系统必须要不断完善自身的性能才能更有效地解决数
2、据的存储和处理问题,才能更好地满足日益增大的信息查询要求。如果能合理选择有效的优化策略和方法则可以很好解决以上问题[1]。分布式数据库系统中的数据是物理分布在用计算机网络连接起来的各个站点上;每一个站点是一个集中式数据库系统,都有自治处理的能力,完成本站点的局部应用;而每个站点上的数据并不是互不相关的,它们构成一个逻辑整体,统一在分布数据库管理下,共同参与并完成全局应用,并且分布式数据库系统中的这种''分布”对用户来说是透明的⑵。MSSQLServer2008分布式数据库的功能表明,系统用户可以把多个不同地点的分数据库当作一个机器的完整数据库看待,因此使
3、应用程序看起来只有一个大型的集中式数据库,用户可以在任何一个地点执行全局应用。如允许用户透明地查询和操作远程数据库实例的数据。2分布式数据库的设计过程2.1链接数据库服务器设计链接数据库服务器是定义一个从某一数据库服务器到另一数据库服务器的单向通信路径指示器。可以使用SQLServer2008的SQLServerManagementStudio来建立链接服务器。链接服务器的数据源提供程序可以是SQLServer.ORACLE或者其他的0LEDB和ODBC,只要数据源提供程序的驱动程序支持,分布式数据库查询就可以查询和更新相应数据源中的数据。2.2实现水平
4、分片或垂直分片将表分区就是将表按照分区键划分为两个或两个以上更小的分段。分区键通常选择一个经常被用来选取特定范围的数据字段,这样分区的效率最高。通过创建分区视图合并所有分区表,实现对整个数据集的访问。实现方法如下。利用MSSQLServer的分布式分区视图,可以将分区表分布在多个地点的数据库服务器上。使用链接服务器和分布式分区视图方法可以构建以水平分片的分布式数据库系统。利用MSSQLServer的存储过程及链接服务器相结合的方法,将提交的全局操作转变为对多个地点的垂直分区表的局部操作。其中使用存储过程可以正确执行分布式事务的原子性(Atomicity)
5、、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。存储过程是存储在服务器上的预编译好的SQL语句集。使用存储过程将对多个场地的垂直分片表的操作放在一个分布式事务内,要么全部提交,要么全部回退,保证了分布式数据库系统中数据完整性约束的一致性。3分布式数据库查询步骤对分布式数据库的查询不能像集中式数据库那样仅仅涉及一个站点而必须涉及多个服务器(全局查询)。在查询过程中,必须要对全局查询进行分解,即将一个涉及多个数据服务器的全局查询转换成为多个仅仅涉及一个数据服务器的子查询。查询分解完成后,再进行查询转换处理。分
6、布式的数据库系统的查询过程通常分为查询分解,数据本地化,全局优化和局部优化。2.1查询转换:就是将所查询的问题转换成为一个在全局关系上定义的关系代数表达式,然后对其进行一系列规范化、分析、删除冗余和重写。3.2数据本地化:把在全局关系上的关系代数式转换到数据库相应段上的关系表达式,产生查询树。3.3全局优化:使用各种优化算法和策略可以对查询树进行全局优化。不同的算法和策略能够造成不同的优化结果,因此,算法的选取和策略的应用非常重要。3.4局部优化:分解完成后要进行组装,局部优化是指在组装场地进行的本地优化。4分布式数据库查询优化方法4.1基于数据库索引的
7、优化数据库系统中建立合适的索引则可以避免表扫描并减少因查询而造成的I/O开销,从而可提高数据库数据查询的速度并改善数据库的性能。但由于创建索引会占用部分系统的时间和空间的开销,因此需要在经常进行连接但没有指定为外键的列上主动建立索引,而不经常连接的字段应由DBMS的查询优化器自动生成索引;在条件表达式中经常用到的不同值较多的列上建立索引,而在不同值较少的列上不要建立索引;若待排序的列不止一个,则可以考虑在这些列上建立复合索引。此外,为了简化和避免对大型表进行不必要的重复的排序,也应正确地增建索引,合理合并数据库表。当能够利用索引自动以适当的顺序产生输出时
8、,优化器就可以避免排序了[3]。4.2基于关系代数等价变换的优化首先把查询内容转
此文档下载收益归作者所有