分布式存取優(yōu)化(數(shù)據(jù)庫)
時間:2022-12-19 16:30:01 | 來源:信息時代
時間:2022-12-19 16:30:01 來源:信息時代
分布式存取優(yōu)化 : 在分布式環(huán)境下實現(xiàn)分布式數(shù)據(jù)庫的優(yōu)化存取操作。通常,分布執(zhí)行過程實際上就是從查詢場地發(fā)出查詢命令、從數(shù)據(jù)源獲取數(shù)據(jù)、確定最佳的執(zhí)行場地和返回執(zhí)行結(jié)果的過程,可用圖1描述。查詢場地指發(fā)出查詢命令和存儲最終查詢結(jié)果的場地。查詢場地也稱最終結(jié)果文件。源數(shù)據(jù)場地指查詢命令需要訪問的數(shù)據(jù)副本所在的場地,可能涉及到一個或一個以上的場地。源數(shù)據(jù)場地也稱源數(shù)據(jù)文件。執(zhí)行場地: 指查詢操作執(zhí)行所在的場地。執(zhí)行場地可以和查詢場地或源數(shù)據(jù)場地處于同一場地,也可以不處于同一場地。執(zhí)行場地也稱中間結(jié)果文件。
圖1 分布執(zhí)行過程
根據(jù)代價評估模型確定最佳方案。常采用的有半連接優(yōu)化方法和枚舉法優(yōu)化技術(shù)。
由于分布式數(shù)據(jù)庫系統(tǒng)的網(wǎng)絡(luò)環(huán)境不同,考慮費用的側(cè)重點也不同: 對于遠程網(wǎng),主要考慮通信開銷,使通信代價最小。對于局域網(wǎng),需同時考慮通信代價和本地處理代價,使綜合代價最小。
1.存取優(yōu)化代價模型
分布數(shù)據(jù)庫系統(tǒng)中,影響查詢效率的因素主要指傳輸代價、I/O代價和CPU代價。傳輸代價主要包括傳輸代價和啟動延遲;I/O代價指讀寫磁盤頁面的代價;CPU代價指程序執(zhí)行代價。
通常具有下面的統(tǒng)計值:
廣域網(wǎng)環(huán)境中: CCOM/CIO=20:1;
局域網(wǎng)環(huán)境中: CCOM/CIO=1.6:1。
因此,在具體優(yōu)化過程中,針對實際場景,側(cè)重考慮相應(yīng)的代價因素,定義恰當?shù)膬?yōu)化代價模型,以此代價模型為準,選擇代價小的執(zhí)行策略執(zhí)行。
2.半連接優(yōu)化方法
半連接技術(shù)的優(yōu)化目標是降低傳輸費用。半連接操作(R⋈S)是R與S自然連接后在R上的投影,描述為R⋈S=∏
Attr(R)(R⋈S)。
半連接優(yōu)化算法具體如下:
輸入信息:位于不同場地上的兩個關(guān)系R和S。
輸出信息: 實現(xiàn)R⋈S(R.A=S.B)。
算法:(設(shè)S的關(guān)系大小小于R)在S所在場地上計算S`=∏
B(S),傳送S`到R場地: 在R場地上計算R`=R⋈S`=R⋈S,將R`傳到S所在場地;在S所在場地上計算R`⋈S=(R⋈S)⋈S=R⋈S。
半連接技術(shù)是通過局部縮減操作關(guān)系的數(shù)據(jù)量,發(fā)送縮減的關(guān)系到執(zhí)行場地,在執(zhí)行場地對縮減后的關(guān)系進行查詢處理。采用該技術(shù)可降低場地間傳遞的信息量,從而減少了整個系統(tǒng)的傳輸代價。但半連接技術(shù)在降低傳輸代價的同時,又增加了系統(tǒng)的局部處理代價。
3. 枚舉法優(yōu)化技術(shù)
若側(cè)重傳輸代價,局部代價可以忽略不計時,則采用半連接技術(shù)較好: 相反,側(cè)重局部代價時,采用直接連接比采用半連接技術(shù)簡單。枚舉法是基于直接連接的實現(xiàn)方法。
(1)連接運算代價:存在關(guān)系O和I,實現(xiàn)連接Result=O⋈I(O.A=I.B)。
①嵌套循環(huán)法: 是將關(guān)系O的每個元組對關(guān)系I的元組順序掃描,查詢符合連接屬性條件的元組,形成連接結(jié)果的一部分。該方法需要對關(guān)系O有一次完整掃描,對關(guān)系I有Card(O)次掃描。
②合并掃描法:是按連接屬性順序?qū)蓚€關(guān)系掃描,取其匹配的元組構(gòu)成結(jié)果的一部分。在實現(xiàn)中為減少I/O次數(shù),在讀取內(nèi)關(guān)系時,將內(nèi)關(guān)系中和外關(guān)系具有相同連接值的元組放到緩沖區(qū)中,則在處理外關(guān)系后續(xù)元組時,將具有相同連接值的內(nèi)關(guān)系元組直接從緩沖區(qū)取出,而不必再去讀頁面。但要求將內(nèi)、外關(guān)系排序,排序代價取決于存取方法。
(2)連接關(guān)系傳輸方法: 存儲在不同場地上的關(guān)系O和I執(zhí)行連接操作時,其執(zhí)行場地可選在O或I所在的某一場地。執(zhí)行前,需將不在執(zhí)行場地的關(guān)系傳輸?shù)綀?zhí)行場地上。通常采用全部傳送或按需傳送方法實現(xiàn)關(guān)系傳輸。
全部傳送(shipped whole):傳送費用為要傳送的關(guān)系的字節(jié)數(shù)。
按需存取(fetched as needed): 按需存取是根據(jù)請求命令,按需讀取信息。
執(zhí)行場地: 執(zhí)行場地有三種情況: 在關(guān)系O所在的場地(Site(O))或關(guān)系I所在的場地(Site(I))或其他場地(Site(Other))。若場地為Site(O),需傳送I關(guān)系;若場地為Site(I),需傳送O關(guān)系; 若場地為Site(Other),需傳送O和I關(guān)系。