實驗描述:分布式數據庫的算法partition的具體實現。即通過該算法找到關系數據庫最優分裂點,使得結果最優。
算法思想:
1、 首先根據所輸入的attribute usage matrix得到AQ( )
2、 對CA矩陣中劃分點預先設在n-1處,并將屬性列分成兩個集合,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、 計算出CTQ、CBQ、COQ這些值,其中CTQ= ,CBQ= ,COQ=
5、 通過劃分點的第次移動分別計算出z=CTQ*CBQ-COQ2
6、 對取到的z的最大值處標記,為分割點
7、 對CA進行調整,重復計算得到最終z的最大值點,對CA矩陣進行劃分
8、 對上述算法進行修改,將得到的最大z值的分割點和次大的分割點都記錄下來,得到兩個分割,則將原有的屬性集劃分成三部分。
該算法的目的是找到獨立存取的屬性集合或者分別的應用集。比如說,如果可以找到兩個屬性A1,A2,他們只是被q1讀取,而A3,A4被q2,q3讀取,這樣在分裂的時候可以確定。算法就是找到這些組。另外為了簡單化起見,我命令refj(qi)全部等于1.
標簽:
partition
算法
實驗
分布式數據庫
上傳時間:
2015-06-04
上傳用戶:13160677563