(Tt luận án) Xử lý và tối ưu hóa truy vấn trong cơ sở dữ liệu hướng đối tượng phân tán

28 0 0
(Tt luận án) Xử lý và tối ưu hóa truy vấn trong cơ sở dữ liệu hướng đối tượng phân tán

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘGIÁODỤC VÀĐÀOTẠO VIỆN HÀNLÂMKHCNVIỆTNAM HỌCVIỆN KHOAHỌCVÀCÔNGNGHỆ …… ….***………… MAITHÚYNGA XỬ LÝ VÀ TỐI ƯU HÓA TRUY VẤN TRONGCƠSỞ DỮLIỆUHƯỚNGĐỐITƯỢNGPHÂNTÁN Chuyên ngành: Cơ sở Tốn học cho Tin họcMãsố:62 460110 TĨM TẮTLUẬN ÁNTIẾNSĨTỐN HỌC HÀNỘI–2017 Cơngtrìnhđượchồnthànhtại: HọcviệnKhoahọcvàcơng nghệ- ViệnHànlâmKhoahọc vàcơngnghệViệt Nam Người hướng dẫn khoa học 1: PGS TS Đoàn Văn BanNgườihướngdẫnkhoahọc2:TS NguyễnMạnhHùng Phản biện 1: TS Nguyễn Long GiangPhản biện 2: PGS TS Bùi Thu LâmPhảnbiện3:PGS.TSTrầnĐăng Hưng LuậnánsẽđượcbảovệtrướcHộiđồngchấmluậnántiếnsĩ,họptạiHọcviệnKhoahọc vàCôngnghệ-ViệnHànlâmKhoa họcvà cơngnghệViệtNam vào hồi…giờ…’,ngày…tháng…năm2017 Cóthểtìmhiểu luậnántại: MỞĐẦU ĐốivớimộtsốlĩnhvựcchunsâucủaCơsởdữliệunhưMultimedia,địalí,CAD/CAM/CIMvà hệ thống tài chínhphứctạp,CSDLquanhệbộclộnhữnghạnchế.Cơsởdữliệuhướngđốitượng(CSDLHĐT)rađờiđểkhắcphụccáchạnchếnày.CSDLHĐTcũng đượcxâydựngvớimục đích tích hợp với ngơn ngữ lập trình hướng đối tượng, loại ngơn ngữ lập trình phổ biến nhấttrongcácứngdụngngàynay Trong CSDL HĐT, “đối tượng” đơn vị trung tâm, đối tượng lưu trữ không chỉdữ liệu mà cịn thao tác chúng CSDL HĐT có đặc trưng tính đóng gói, kế thừa,đahình.Ngồivấnđềvềchứcnăngvàđộphùhợpvớibàitốn,cáchệthốngCSDLHĐTcầnđượcđánhgiávềhi ệunăng.TrongcáctiêuchuẩnđánhgiáhiệunăngCSDLHĐT,OO7cóthểđượccoilàtiêuchuẩnvàlàthưviệnphổbiến,cung cấpkháđầyđủcáckịchbảnkiểmthửđểđánhgiácácloạiCSDLHĐTtừ nhiềugócđộkhácnhau Để đáp ứng nhu cầu doanh nghiệp lớn với liệu phân tán nhiều trạm vị trí địalý khác nhau, CSDL phát triển mơi trường mạng tạo thành mơ hình sở liệu phântán (CSDL PT) Một số mục tiêu việc phát triển hệ thống CSDL PT tăng độ tin cậy vàtínhsẵnsàng,đápứngtínhphântáncủatổchức,cókhảnăngmởrộng,… ThiếtkếphântánCSDLbanđầucũngpháttriểntrongngữcảnhmơhìnhdữliệuquanhệ,sauđómởrộngtrongmơh ìnhdữliệuhướngđốitươngtạothànhmơhìnhcơsởdữliệuhướngđốitượngphântán(CSDLHĐTPT).Trong CSDL HĐT PT nhiều vần đề cần nghiên cứu, có việc xử lý truy vấn đốitượngphântán.Xử lýtruyvấnliên quanđếnvấnđềthiếtkếphântánvàtốiưuhóaphântán Bài toán thiết kế phân tán nhằm mục tiêu nâng cao hiệu hệ thống, chia thànhhai giai đoạn phân mảnh cấp phát Cả hai toán phân mảnh cấp phát bàitoán NP-khó với khơng gian tìm kiếm lớn Trong CSDL HĐT PT phân mảnh cấp phát thựchiện lớp đối tượng Phân mảnh dọc nhằm mục đích chia lớp thành phần nhỏ hơn,mỗiphầngồmmộtsốthuộctínhvàphươngthức.Phânmảnhngangchiacácđốitượngtrongcùngmộtlớpth ànhcácphầnkhácnhau,mỗiphầngồmmộtsốđốitượng.Cácthuậttốnphânmảnhlớpđãđượcthựchiệntrongcácnghiên cứukháctheocáchướngkhácnhaunhưdựatrênthuậttốnnăng lượng nối, phân mảnh dựa thuộc tính, dựa phương thức, dựa heuristic, dựa trêntáctử,dựatrênlýthuyếtmờ, Cấpphátlàđịnhvịcácmảnhđốitượngvàocáctrạmtương ứngcủamạngliênkết.KhơngnhiềunghiêncứuđềcậpđếnvấnđềcấppháttrongCSDLHĐTPT,trongđócóthuậttố nđồthị,giảithuật ditruyền,heuristic Luận án tập trung vào vấn đề tối ưu hóa truy vấn thảo luận tốn thực thi cácbiểuthứcđườngdẫn.Biểuthứcđườngdẫnlàmộtdãythamchiếuđểtruyxuấtđếncácđốitượngtheo thuộc tính phương thức Mục tiêu tối ưu hóa biểu thức đường dẫn tìm mộtchiến lược thực thi biểu thức đường dẫn cách hợp lý nhằm tối thiểu hóa chi phí Chi phí đượctínhtốnởđâylàchiphítheothaotácxuấtnhập, chiphítínhtốnvàchiphítruyềndữliệu,trongđóchiphíđángkểnhấtlàchiphítruyềndữ liệu Mục tiêu nghiên cứucủa luận án nghiên cứu vấn đề xử lý truy vấn để nâng cao hiệunăngcủa hệthống.Với mục tiêu này,nộidungnghiêncứucủaluậnánlà: - Nghiêncứucáchệthống đánhgiáhiệunăngcủaCSDL HĐTtrongmơitrườngtậptrungvàphântán - Nghiêncứucácthuật tố nphânmả nh vàcấpp há t đốitượng Đềxuấtthuậ t tốnphâ nmảnhvàcấpphátđốitượngphântánmới - NghiêncứucácthuậttốntốiưuhóatruyvấncóchứabiểuthứcđườngdẫntrongCSDLHĐT.Đềx uấtthuậttốntốiưuhóabiểuthứcđườngdẫnmớitrongCSDLHĐTPT Đối tượng nghiên cứucủa luận án CSDL HĐT PT, thư viện đánh giá hiệu năng, cácthuậttốnphânmảnh,cấpphátvàtốiưuhóatruyvấnđãcó Phạm vi nghiên cứucủa luận án toán phân mảnh cấp phát lớp, tối ưu hóa biểuthứcđườngdẫn Phương pháp nghiên cứulà nghiên cứu lý thuyết, xây dựng thuật toán đánh giá độphứctạpcácthuậttốn,càiđặtthựcnghiệmcácthuậttốn,kiểmtratrêncác bộdữliệuđểsosánhđánhgiá Cácđónggópchínhcủaluậnánbao gồm:  ĐánhgiáhiệunăngmộtsốCSDLHĐTphổbiếnnhưVersantthơngquathưviệnOO7trêncáctiêuch íchính:Tốcđộxửlítrongviệcduyệtđốitượng,mứcđộhiệuquảtrongviệcthayđổiđốitượng(tạo,xóa vàcậpnhật),hiệuquảcủaviệcxửlýcácloạicâutruyvấnđốitượng  Đề xuất hai thuật toán cho việc phân mảnh cấp phát CSDL HĐT: (1) Thuậttoán phân mảnh dọc lớp đối tượng dựa tương quan thuộc tính (2) Thuật tốnheuristicthựchiệnphânmảnhdọcvàcấpphátđồngthờicáclớpđốitượngdựatrênchiphí  Đề xuất thuật tốn truyền liệu để thực truy vấn biểu thức đường dẫn trongCSDLHĐTPTbằngbộlọcBloom.Đềxuấtthuậttốntốiưuhóabiểuthứcđườngdẫntrong CSDL HĐTPTbằngquyhoạchđộngsửdụngcơchếsinhcâyconcảmsinhvàcơchếtruyềndữ liệubằngbộlọcBloom Luậnánđược tổchứcthànhphầnmởđầu,bachươngnộidungvàkếtluận Chương Igiới thiệu khái niệm CSDL HĐT CSDL HĐT PT Phần cuốichương tập trung phân tích thư viện OO7, cài đặt thư viện để đánh giá hiệu hệquảntrịCSDLHĐTPT ChươngIItrìnhbàycácthơngtinđầuvàovàcáchbiếnđổicácthamsốđầuvàocủabàitốnphân mảnh cấp phát theo quan hệ CSDL HĐT PT Tiếp theo, đề xuất thuật tốn phânmảnhdựatrêntươngquanthuộctínhvàthuậttốnheuristicđểphânmảnhdọcvàcấpphátlớpmộtcáchđồngthờ i Chương IIInghiên cứu vấn đề liên quan đến tối ưu hóa truy vấn Luận án đề xuất thuậttoán tối ưu biểu thức đường dẫn CSDL HĐT PT sử dụng phương pháp liệt kê cảmsinhtrongmộtđồ thịvàcơchếcủabộlọcBloomđểgiảmchiphí truyền liệugiữahaitrạm Phần kết luận cuối nêu đóng góp luận án, hướng nghiên cứu tiếp theođượcđặtratừ kếtquảcủa luậnán CHƯƠNG1-CƠSỞDỮLIỆUHƯỚNGĐỐITƯỢNGPHÂNTÁN 1.1 Cơsởdữliệuhướngđốitượng Các ứng dụng phức tạp thiết kế sản xuất cơng nghiệp (CAD/CAM CIM), thínghiệm khoa học, viễn thông, hệ đồ CSDL đa phương tiện, đòi hỏi cấu trúc liệu phảimềm dẻo linh hoạt Mơ hình CSDL hướng đối tượng (CSDL HĐT) đề xuất để giải quyếtcácvấnđềnày.CSDLHĐT cómộtsốđặcđiểmcơbảnsau: - Cungcấpkhảnănglưutrữvàthaotácvớicáckiểudữliệutrừutượnghơn(nhưhình ảnh,bảnđồ)vàkhảnăngchophépngười dùngđịnhnghĩacáckiểuchotừngứngdụng - Cung cấp khả biểu diễn quan hệ đối tượng liệu theo quan hệ tự nhiêncủa giới thực Ví dụ đối tượng tài liệu có chứa đối tượng video đốitượngvănbảncóđềmục - Có khả tích hợp trực tiếp với ngơn ngữ lập trình hướng đối tượng, ngơn ngữ màngàynayđượcsử dụngtrongphầnlớncácứngdụng 1.1.1 Đốitượng Khái niệm CSDL hướng đối tượng đối tượng (object) Đối tượng biểudiễnmộtthựcthểcóthựctronghệthốngđược mơhìnhhóa.Mỗiđốitượngbiểudiễnbằngmộtbộ(OID, trạng thái, giao diện), OID (Object Identifier) định danh đối tượng vàtrạngthái(state)tươngứnglàmộtbiểudiễntrạngtháinàođóchotrạngtháihiệntạicủađốitượng,giaodiện(interf ace)địnhnghĩacáchànhvicủa đốitượng Trạng thái đối tượng giá trị nguyên tử giá trị xây dựng Gọi D làtậpcácmiềndohệthốngđịnhnghĩavàmiềncáckiểudữliệutrừutượngdongườidùngđịnhnghĩa,gọiIlàmiềnđịnhdanh đượcdùngđểđặttênđốitượng,Alàmiềncáctênthuộctính.Mộtgiátrịđượcđịnhnghĩanhư sau: MộtphầntửcủaDlàmộtgiátrị vàđượcgọi làgiátrịnguyêntử(atomic value) [a1: v1,…, an: vn] gọi giá trị (tuple value), ailà phần tử củaA vilà giá trị phần tử I [ ] gọi toán tử tạo lập (tupleconstructor) {v1,…,vn}đượcgọilàgiátrịtậphợphoặctrịtập(setvalue),vớivilàmộtgiátrịhoặclàmộtphầntử củaI.{}đượcgọilàtốntửtạolậptập(setconstructor) Vídụ1.1:Xemxétcácđốitượngsau (i1,230) (i2,”Sinhviên”) (i3,{i6,i11}) (i4,{1,6,9}) (i5,[LF:i7,RF:i8,LR:i9,RR:i10]) 1.1.2 Lớp Một lớp mẫu cho nhóm đối tượng, định nghĩa kiểu chung cho đốitượng tạo nên từ mẫu Một lớp mô tả kiểu liệu cách cung cấp mộtmiềncủadữliệuvớicùngcấutrúc,cùngvớicácphươngthứccóthểápdụnglêncácphầntửcủa miềnđó.Khảnăngtrừutượnghóacủacáclớp,đượcđềcậpbằngtínhđónggói,dấucáccàiđặtchitiếtcủacácphương thức,tươngtácvớibênngồithơngquamột giaodiện Ví dụ 1.2: Mơ hình hóa tơ với nhiều phận (động cơ, giảm sóc, bánh xe) sẽlưucácthơngtinkhácnhư hãngsản xuất,sốseri,… typeXeHoi attributesdongCo :DongCo cacGiamSoc:{GiamSoc} cacBanhXe: [traiTruoc: BanhXe, phaiTruoc: BanhXe,traiSau:BanhXe,phaiSau:BanhXe] hangSanXuat: HangSanXuatmethods tuoi: Real()thayBanh(diaDiem,b anhXe) Cấutrúcdữliệugiaodiệncủamộtlớpcóthểphứctạpvàlớntù.Lớpcungcấphaiưuđiểm chính:Dễdàngmởrộngtừkiểungunthủycủahệthốngsangcáckiểudongườidùngđịnhnghĩa 1.1.3 Hợpphần Trongvídụ1.2,mộtsốthuộctínhdựatrênđốitượng,chẳnghạnthuộctínhhangSanXuatvớimiền tập cácđốitượngcókiểuHangSanXuat Trong trường hợp này, kiểuXeHoilà mộtkiểuhợpphần(compositetype)vàcácthểhiện củanóđượcgọilàcácđốitượnghợpphần(composite object).Hợpphầnchophépchiasẻcác đốitượng Ví dụ 1.3: Giả sử x1là thể kiểuXeHoi Nếu điều sau chứng tỏHungvàNamcóchungmộtchiếcxe (i2,[ten:Hung,soHuuXe:x1]) (i3,[ten:Nam,soHuuXe:x1]) 1.1.4 Phânlớp convàtínhkếthừa Các hệ đối tượng cung cấp khả mở rộng kiểu, lớp từ kiểu, lớp có Điều nàyđượcthựchiệnthơngquađịnhnghĩacáclớpnhờtốntửtạolậpkiểuhoặcbằngđịnhnghĩacáclớpdựa vào lớp đãcósẵnvàbổsungcácthànhphầnđểtạoracáclớpcon.Sinhlớpcondựavàomối liên hệ chuyên biệt hóa lớp Một lớp chuyên biệt (lớp con) định nghĩa chi tiếthơnsovớilớpmàtừđónóđượcchunbiệt(lớpcha) Vídụ1.4:Xesẽđịnhnghĩanhữngtínhchấtchungcủa tấtcảcáckiểuxe type Xe as Objectattribute s dongCo: DongCohangSanXuat:HangSa nXuat methods tuoi():Real; ĐịnhnghĩaXeHoikếthừatừkiểuXevàthêmmộtsốthuộctính type XeHoi as Xeattributes cacGiamSoc:{GiamSoc} cacBanhXe: [traiTruoc: BanhXe, phaiTruoc: BanhXe,traiSau:BanhXe,phaiSau:BanhXe] soCho:Integer Khaibáorằngmộtkiểulàkiểuconcủamộtkiểukháctạorasựkếthừa(inheritance),kếthừachophéptáisửdụng Nếumộtkiểukếthừatừmộtkiểukhácgọilàđơnkếthừa,nếumộtkiểukếthừatừ nhiềukiểukhácgọilàđakếthừa 1.2 Cơsởdữliệuhướngđốitượngphântán 1.2.1 Mơhình cơsởdữ liệuhướngđốitượngphân tán Một Cơ sở liệu (CSDL) phân tán tập hợp nhiều CSDL có liên quan logic đượcphân bố mạng máy tính, biểu diễn nhưHình 1.1.Có hai đặc điểm quan trọng địnhnghĩaCSDLphântán:  Liênquanlogic:Dữliệutronghệphântáncómộtsốthuộctínhràngbuộcchúngvớinhau  Phân tán:Dữ liệu khơng cư trú vị trí mà phân bố rộng khắp nhiềumáytínhđặttạinhiềuvịtríkhácnhau Trạm Trạm Trạm Mạng truyền liệu Trạm Trạm Hình1.1:Mơi trườngcủa hệCSDL phântán Với lợi công nghệ mạng truyền thông, mơ hình CSDL phân tán phù hợp với phântánvềmặttổchứccủacáccơngty,đặcbiệtlàcáccơngtytồncầu Sựphânbốcủacơsởdữliệuhướngđốitượngtheomơhìnhcơsởdữliệuphântángọilàcơsởdữliệuhướngđốitượ ngphântán(CSDLHĐTPT) 1.2.2 CácưuđiểmcủaCSDLphântán - Quản lý liệu phân tán với mức suốt khác - nhauTăngđộtincậycủacácgiaodịchphântán - Cảithiệnhiệunăng Dễmởrộng 1.2.3 Cácvấnđề cầngiảiquyếttrong CSDL phântán CácvấnđềcầngiảiquyếttrongCSDLPTvàmốiquanhệcủachúngbiểudiễntrongHình 1.2 Thiết kế CSDL phân tán trung tâm ảnh hưởng đến vấn đề khác Chẳng hạn thiết kếảnh hưởng đến việc quản lý thư mục định nghĩa mảnh vị trí chứa chúng xác địnhnộidungthưmục.Nhữngthơngtinvềmảnhvàvịtrícũngđượcbộxửlýtruyvấndùngđểxácđịnhchiếnlượctruy vấn.Ngượclai,cácthơngtintruyvấnđượcsửdụngchocácthuậttốnphânmảnh Quản lý thư mục Xử lý truy vấn Thiết kế CSDL phân tán Độ tin cậy Quảnlýkhóagài Sao chép Hình1.2: Mối liên hệgiữa cácvấn đềtrong CSDL PT Điều khiển tương tranh 1.2.4 Kiếntrúc cơsởdữliệu hướngđối tượngphântán Kiến trúc hệ CSDL HĐT PT theo kiến trúc client/server Trong vấn đề cần nghiêncứu CSDL HĐT PT luận án tập trung giải ba vấn đề: Đánh giá hiệu năng, thiết kế phântán(phânmảnhvàcấpphát),tốiưuhóa truyvấnphântán ThiếtkếtrongCSDLHĐTPTphứctạphơn, chẳnghạn: - - Do tính đóng gói, cấu trúc đối tượng bao gồm phương thức trạng thái Vấn đềcần đặt có nên phân mảnh thuộc tính nhân các phương thức cho mỗimảnhhayphânmảnhlncảcácphươngthức Mỗithuộctínhvàphươngthứclạicóthểcókiểuđơngiảnhoặcphứchợp.Khiphânmảnhcác thuộc tính phươngthứcphứchợpchúngtaphảixétđếncáclớpliênquanbởicácthuộctínhvàphươngthứcnày Tốiưuhóa truyvấnphântán cómộtsốkhókhănnảysinh như: - Các hệ đối tượng có hệ thống kiểu phong phú hơn.Kết phép tốn đại sốđốitượngthườnglàcáctậpđốitượngthuộcnhữngkiểukhácnhau Đóng gói phương thức liệu đối tượng khả truy cập thơng tin vàđánhgiáchiphikhóhơn - Các đối tượng thường có cấu trúc phức tạp có phân cấp kế thừa, việc tối ưu hóaphứctạphơn 1.3 ĐánhgiáhiệunăngCSDLHĐTvớithư việnOO7 1.3.1 Giớithiệu OO7làmộtthưviệnđượcxâydựngđểđánhgiáhiệunăngcáchệthốngCSDLHĐTdựatrêncáctiêu chí sau: - Tốcđộxửlýtrongviệcduyệt(traversal)cácđốitượng,kểcảsửdụngbộnhớđệmhayduyệtt rực tiếptrên ổđĩa Mứcđộhiệuquảtrongviệcthayđổiđốitượng(tạo,xóavàcậpnhật),kểcảđốitượngsửdụngindexv àkhơngsử dụngindex,dữliệulặpvàdữ liệudư thừa Hiệunăngcủaviệcxửlýcácloạicâutruyvấn đốitượng 1.3.2 ThiếtkếCSDLcủaOO7 Hai thành phần thiết kế liệu OO7 tập “Đối tượng ngun tố” (atomicobject)và“Đốitượngphứchợp”(compositeobject).Tậphợpcácđốitượngnguntốtheomộtsốkếtnối nàođótheomơhìnhđồthịsẽcấuthànhmộtđốitượngphứchợp,mỗithànhphầnphứchợptươngứngvớimộtthiếtkếcơbản nàođócủaứngdụngthựctế.ĐồthịkếtnốigiữacácđốitượngAtomictrongmộtđốitượngCompnhư Hình1.5 Mỗi thiết kế CSDL gồm nhiều module module bao gồm nhiều assembly mà đómộtassemblylàsựđónggóicủanhiềuđốitượngphứchợpvàngunthủyvớinhauvàcóthểđónggóingaycảcáca ssembly.Cácassemblylạicóthểđượcđónggóiđểhìnhthànhcácassemplyphứchợpvàcácassemblynàyđượcliê nkếttheohìnhcây.Mỗimoduleđượcthiếtkếgồmmộtđốitượngdữliệukíchthướclớnđểmơphỏngtrongviệcđánhgiáhiệunăngvới cácđốitượngcựclớn.MơhìnhhóabảnthiếtkếCSDLcủaOO7đượcminhhọanhưHình1.6 Các tham số cho phép cấu hình CSDL mức nhỏ, vừa lớn Ví dụ cấu hình thamsốnhư trongBảng1.1 MọiđốitượngvàcácthuộctínhcủabảnthiếtkếOO7đưarađềunhằmmụcđíchmơphỏngtốtnhấtcácbàit ốnhướngđốitượngtrongthựctế.Kểcảvớidạnghướngđốitượngphântán,thiết kếtrêncũngcóthểmơphỏngđượccácđốitượngtạicácđịađiểmcụcbộhoặcphântánkhácnhaumàởđó mỗimoduleđược minhhọanhưmột trạmxử lýcủahệphântán Bảng1.1:Các thamsố CSDL chínhcủa OO7 Thamsố Mơtả NumModule Sốlượngmodule NumCompPerModule NumAtomicPerComp Small Medium Large 1 10 Sốl ợ n g đ ố i t ợ n g p h ứ c h ợ p c ủ a mộtmodule 500 500 500 Sốlượngđốitượngnguyênthủytrongm ột đối tượngphức hợp 200 200 200 1.3.3 Kịchbảnđánhgiáhiệunăng Kịch đánh giá gồm mười kịch duyệt đối tượng tám kịch truy vấn Kịch bảnduyệtsẽthựchiệnởhaidạnglàHotvàCold.DạngColdsẽhồntồnkhơngsửdụngbộnhớcache,vớidạngduyệt HotthìbướcchuẩnbịchạygiốngnhưColdnhưngsauđóchạylạibalầncùngthaotácduyệtnhưColdvàsử dụnglạicacheđãcótừlầnchạyđầutiên 1.3.4 Kếtquảthựcnghiệm MộtsốthamsốcủaCSDLđượcthayđổiđểkiểmtradướinhiềugócđộ: - SửdụngcấuhìnhCSDLdạngnhỏ(small)vớicấuhìnhclient/ servervàdạngtệptrựctiếptrênổđĩa(embedded file) Sửdụngindex(indexon)vàkhơngsử dụngindex(indexoff) Tảidữ liệudạngđầyđủ (eagerload)vàdạngkhơngđầyđủ(lazyload) Chươngtrình bổsung dạngCSDLvừa(medium)thiếtlậpsẵnindexonvàeagerload 1.3.4.1 Kết duyệt dạng COLD Hình1.7: Biểuđồ thaotácduyệtdạng COLD - Khi sử dụng index kết có tốt khoảng 5% thời gian xử lý, kết khơng thực sựphản ánh tốt tính index phần lớn thao tác duyệt có xử lý update liệu (index phùhợpchoviệc đọchơnlàupdatedữ liệu) 12 mảnhtạimỗi trạmkhơngvượtqkích thước củatrạm.Nếu khảnănglưutrữcáctrạmkhơnghạnchếthìcóthểbỏquathamsốkíchthước trạm Địnhn g h ĩ a : V i m ỗ i p h n g t h ứ c 𝑚 𝑖vàm ộ t t h u ộ c t í n h 𝑎 𝑖c ủ a m ộ t l p C i,g i átrị 𝑗 MAU(𝑚𝑖,𝑎𝑖)được ược địnhnghĩanhưsau: 𝑗 𝑙 𝑙 MAU(𝑚𝑖,𝑎𝑖)= { 𝑗 𝑙 𝑖 1nếu𝑚𝑖sửdụng𝑎 𝑗 𝑙 0nếungượclại ThiếtlậptấtcảcácgiátrịMAU(𝑚 ,𝑎 )chotấtcảcácphươngthứcvàthuộctínhcủalớpC i 𝑖 𝑖 𝑗 𝑙 nhậnđượcmatrậnphươngthứcsửdụngthuộc tínhMAUi Địnhnghĩa2.5:Với mỗiphươngthức𝑚 𝑖c ủ a củamộtlớpC ivàmộtphươngthức𝑚 ℎc ủ a 𝑗 mộtlớpCh,giátrịMMU(𝑚 𝑖,𝑚ℎ) đượcượcđịnhnghĩanhưsau: 𝑗 𝑙 𝑙 MMU(𝑚𝑖,𝑚ℎ) = { 𝑗 𝑙 ℎ 1nếu𝑚 𝑖sửdụng𝑚 𝑗 𝑙 0nếungượclại 2.1.2 Thơngtinvềứngdụng Vớitínhđónggóicủacácđốitượng,cáctruyvấnứngdụngchỉtruycậpđượccácđốitượngthơngquacácp hươngthức Địnhnghĩa2.6:Vớimỗitruy vấn𝑞 𝑖t r u y c ậ p vàolớpCivàmộtphươngthức𝑚𝑖c ủ a lớpCi, 𝑗 𝑙 giátrị𝑄𝑀𝑈(𝑞 𝑖,𝑚𝑖) đượcượcđịnhnghĩanhưsau: 𝑗 𝑙 1nếu𝑞𝑖s𝑗ử dụng𝑚 𝑖 𝑄𝑀𝑈(𝑞𝑖,𝑚𝑖) = { 𝑗 𝑙 𝑙 0nếungượclại Thiếtlậptấtcảcácgiátrị𝑄𝑀𝑈(𝑞 ,𝑚 )chotấtcảcáctruyvấnvàolớpC ivớicácphương 𝑖 𝑖 𝑗 𝑙 i thứccủalớpC nhậnđượcma trậntruyvấnsử dụngphươngthứcQMUi Địnhnghĩa2.7:Vớimỗitruyvấn𝑞𝑖t r u�y cậpvàolớpCivàmộttrạmskt r o n g mạngkếtnối, giátrịtầnsu � ấttruycậpcủatruyvấnvàocáctrạm𝑄𝑆𝐹(𝑞 𝑖,𝑠 𝑘)làsốlầntruycậpcủatruyvấn𝑞 𝑖 𝑗 vàotrạmsk 𝑗 Thiết lập tất giá trị𝑄𝑆𝐹(𝑞𝑖,𝑠𝑘)cho tất truy vấn vào lớp Civới tất � � trạmskn h ậ n đượcmatrậntầnsuấttruycậpcáctruyvấnvàocáctrạmQSFi 2.1.3 Thơngtinvềmạng MatrậnchiphígiaotiếpgiữacáctrạmkíhiệulàSSC(SiteSiteCost)biểudiễnchiphígiaotiếpgiữa trạm 2.1.4 Bảngtómtắtcáckíhiệuđầuvào Bảng2.1:Tómtắtcác kí hiệu sửdụng Kí hiệu Mơ tả ýnghĩa Ci Lớp thứi trongCSDLHĐTPT Ai Tập cácthuộctính củalớp Ci j Thuộctính thứj củalớp Ci Mi Tậpcácphươngthứccủalớp Ci m ij Phươngthứcthứj củalớpCi Qi Tập cáctruyvấn vàolớp Ci q ij Truyvấn thứ j vàolớp Ci S Tậpcáctrạm sk Trạmthứk MAUi Matrận biểu diễn sựsửdụngthuộctính củaphươngthứccủalớp Ci QMUi Matrận biểu diễn sựsửdụngphươngthứccủatruyvấncủalớp Ci QSFi MatrậnbiểudiễntầnsuấttruycậpvàotrạmcủacáctruyvấncủalớpCi SSC Matrậnchiphígiaotiếpgiữa cáctrạm Fi Tậpcácmảnh củalớp Ci fij Mảnhthứj củalớp Ci MSizei Mảngkích thướccácphươngthứccủalớp Ci MSitei Mảngchứathơngtintrạmcủacácphươngthức(saukhiphânmảnhvàcấpphá t) 2.2 Hàmmụctiêucủaphânmảnh vàcấpphát Mục tiêu phân phân mảnh cấp phát tối thiểu hóa chi phí xử lý truy vấn, chi phínày bao gồm chi phí lưu trữ liệu, chi phí truyền liệu, chi phí đọc liệu Trong mơi trườngphântán,chiphítruyềndữliệulàchiphíquantrọngnhất,vìvậycácthuậttốnđềxuấttrongluậnán tập trungvàoviệcgiảmchiphítruyềndữliệu.Tổngchiphítruyềndữliệuđượcxácđịnhnhưsau: 𝑇𝐶= ∑ 𝑖 ∑ ∑ 𝑄𝑀𝑈 (𝑞𝑖,𝑚 𝑖)∗ 𝑆 𝑆 𝐶 ( 𝑀 𝑆 𝑖 𝑡 𝑒 ( 𝑚 i i 𝑙 𝑗 q Q 𝑠 S𝑚𝑖𝑀𝑖 l 𝑘 𝑖 ),𝑠 𝑘)∗ 𝑀 𝑆 i z e ( 𝑚 𝑖)∗ 𝑄 𝑆 𝐹 𝑖(𝑞𝑖,𝑠 𝑘) 𝑗 𝑗 𝑙 𝑗 (2.1) Trong công thức 2.1 chi phí tính tổng chi phí thức tất truy vấn Với mỗitruy vấn tính chi phí thực truy vấn trạm, truy vấn có sử dụng phươngthứccủalớpmàphươngthứcđókhơngcùngtrạmvớitruyvấnthìphảitínhchiphíchuyểnphươngthứctừ trạmđangđịnhvịsangtrạmmàtruyvấnđangthực 2.3 Biếnđổi sựsửdụngphươngthứcvàtầnsuấttruycập Trướchếtphảibiếnđổimatrậnsửdụngphươngthứcvàmatrậntầnsuấttruycậptrạmtheocác quan hệ CSDL HĐT quan hệ ảnh hưởng đến phân mảnh cấp phát Cácmốiquanhệ đượ c xemxéttheobakiểu:quan hệkếthừa , qua n hệbaogồm(thuộctínhphức ), phươngthứcphức.CácthơngtincáctruyvấntheocácquanhệđượcbổsungvàocácmatrậnQMUvàQSF Thuậttốn2.1-Modify_1(Ci) //BiếnđổiQMUiv QSFit h e o quanhệkếthừaĐầuvào: - cần CSDLgồmtậpCcáclớptrongđócólớpCi CácmatrậnQMUandQSFcủacáclớp phânmảnh Đầura: - QMUiv QSFis a u khibiếnđổi Cácbướcthựchiện: for(eachCh C) inherited i hk ế thừaCi h fromclassC )then//C if (Ch q h kQ)do//mỗitruyvấntrênlớpC for(each qh if(k uses methods mi h of j classCi)then begin //Thêm1dòngtươngứng q AddRow( end{if end{for q h} q hkvào QMUi h i k, QMU,QSF); vàQSFi; i k qh k}end{forCh} end{Thuậttoán2.1} Thuậttoán2.2:BiếnđổiQMUiv QSFit h e o quanhệbaogồm Thuậttoán2.3:BiếnđổiQMUiv QSFit h e o phươngthứcphứctạp 2.4 ThuậttốnAttrFragphânmảnhdựa trênthuộctính Phân mảnh đựa tương quan thuộc tính phương pháp kinh điển CSDL phântán quan hệ Trong CSDL HĐT PT Ezeife đề nghị thuật toán phân mảnh dựa tươngquan phương thức Theo thuật toán Ezeife có trường hơp liệu sử dụng cho phươngthứcnàyvàcácphươngthứckhơngcùngmộtmảnh.Điềunàydẫnđếnviệcthựchiệnphươngthứcphải có chiphítruyềndữliệu.Dođóchúngtơiđềnghịmộtthuậttốnphânmảnhdựatrênthuộctính, sau phân mảnh xong thuộc tính nhóm phương thức sử dụng thuộc tính cùngnhóm với nhau, phương thức nhân vài mảnh thuộc tính cácmảnhnàycùngđượcsử dụngbởiphươngthức 2.4.1 Xâydựngmatrậntruy vấnsử dụngthuộctính Địnhnghĩa2.8:Vớimỗitruy vấn𝑞 𝑖t r u y c ậ p vàolớpCivàmộtthuộctính𝑎 𝑖c ủ a lớpCi,giá 𝑗 trị𝑄𝐴𝑈(𝑞 𝑖,𝑎𝑖) đượcượcđịnhnghĩanhưsau: 𝑗 𝑙 𝑙 𝑖 𝑖 𝑄𝐴𝑈(𝑞 ,𝑎 ) = { 𝑗 𝑙 1nếu𝑞𝑖s𝑗ử dụng𝑎 𝑖 0nếungượclại 𝑙 Giá trị𝑄𝐴𝑈được tính thơng qua QMU MAU: Sau biến đổi ma trận truy vấn sửdụng phương thức (QMU) ma trận tần suất truy câp truy vấn vào trạm (QSF), nhân matrậnQMUvới matrận MAUsẽđượcmatrậntruyvấnsử dụngthuộctínhQAU 2.4.2 Xâydựngmatrậntươngquan thuộctính Tươngquanthuộctính(AttributeAffinity)giữahaithuộctính𝑎 𝑖và𝑎 𝑖t r o n g mộtlớpC il 𝑗 𝑙 tổngsốtần suấttruycậpcủatấtcảcáctruyvấnvàocùngcảhaithuộc tínhởmọisite: 𝐴𝐴(𝑎𝑖,𝑎𝑖)= ∑ ∑𝑟𝑒𝑓(𝑞𝑖,𝑠)𝑄𝑆𝐹(𝑞 𝑖,𝑠) 𝑗 𝑙 𝑚 ,𝑎 )=1&𝑄𝐴𝑈(𝑞𝑖,𝑎 𝑖 𝑚|𝑄𝐴𝑈(𝑞𝑖 𝑖 )=1𝑘 𝑚𝑗 𝑘 𝑚 𝑘 (2.2) 𝑚𝑙 Trongđó:  𝑟𝑒𝑓(𝑞𝑖, 𝑠) làsốtruycậpthuộctính𝑎𝑖v 𝑎𝑖c ho mỗitruyvấn𝑞𝑖ở sitesk 𝑚  𝑘 𝑗 𝑚 𝑙 𝑄𝑆𝐹(𝑞𝑖, 𝑠) l t ầ n s u ấ t truycậpcủa𝑞𝑖ở s i t e sk 𝑚 𝑘 𝑚 Xây dựng tương quan thuộc tính tất cặp thuộc tính lớp C icho ta ma trậntương quan thuộc tính AA (Attributes Affinity matrix) Ma trận tương quan thuộc tính đượcdùngcho cácthuậttốnphânmảnhnóichungvàcácthuậttốnphânmảnhdọcnóiriêng 2.4.3 SửdụngthuậttốnBEAđểphânmảnh Thuật tốnBEA (Bond Energy Algorithm) sử dụng thuật toán phân mảnhdọc theo tương quan thuộc tính Thuật tốn nhận đầu vào ma trận tương quan thuộc tính, hốnvị hàng cột sinh ma trận tương quan thuộc tính phân nhóm CA (ClusteredAffinity matrix) Hốn vị thực cho số đo tương quan chung AM (global affinitymeasure)làlớnnhất.Mụcđíchcủaviệcphânnhómlàkếthợpcácgiátrịgầnnhaulạivớinhau.Sựphânđoạ ncácthuộctínhđượcradọctheođườngchéochínhcủamatrậnCA 2.4.4 Bổsung cácphươngthứcvàocácmảnh Sau thực phân hoạch thuộc tính theo thuật tốn BEA, bổ sung thuộc tính địnhdanh vào tất mảnh Tiếp theo dựa vào ma trận phương thức sử dụng thuộc tính MAU, bổsung phương thức vào mảnh với thuộc tính mà sử dụng Như phương thức cóthểđượcnhânbảnởnhiềumảnh,điềunàycóthểlàmchiphílưutrữtănglênnhưngsẽgiúpchochiphíxử lýtruyvấngiảmđi 2.5 ThuậttốnFragAlloSphân mảnhđồngthờicấpphát Trongđasốcáchướngtiếpcậnvềphânmảnhvàcấpphátlớpcácđốitượng,việcphânmảnhvà cấp phát thựchiệnởhaigiaiđoạnriêngbiệt,phânmảnhđượcthựchiệntrước,sauđósẽđịnh vị mảnh vào trạm Thông tin mạng dùng cấp phát mà không dùng trongphân mảnh Luận án đề nghị hướng tiếp cận phân mảnh cấp phát đồng thời, sử dụng thông tinmạng cho phân mảnh cấp phátđể tăng tính hiệu việc phân mảnh cấp phát trongCSDLHĐT 2.5.1 Mơhình chiphí Chiphítruycậpmột pihươngthức cósử dụngphươngthức m m ij mộttrạmsklà tổngtầnsuấttruycậpcủacáctruyvấn j trêntrạmsk,chi phí nàyđượckíhiệurequestvàthiếtlậpnhưsau: requesti(s ,mi) k j l  qi Qi QSFi(q i,s )*QMUi(q i, l mi ) k l j ĐểthiếtlậpchiphítruycậpmỗiphươngthứccủamộtlớpC it cáctrạmchúngtasẽxâydựngm atrậnrequest i,matrậnnàychínhlàtíchcủahaimatrậnSQF i(làmatrậnchuyểnvịcủa SQFi)vàQMUi i Chiphíkhiđịnhvịmộtphươngthức m ij v o mộttrạmsklàchiphítruycậpvàophươngthức m jt tấtcảcáctrạms ≠ s ,chiphínàyđượckí hiệulàpayvàđượcthiếtlậpnhư sau: l k payi(s ,mi) k j  s l S requesti(s k ,mi)*SSC(s j k ,sl) (2.8) ĐểthiếtlậpchiphíđịnhvịmỗiphươngthứccủamộtlớpC iv o cáctrạmchúngtasẽxâydựng matrậnpayi,matrậnnàychínhlàtíchcủa2matrậnrequestivàSSC Dựav om a t r ậ n p a y iđ ể x c đ ị n h p h n g án c ấ p p h t c c p h n g t h ứiccủ a m ộ t C i.T h u ậ t m jv o trạmskm giá toánđềnghịlàmộtthuậttoánheuristic,mụctiêucủathuậttoánlàđịnhvị trị payi(sk,mi) j làbénhất 2.5.2 Xâydựngthuậttoán Thuậttoánphânmảnhvàcấ piphátđềxuấttheohướngtiếpcậnheuristicnhưsau:Dựavàoma trậnpayi,địnhvịphươngthức m jv o trạmskmà chiphígiaotiếplàbénhất.Thiếtlậpmộtphương án định vị, sau gom cụm phương thức trạm vào mảnh Trong mảnh,với phương thức xác định thuộc tính mà phương thức sử dụng để đưa vào mảnhnày Thuật toán 2.6 - FragAlloS(Ci): Phân mảnh cấp phátĐầuvào: cần - CSDLgồmtậpcáclớpCtrongđócólớpCi phânmảnh - CácmatrậnQMUandQSF,MAUcủacáclớp - Ma trận chi phí trạm SSCĐầura: - Phương án phân mảnh cấp phát cho lớp CiCácbướccủathuậttoán: //Bước1:BiếnđổiQMUvàQSFtheocácthuậttoánbiếnđổi Modify_1(Ci);Modify_2(Ci);Modify_3(Ci); //Bước2:Xâydựngmatrậnrequesti = requesti Nhan2matran(SQFi,QMUi); //Bước3:Xâydựngmatrậnpayi = payi Nhan2matran(requesti,SSC); //Bước4:Xácđịnhphươngáncấpphátdựavàomatrậnpayi for(each𝑚 𝑖)do � begin Chọns km giátrị𝑝𝑎𝑦 𝑖(𝑠𝑘,𝑚𝑖)b é�nhất; Cấpphát𝑚𝑖vàotrạms k;Thêm𝑚𝑖 � vào F k; � end{for𝑚 𝑖}� Thêmvàomỗimảnhphươngthứctruycậpđịnhdanh //Bước5:DựavàoMAUthêmcácthuộctínhvàocácmảnh for(each𝑚 𝑖)dofor( � each𝑎 𝑖)do 𝑙 if(MAU(𝑚𝑖,𝑎𝑖)=1)then 𝑗 begin 𝑙 Thêm𝑎 𝑖v o mảnhcó𝑚 𝑖; 𝑙 𝑗 Địnhvị𝑎𝑖v o trạmmà𝑚𝑖địnhvị; 𝑙 end; {if}end; 𝑗 𝑙 𝑖 {for𝑎 } end;{for𝑚 𝑖}� end;{Thuậttoán2.6} 2.5.3 Đánhgiáthuậttoán Thuật tốn phân mảnh xác thoả mãn ba ngun tắc phân mảnh.Nếumộtlớpcầnphânmảnhcó tậpcácthuộctínhlàA,tậpcácphươngthứclàM,tậpcáctruyvấnlàQ , m n g k ế t n ố i g m t â p c c t r m S t h ì đ ộ p h ứ c t p c ủ a t h u ậ t t o n đ ợ c x c đ ị n h l (|C|*|M|*|Q|+|M|*|Q|*|S|).Hơnnữa,hiệnnayđộ phức tạp thuật toán nhân hai ma trận N*N 2.38 đãđượccảitiếnđạtđếnđộphứctạpN ,vìvậyđộphứctạpcủabước3trongthuậttốn2.6chỉcịnlàN2.3 vớiNlàgiátrịlớnnhấttrongbagiátrị|M|, |Q|và|S| Cóthểliệt kêcácưuđiểmcủahướng tiếpcận heuristictrongthuậttốnnày: - Chỉcácphươngthứctruycậpđịnh danh mớilặplạitrongtấtcảcácmảnh Cácthơngtinvềmạng đượcsử dụngtrongcảhaigiaiđoạnphânmảnhvàcấpphát Độphứctạpcủa thuậttốnlàthấp Sốlượngtối đacácmảnhchỉbằngsốlượng cáctrạm 2.5.4 ThựcnghiệmthuậttốnFragAlloStrênOO7 ThuậttốnsinhngẫunhiêncácbộdữliệugồmcómãtrậndữliệuSSC,QMU,QSF.Mơphỏngdữliệuchạythử vớiOO7được thực hiệnnhưsau: - SửdụngđốitượngModulenhưlàcáctrạm LớpcầnđánhgiásẽđượcmởrộngtừđốitượngAtomicPartsẵncócủaOO7bằngcáchbổsungcác phươngthứcnhưthiếtlậpởcácmatrậntrên VớicáchthiếtkếlượcđồCSDLnóitrên,bàitốnđánhgiáđượcthựchiệntheo3phươngánphânmản hnhư sau: - Phươngán1:Phương ánphân mảnhvàcấpphátđượcsinhratheothuậttoánFragAlloS Phươngán2: Cấpphát tấtcảcácphươngthứcmivàomộttrạms1(hoặcs2,s3,s4) - Phươngán3: Cấpphátngẫunhiên

Ngày đăng: 18/08/2023, 23:00

Tài liệu cùng người dùng

Tài liệu liên quan