首页 理论教育数据片分配的一般原则

数据片分配的一般原则

【摘要】:在确定数据片分配时,有两种截然不同的方式,非冗余分配方式与冗余分配方式。需要指出的是,这里忽略了放置数据片后它们之间的相互影响。确定一个节点集合,并在这些节点上为每个数据片分配一个最佳版本。注意,这只是一种贪心的算法,从而忽略了“相互”效应,即增加一个副本,但对原来分配的影响我们没有考虑,因此最后的结果不见得是最佳的。

在确定数据片分配时,有两种截然不同的方式,非冗余分配方式与冗余分配方式。

相对而言,确定非冗余分配方式要简单些。即采用择优(best-fit)方法,这时列出所有可能的分配方案,选择其中最佳的一种方案。需要指出的是,这里忽略了放置数据片后它们之间的相互影响。

注意,副本的存在增加了复杂性,原因如下。

(1)每个分片的副本数成了问题的变数。

(2)选择合适的读应用模式,由于有各种选择余地,因此更复杂了。

为了确定数据片的冗余分配,可以选择如下方式。

(1)确定一个节点集合,并在这些节点上为每个数据片分配一个最佳版本。这个集合(或方法)称为全部最佳节点(all beneficial sites)。

(2)一旦解决了非冗余分配问题,就可以着手解决冗余副本分配问题。可以逐步增加副本数,并给它们分配节点,选择所有可能在节点中受益-开销差最大(必须大于0)的节点分配一个副本,直到不再存在有益的附加副本节点为止。

注意,这只是一种贪心的算法,从而忽略了“相互”效应,即增加一个副本,但对原来分配的影响我们没有考虑,因此最后的结果不见得是最佳的。所以,期待大家继续研究。

下面进行定量分析。为了进行定量分析,需要定义一些参数,这些参数有数据片分布,以及分布式数据库的节点标识、应用情况等。(www.chuimin.cn)

上面讨论的是一个全局关系R,下面是一些涉及设计的参数。

●i是数据片的编号。

●j是节点的编号。

●k是应用的编号。

●fkj表示节点j应用k的发生频度。

●rki表示应用k访问数据片i的次数。

●uki表示应用k更新数据片i的次数。

●nki=rki+uki,表示应用k使用数据片i的次数。