浅谈分布式数据库的数据存储优势和问题
深圳市豪威未来科技有限公司
2012/11/1 11:01:16>> 进入商铺分布式数据库系统是在集中式数据库系统的基础上发展起来的,是计算机技术和网络技术结合的产物。分布式数据库系统适合于单位分散的部门,允许各个部门将其常用的数据存储在本地,实施就地存放本地使用,从而提高响应速度,降低通信费用。基于网络基础上的分布式数据库系统经常对数据库进行数据分片。从数据意义上讲,数据分布的合理与否不仅影响着访问的局部性,而且也制约着数据查询及事务处理的效率。
一、分布式数据库系统概述
在分布式数据库中,数据存储包括数据分片和数据分配两个部分。数据分片和分布是分布式数据库中两个重要慨念,分布式数据库大部分问题均与数据分片和分布有关,它们对整个系统的可用性、可靠性、及效率都有极大的影响,同时也与分布式数据库系统的其他方面密切相关,尤其是分布式查询处理问题。以关系数据库为例,在关系型分布式数据库系统(RDDB)中,数据分片是从逻辑上将全局关系划分为逻辑片断即子关系,而数据分配就是再以一定的冗余度将子关系分配到多个结点上,数据存储即数据分片与数据分配的总和。数据分片是一种对关系的划分,在集中式数据库中可以将所有的表视为一个总全局表的逻辑子表,而总全局表是这些子表的并集,其属性包括这些子表的所有属性,元组包括这些子表的所有元组,对应的在这个总全局表上元组的非空值呈块状区域分布。数据分配则是将这些子表以不同的冗余度存放在一个或多个场地或节点,这两者间的区别在于集中式数据库不存在数据复制的问题,不需要存在多副本,但也会出现表名不同。但表属性和属性值*相同。
二、分布式数据库的设计
如何在不同的计算机上分布文献资料的数据和程序才能提高系统效率,增加系统的可靠性和可用性。这是我们面临的重要问题。为了增加系统的可靠性。系统就必须使数据重复,也就是系统应保持几个相同的副本,每个副本放在不同的结点内形成数据重复,数据重复不但可以增加系统的坚定性,还可以提高系统的并行性。借助于多个副本,几个结点可以并行地处理有关查询。然而,系统存在着多副本就必须要保证全部副本的一致性结果会增加系统的总开销。因此,我们必须认真考虑文献资料数据资源共享的合理分布。
而在分布式数据库中,由于数据的分布和冗余,使得查询处理中需要考虑站点间传输数据的通信费用,所以除了考虑CPU代价和I\O代价之外。还应该包括数据在网络上的传输代价。即总代价=CPU代价+I\O代价+通信代价。因此,分布式数据库进行分布式设计时,一个重要原则是使数据和应用程序实现zui大程度的本地性,这样就可以使应用数据尽可能地本地化,以减少通信开支。对于建立在各场所的分布式数据库,不需要过分进行限制,但也必须要有规范的设计要求。
(1)硬件规范,必须支持局域网乃至Internet的包括声音,文字,图像的交流,支持IE或Netscape浏览web界面,支持开放性数据源的建立。
(2)数据库形式规范,原则上Access、Paradox,甚至文本文件都可以进行数据传输,但必须保证自己有开放式数据源的特征及关系继承的特征。
(3)域的统一和分类、分科的统一,数据库在各个分布场所必须有统一的域结构,以确保给用户提供完整统一的视图,科目分类的命名必须要求规范,以确保查询和统计工作的准确性,在方便工作的条件下,可以不要求*确定的主关键字。
本文转自http://af.shejis.com/zxzx/jssc/201211/article_42036.html