关键词:
分布式
数据库
冗余
分配
分片
摘要:
在分布式的数据库系统中,一般情况它的最大特征是存在数据冗余。分布式数据库因物理位置不同,存储设备比较分散,要保证数据的完整性和可信性,降低数据库风险性,大多通过冗余数据的多重备份来保障,这就必然使得系统会损失掉部分的存储空间。此次研究给出了以往经常使用的分配算法,然后以此为基础进行对比分析,然后给出了以事务与数据类型为基础的新的分配方法,该方法基本满足了分布式的数据库的需求,统计数据的加入分析,使得数据分配更有目的性,从而有效地提高了分配的效率,减少了系统的总代价。因此,本文在冗余的分布式数据库系统中,探求一种算法使得系统对数据片段的调用和分配能够达到一种较好的平衡且更加有效。新策略的有效性主要体现在两个方面,一个是系统分配效率的提高,另一个是系统的总代价的降低。我们进行数据片段分配就是为了使系统的总代价降低,消耗最少的资源,做更多的工作。为了达到更好的降低系统代价和提高系统分配效率的目的,本文通过对最佳适应算法和启发式添加副本方法的基础上,参考了启发式算法选择相对最优等优点,给出了本文的以事务与数据类型为基础的数据分配新策略。该篇文章提到的系统的总代价是由事务对数据的查询代价和更新代价组成。具体来说,查询代价和更新代价又包含本地站点上的事务对该站点内数据的更新和查询操作,以及对非本地站点上数据的更新和查询操作。而对非本地站点数据的操作,又会因为站点距离不同,产生一系列不同的通信代价,也要考虑。所以该篇文章考虑的系统代价主要由本地查询代价、本地更新代价、异地查询代价、异地更新代价、异地通信代价这五个主要影响因素决定。本文查阅了以往数据分配算法,他们在操作方法上是基本上相同的。都类似先通过对数据进行非冗余的分配,再对数据进行冗余副本的调节。例如,启发式添加算法,首先对所有数据分配到站点上,再通过计算每一个站点上对每一个数据副本的分配是否会增加系统的总代价,来确定数据的分配方案。本文的以数据与事务类型作为分配基础的算法,在步骤上首先初始化进行静态的分配,再进行动态的调节冗余。而且在分配步骤之前先进行系统已有的数据统计,按照统计后的数据参数类型静态分配数据,更加有针对性,这些与前面提到的算法有同有异。同时,该策略在数据副本的限定方面也存在一些不同点。例如,本研究对更新方面的数据设计了数据副本的冗余度上限值和下限值。通过多次试验后,选定限定值的设置范围,通过设置的限定值,一方面够保证数据的冗余副本数量来保证系统的可靠性,另一方面又能够减少多余的数据片段对系统空间的浪费。本文提出的策略可以为系统提供较好的分配选择方案。通过实验表明,该分配算法可以控制分片的副本冗余度,因此可以缩短数据的分配时间,提高了系统的数据分配的效率。