分布式数据库的数据分配算法主要内容一、数据分配问题的提出二、典型数据分配算法分析与对比三、数据分配的研究趋势一、数据分配问题的提出在分布式数据库系统的设计中,数据分配主要是解决数据片段在分布式系统各节点上的分布
当然,解决方案应满足一定的优化标准,其实质是要得到一个最优分配方案
不过这样的问题因其复杂性太大被列为NP难题
在很多实际应用中,其实也并不一定要得到最优分配方案,一个足够接近最优分配方案的近似最优分配方案往往也可以满足要求
国内外学者在数据分配的基本原则上是有两点共识的
(1)数据应尽可能靠近要使用它的站点,并用负载平衡方法找出一个系统性能的全局优化
(2)检索事务应尽量局部化;更新事务所涉及的数据片段的副本不宜过多,以减少保持数据一致性的代价
对于分布式数据库系统的应用需求和理论研究,国外都要领先于国内
对于数据分配问题的研究,国外学者在基础理论方面贡献颇多,如文献[8]中提出的方法对于避免由于系统I/O瓶颈造成的效率下降提供了帮助
国内学者在对该问题的研究上虽然起步较晚,但是也逐步跟上领先者的步伐,获得不少研究成果,如“启发式试消副本法”在降低分配算法的复杂度方面有很好的效果
二、典型数据分配算法分析与对比对于分布式数据库的数据分配方法,国内外学者的研究从未间断,下面列举四个典型方法
2.1分组局部优化法分组局部优化的数据分配方法的算法思想为:将片段等分成若干个组(最后一个组的片段数可能少于前面组的片段数),设定一个初始分配L0
首先对一个组获得各种分配方案而不考虑其它组的分配,以此获得整体n个片段的各种分配方案,从中选择最优的,得到该组的局部最优
按照这个方法对余下的每个组进行分配得到各组的局部优化,由此获得一个总体的优化分配方案L1,比较L1和L0的代价误差,若误差未满足条件,再对上述过程进行迭代处理直至误差满足条件
优缺点:分组局部