實(shí)驗(yàn)描述:分布式數(shù)據(jù)庫(kù)的算法partition的具體實(shí)現(xiàn)。即通過該算法找到關(guān)系數(shù)據(jù)庫(kù)最優(yōu)分裂點(diǎn),使得結(jié)果最優(yōu)。
算法思想:
1、 首先根據(jù)所輸入的attribute usage matrix得到AQ( )
2、 對(duì)CA矩陣中劃分點(diǎn)預(yù)先設(shè)在n-1處,并將屬性列分成兩個(gè)集合,TA和BA,TA中的元為:{ A1 、A2 …… An-1 },BA中的元素為:{ An}
3、 確定集合TQ、BQ和OQ,其中TQ={ qj| AQ(qi) TA},BQ= TQ={ qj| AQ(qi) BA}, OQ=Q-{TQ BQ}。
4、 計(jì)算出CTQ、CBQ、COQ這些值,其中CTQ= ,CBQ= ,COQ=
5、 通過劃分點(diǎn)的第次移動(dòng)分別計(jì)算出z=CTQ*CBQ-COQ2
6、 對(duì)取到的z的最大值處標(biāo)記,為分割點(diǎn)
7、 對(duì)CA進(jìn)行調(diào)整,重復(fù)計(jì)算得到最終z的最大值點(diǎn),對(duì)CA矩陣進(jìn)行劃分
8、 對(duì)上述算法進(jìn)行修改,將得到的最大z值的分割點(diǎn)和次大的分割點(diǎn)都記錄下來,得到兩個(gè)分割,則將原有的屬性集劃分成三部分。
該算法的目的是找到獨(dú)立存取的屬性集合或者分別的應(yīng)用集。比如說,如果可以找到兩個(gè)屬性A1,A2,他們只是被q1讀取,而A3,A4被q2,q3讀取,這樣在分裂的時(shí)候可以確定。算法就是找到這些組。另外為了簡(jiǎn)單化起見,我命令refj(qi)全部等于1.
標(biāo)簽:
partition
算法
實(shí)驗(yàn)
分布式數(shù)據(jù)庫(kù)
上傳時(shí)間:
2015-06-04
上傳用戶:13160677563