CSDL phân tán TS. Phạm Thanh Quế, TS. Hoàng Minh

20 328 0
CSDL phân tán   TS. Phạm Thanh Quế, TS. Hoàng Minh

Đ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

Tài Liệu môn Cơ Sở Dữ Liệu Phân Tán Cơ sở dữ liệu (viết tắt CSDL; tiếng Anh là database) được hiểu theo cách định nghĩa kiểu kĩ thuật thì nó là một tập hợp thông tin có cấu trúc. Tuy nhiên, thuật ngữ này thường dùng trong công nghệ thông tin và nó thường được hiểu rõ hơn dưới dạng một tập hợp liên kết các dữ liệu, thường đủ lớn để lưu trên một thiết bị lưu trữ như đĩa hay băng. Dữ liệu này được duy trì dưới dạng một tập hợp các tập tin trong hệ điều hành hay được lưu trữ trong các hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu được phân làm nhiều loại khác nhau: •Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ dưới dạng các file có thể là text, ascii, .dbf. Tiêu biểu cho cơ sở dữ liệu dạng file là.mdb Foxpro •Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ trong các bảng dữ liệu gọi là các thực thể, giữa các thực thể này có mối liên hệ với nhau gọi là các quan hệ, mỗi quan hệ có các thuộc tính, trong đó có một thuộc tính là khóa chính. Các hệ quản trị hỗ trợ cơ sở dữ liệu quan hệ như: MS SQL server, Oracle, MySQL... •Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu trữ trong các bản dữ liệu nhưng các bảng có bổ sung thêm các tính năng hướng đối tượng như lưu trữ thêm các hành vi, nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các hệ quản trị có hỗ trợ cơ sở dữ liệu hướng đối tượng như: MS SQL server, Oracle, Postgres •Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng XML, với định dạng này thông tin mô tả về đối tượng thể hiện trong các tag. Đây là cơ sở dữ liệu có nhiều ưu điểm do lưu trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.

học viện công nghệ bu viễn thông giáo trình C S D LIẽồU PHấN TAN Biên soạn: TS Phạm Thế Quế (chủ biên) TS Hoàng Minh NHà XUấT BảN THÔNG TIN Và TRUYềN THÔNG Hà Nội - 2009 Lời nói đầu Lý thuyết hệ sở liệu phân tán l tích hợp hai hớng tiếp cận xử lý liệu, l lý thuyết hệ sở liệu (Database System) v công nghệ mạng máy tính (Computer Network) Các phơng thức xử lý liệu phát triển từ phơng thức truyền thống - ứng dụng đợc định nghĩa, cập nhật v xử lý liệu riêng rẽ tệp riêng chuyển sang xử lý liệu tập trung, nghĩa l liệu đợc định nghĩa v đợc quản lý cách tập trung Do đảm bảo đợc tính độc lập liệu, chơng trình ứng dụng không phụ thuộc vo cấu trúc liệu logic hay cấu trúc lu trữ vật lý v ngợc lại Nhằm mục đích trang bị kiến thức sở v nâng cao hệ sở liệu phân tán, lý thuyết phân mảnh không tổn thất thông tin, vấn đề tơng tranh v hiệu xử lý phân tán cho học sinh, sinh viên ngnh Công nghệ thông tin v ngnh kỹ thuật khác, Học viện Công nghệ Bu Viễn thông phối hợp với Nh xuất Thông tin v Truyền thông xuất sách Giáo trình Cơ sở liệu phân tán TS Phạm Thế Quế biên soạn Giáo trình Cơ sở liệu phân tán không đề cập đến vấn đề sở lý thuyết m trình by số kỹ cần thiết để thiết kế v ci đặt hệ sở liệu cụ thể Nội dung giáo trình gồm 06 chơng: Chơng 1: Khái niệm sở liệu phân tán Giới thiệu khái niệm xử lý truy vấn, mục đích việc xử lý truy vấn v giới thiệu chức tầng trình xử lý truy vấn Công cụ để xử lý truy vấn l phép tính quan hệ v đại số quan hệ Trong thiết kế sở liệu phân tán, việc phân mảnh liệu v cấp phát liệu có vai trò quan trọng cho việc xử lý truy vấn liệu, lm tăng tính cục tham chiếu, tăng khả thực truy vấn đồng thời song song nhiều vị trí Chơng 2: Thiết kế hệ sở liệu phân tán Trình by vấn đề thiết kế sở liệu phân tán Nhấn mạnh đặc biệt đến vấn đề phân mảnh v cấp phát liệu node mạng máy tính Chơng 3: Xử lý truy vấn sở liệu phân tán Giới thiệu khái niệm xử lý truy vấn, mục đích việc xử lý truy vấn v giới thiệu chức tầng trình xử lý truy vấn Công cụ để xử lý truy vấn l phép tính quan hệ v đại số quan hệ Trong thiết kế sở liệu phân tán, việc phân mảnh liệu v cấp phát liệu có vai trò quan trọng cho việc xử lý truy vấn liệu, lm tăng tính cục tham chiếu, tăng khả thực truy vấn đồng thời song song nhiều vị trí Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán Trình by khái niệm giao dịch, tính chất giao dịch, loại giao dịch v kỹ thuật điều khiển đồng thời phân tán, điều khiển đồng thời khóa chốt v nhãn thời gian Nội dung chơng giới thiệu thuật toán điều khiển đồng thời có tính chất biệt lập v quán giao dịch Cơ chế điều khiển đồng thời phân tán hệ quản trị sở liệu phân tán đảm bảo tính quán hệ sở liệu đợc trì Chơng 5: Các hệ sở liệu song song Giới thiệu khái niệm hệ sở liệu song song Mạng máy tính có khả thực ứng dụng v quản lý sở liệu, tảng cho nguyên lý quản lý liệu phân tán Chơng 6: Hệ quản trị sở liệu đối tợng phân tán Giới thiệu khái niệm đối tợng v mô hình liệu phân tán đối tợng, phơng pháp thiết kế phân tán đối tợng Các kỹ thuật phân mảnh v cấp phát liệu đối tợng phân tán Giới thiệu phơng pháp quản lý đối tợng, quản lý giao dịch đối tợng v xử lý vấn tin đối tợng Sau chơng có phần câu hỏi v bi tập để bạn đọc củng cố lại kiến thức Tác giả dnh nhiều công sức cho việc biên soạn, song giáo trình khó tránh khỏi thiếu sót Rất mong nhận đợc ý kiến góp ý bạn đồng nghiệp v bạn đọc để giáo trình đợc hon thiện lần tái sau Xin trân trọng cảm ơn./ Học viện Công nghệ Bu viễn thông MC LC Li núi u Chng 4: QUN Lí GIAO DCH V IU KHIN NG THI PHN TN 185 4.1 Gii thiu .185 4.2 Tng quan v giao dch 187 4.2.1 Cỏc khỏi nim c bn v giao dch 187 4.2.2 iu kin kt thỳc giao dch 191 4.2.3 c tớnh ca giao dch 193 4.2.4 c trng húa khỏi nim giao dch .194 4.3 Cỏc tớnh cht giao dch 196 4.3.1 Tớnh nguyờn t .196 4.3.2 Tớnh nht quỏn .198 4.3.3 Tớnh cụ lp 199 4.3.4 Tớnh bn vng .203 4.4 Cỏc loi giao dch 203 4.4.1 Cỏc loi giao dch theo thi gian hot ng 203 4.4.2 Cỏc loi giao dch da trờn vic t chc cỏc hnh ng c v ghi 204 4.4.3 Lung cụng vic - work flows .204 4.5 iu khin cỏc giao dch ng thi phõn tỏn 207 4.5.1 t 207 4.5.2 Tớnh kh tun t lch biu 209 4.5.3 Phõn loi cỏc c ch iu khin ng thi 216 4.6 Cỏc thut toỏn iu khin ng thi bng khoỏ cht 218 4.6.1 Thut toỏn qun lý khúa c bn 219 4.6.2 Thut toỏn khúa cht pha (2PL) .223 4.6.3 Thut toỏn qun lý giao dch 2PL trung (C2PL TM) 228 4.6.4 Thut toỏn 2PL bn chớnh .234 4.6.5 Thut toỏn 2PL phõn tỏn .234 4.7 Cỏc thut toỏn iu khin ng thi bng nhón thi gian 235 4.7.1 t 235 4.7.2 Thut toỏn b qun lý giao dch TO c bn 237 4.7.3 Thut toỏn TO bo ton .242 4.7.4 Thut toỏn TO a phiờn .244 4.8 Cỏc thut toỏn iu khin ng thi lc quan .245 4.9 Qun lý b tc 248 4.9.1 Ngn chn b tc 250 4.9.2 Trỏnh b tc 251 4.9.3 Phỏt hin v gii ta b tc 252 Cõu hi .255 Bi 256 Chng 5: CC H C S D LIU SONG SONG 258 5.1 Mc tiờu ca x lý song song .258 5.1.1 Gii thiu chung 258 5.1.2 Mc tiờu ca x lý song song 259 5.2 u im ca c s d liu song song 260 5.2.1 Hiu nng cao 261 5.2.2 Tớnh sn sng cao 261 5.2.3 Kh nng m rng 261 5.3 Kin trỳc h c s d liu song song 262 5.3.1 B qun lý phiờn 262 5.3.2 B qun lý yờu cu 262 5.3.3 B qun lý d liu 262 5.4 Cỏc kin trỳc h thng song song 263 5.4.1 Tng quan v kin trỳc song song v h thng song song 263 5.4.2 Kin trỳc chia s b nh 264 5.4.3 Kin trỳc chia s a 265 5.4.4 Kin trỳc khụng chia s 267 5.4.5 Cỏc kin trỳc phõn cp 268 5.5 K thut h qun tr c s d liu song song 269 5.5.1 Sp t d liu .270 5.5.2 Truy song song .278 5.5.3 X lý d liu song song 279 5.6 Ti u húa truy song song .288 5.6.1 M u 288 5.6.2 Khụng gian tỡm kim 288 5.6.3 Mụ hỡnh chi phớ .292 5.6.4 Chin lc tỡm kim 293 Cõu hi .295 Chng 6: H QUN TR C S D LIU I TNG PHN TN 296 6.1 Gii thiu .296 6.2 Khỏi nim c bn v i tng v mụ hỡnh d liu i tng 297 6.3 Thit k phõn tỏn i tng 298 6.3.1 Phõn hoch ngang lp 299 6.3.2 Phõn hoch dc lp .302 6.3.3 Phõn hoch ng dn 303 6.3.4 Cỏc thut toỏn phõn hoch 303 6.3.5 Cp phỏt .304 6.3.6 Nhõn bn 305 6.4 Cỏc mụ hỡnh kin trỳc i tng phõn tỏn 306 6.4.1 Cỏc kiu kin trỳc mỏy khỏch/ch 306 6.4.2 Lu tr i tng phõn tỏn 309 6.5 Qun lý i tng 310 6.5.1 Qun lý nh danh i tng .310 6.5.2 Qun lý tr 311 6.5.3 Di trỳ i tng .312 6.6 X lý truy i tng 314 6.6.1 Kin trỳc x lý truy i tng 316 6.6.2 Cỏc x lý truy i tng .318 6.6.3 Thc thi truy i tng 321 6.7 Qun lý giao dch i tng phõn tỏn 322 6.7.1 Cỏc tiờu chun qun lý 322 6.7.2 Mụ hỡnh giao dch v cu trỳc i tng 324 6.7.3 Qun lý giao dch cỏc h qun tr i tng phõn tỏn .326 Cõu hi .335 Bi 336 Ti liu tham kho 337 Chng bao gm cỏc ni dung chớnh sau õy: Tng quan v qun lý giao dch Cỏc tớnh cht giao dch Cỏc loi giao dch iu khin ng thi phõn tỏn 4.1 GII THIU Khi nghiờn cu v c s d liu phõn tỏn, n v truy xut d liu c bn c xem xột l cõu truy iu gỡ s xy nu hai cõu truy cựng cp nht trờn mt mc d liu, hoc h thng gp s c phi ngng hot ng ang thc hin truy iu ny s dn n tn hi nghiờm trng c s d liu Thc t, khỏi nim truy khụng h cú s thc thi nht quỏn hay tớnh toỏn tin cy Giao dch (Transaction) v qun lý giao dch m bo cho vic tớnh toỏn cõu truy nht quỏn v tin cy cỏc chin lc thc thi c xỏc nh Mt c s d liu c gi l cú trng thỏi nht quỏn nu nú tuõn theo tt c cỏc rng buc ton Trng thỏi ca c s d liu cú th xy s thay i cú th cỏc thao tỏc cp nht nh: sa i, chốn thờm v xúa Vỡ vy cn m bo rng c s d liu luụn luụn trng thỏi nht quỏn C s d liu cú th trng thỏi khụng nht quỏn tm thi quỏ trỡnh thc thi giao dch, nhng c s d liu phi c nht quỏn kt thỳc giao dch 186 Giáo trình Cơ sở liệu phân tán Hỡnh 4.1: Mụ hỡnh giao dch Núi giao dch nht quỏn ngha l núi v hot ng ca cỏc giao dch ng thi C s d liu nht quỏn c cú mt s yờu cu ca ngi s dng ng thi truy cp nh: c hoc cp nht c s d liu S phc hn xột cỏc c s d liu nhõn bn Mt c s d liu nhõn bn mt trng thỏi nht quỏn tng h (Mutually Consistent State) nu tt cỏc bn ca mi mc d liu cú giỏ tr ging nhau, cũn c gi l s tng ng mt bn (One Copy Equivalence), vỡ tt c cỏc bn u phi nhn cựng mt trng thỏi vo cui lỳc thc thi giao dch Núi n tin cy ca giao dch, ngha l ang núi n kh nng t thớch ng ca h thng i vi cỏc loi s c v kh nng khụi phc li t nhng s c ú Mt h thng t thớch ng s dung np c cỏc s c h thng v cú th tip tc cung cp cỏc dch v c cú s c xy H qun tr c s d liu phõn tỏn phi cú kh nng khụi phc c l mt h qun tr c s d liu, sau gp s c, cú kh nng chuyn sang trng thỏi nht quỏn, bng cỏch quay v trng thỏi nht quỏn trc hoc chuyn sang trng thỏi nht quỏn mi Qun lý giao dch tc l cn x lý cỏc cho phi trỡ c s d liu trng thỏi nht quỏn c cú nhiu truy cp ng thi v xy s c Cỏc thut toỏn iu khin ng thi cú cỏc tớnh cht khỏc bit v nht quỏn ca cỏc giao dch C ch iu khin ng thi phõn tỏn ca mt h qun tr c s d liu phõn tỏn, phi trỡ tớnh nht quỏn ca Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 187 c s d liu phõn tỏn vi gi thit cỏc thnh phn phn cng v phn mm l hon ton tin cy Cỏc c ch iu khin ng thi phõn tỏn ó tr thnh mt nhng thnh phn c bn ca mt h qun tr c s d liu phõn tỏn 4.2 TNG QUAN V GIAO DCH 4.2.1 Cỏc khỏi nim c bn v giao dch Trng thỏi nht quỏn (Consistent State) ca mt c s d liu: Mt c s d liu mt trng thỏi nht quỏn nu nú tuõn theo tt c cỏc rng buc ton c nh ngha trờn nú tin cy (Reliability): Mun núi n kh nng t thớch ng ca mt h thng i vi cỏc loi s c v kh nng khụi phc t nhng s c ny Mt h thng t thớch ng s dung np c cỏc s c h thng v cú th tip tc cung cp dch v c xy s c Qun lý giao dch (Transaction Management): Vic gii quyt cỏc bi toỏn cho c gng trỡ cho c c s d liu tỡnh trng nht quỏn c cú nhiu truy cp ng thi v giao dch cú s c Khỏi nim giao dch cỏc h c s d liu phõn tỏn hm cha mt s cỏc c tớnh c bn nh tớnh nguyờn t v tớnh bn vng, nhm ch nhng khỏc bit gia mt giao dch v mt cõu truy Giao dch l mt n v tớnh toỏn nht quỏn v tin cy cỏc h c s d liu phõn tỏn V mt trc quan, giao dch nhn mt c s d liu v thc hin trờn nú mt hnh ng, to mt phiờn bn c s d liu mi, tc l to mt dch chuyn trng thỏi iu ny tng t nh cõu truy thc hin Nu c s d liu nht quỏn trc thc thi giao dch, cú th m bo rng c s d liu cng s nht quỏn vo lỳc kt thỳc thc thi cho dự: Giao dch cú th c thc hin ng thi vi cỏc giao dch khỏc, v S c cú th xy quỏ trỡnh thc thi 188 Giáo trình Cơ sở liệu phân tán Nh vy cú th hiu mt giao dch l mt dóy cỏc thao tỏc, cỏc cõu hi truy c biu din cỏc ngụn ng truy hay l nhng on chng trỡnh c nhỳng mt ngụn ng ch Tớnh tng thớch ca giao dch theo ngha c hiu l tớnh ỳng n ca nú Núi cỏch khỏc, giao dch luụn luụn chuyn c s d liu t mt trng thỏi tng thớch n mt trng thỏi tng thớch khỏc Tng thớch ca c s d liu phõn tỏn khỏc vi tng thớch ca giao dch C s d liu cú tớnh tng thớch nu nú tha mi rng buc tng thớch c nh ngha trờn nú Nhng thay i trng thỏi ca c s d liu xy cỏc phộp toỏn cp nht (Update), chốn (Insert) v xúa (Delete) Khi thc hin cỏc giao dch, c s d liu cú th tm thi khụng tng thớch, nhng kt thỳc giao dch thỡ c s d liu phi trng thỏi tng thớch Mt giao dch phõn tỏn gm nhiu giao dch con, thc hin nhiu v trớ khỏc Mụi trng phõn tỏn cú nh hng n tt c cỏc khớa cnh qun lý giao dch Mt giao dch l mt dóy cỏc thao tỏc c v ghi trờn c s d liu cựng vi cỏc bc tớnh toỏn C th hn, cú th xem mt giao dch nh l mt chng trỡnh truy cp vo c s d liu c gn vo Hoc cú th nh ngha mt giao dch l thc thi n ca chng trỡnh Truy n cng cú th c coi l mt chng trỡnh v c a nh l mt giao dch Biu din mt giao dch T: begin , , end Gia begin v end l cỏc thao tỏc c bn c, ghi v x lý Giao dch c d liu, ghi d liu v thc hin tớnh toỏn qua mt vựng m lm vic (Private Workspace) Cỏc tớnh toỏn ca giao dch s khụng cú tỏc dng trờn c s d liu cho n thc hin ghi vo c s d liu Vớ d 4.1: Xột cõu truy Tng kinh phớ cỏc d ỏn CAD/CAM lờn 10% UPDATE PROJ SET BUDGET = BUDGET*1.1 WHERE PNAME = CAD/CAM Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 189 Cõu truy ny cú th c c t qua ký phỏp SQL, nh mt giao dch bng cỏch gỏn cho nú tờn BUDGET_UPDATE v khai bỏo nh sau: Begin_transaction BUDGET_UPDATE begin EXEC SQL UPDATE PROJ SET BUDGET = BUDGET*1.1 WHERE PNAME = CAD/CAM end Cỏc lnh Begin_transaction v end xỏc nh ranh gii ca mt giao dch Biu din giao dch trờn bng dóy cỏc thao tỏc: Begin read PNAME, nu tha PNAME = CAD/CAM, read BUDGET, BUDGET = BUDGET*1.1, write BUDGET end Vớ d 4.2: Xột bi toỏn t ch mỏy bay, gi s cú cỏc quan h sau: FLIGHT (FNO, DATE, SRC, DEST, STSOLD, CAP) l quan h chuyn bay CUST (CNAME, ADDR, BAL) l quan h v khỏch hng t ch trc FC(FNO, DATE, CNAME, SPECIAL) l quan h khỏch hng chuyn bay Trong ú, FNO l mó s chuyn bay, DATE l ngy, thỏng chuyn bay, SRC v DEST l ni xut phỏt v ni n ca chuyn bay, STSOLD l s lng gh ó c bỏn trờn chuyn bay ú, CAP l s lng khỏch m chuyn bay cú th ch c, CNAME l tờn khỏch hng, ADDR a ch v s d BAL, SPECIAL tng ng vi cỏc yờu cu c bit m khỏch hng a t ch Gi s mt nhõn viờn bỏn vộ nhp mó s chuyn bay, ngy thỏng, tờn khỏch v thc hin t ch trc Giao dch thc hin nh sau: Giáo trình Cơ sở liệu phân tán 190 Begin_transaction Reservation begin input (flight_no, date, customer_name) EXEC SQL SET WHERE AND UPDATE FLIGHT STSOLD = STSOLD + FNO = flight_no DATE = date; EXEC SQL INSERT INTO FC (FNO, DATE, CNAME, SPECIAL) (1) (2) (3) VALUES (flight_no, date, customer_name, null); Output (reservation completed) (4) end Bin ca chng trỡnh: flight_no: mó s chuyn bay date: ngy thỏng ca chuyn bay customer_name: tờn khỏch hng Cõu lnh begin_transaction v end u v kt thỳc ca mt giao dch Giao dch thc hin tun t cỏc bc nh sau: Dũng (1): Nhp mó s chuyn bay, ngy thỏng ca chuyn bay v tờn khỏch hng, flight_no, date, customer_name Dũng (2): Tng lờn mt gh cho s gh ó bỏn trờn chuyn bay ang c yờu cu Dũng (3): Chốn mt b vo quan h FC Gi s rng õy l khỏch hng c nờn khụng cn thit phi chốn thờm thụng tin v khỏch hng vo quan h CUST T khoỏ null ch rng khỏch hng khụng cú yờu cu c bit gỡ thờm Dũng (4): Ghi kt qu giao dch mn hỡnh ca nhõn viờn bỏn vộ Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 191 Giao dch trờn ngm c cho gi nh s c kt thỳc, tc l luụn luụn cũn ch trng trờn chuyn bay ú, khụng kim tra cũn vộ hay khụng Tuy nhiờn õy l mt gi thit khụng thc t v t mt l kh nng kt thỳc giao dch Chui cỏc thao tỏc cỏc phộp toỏn ca giao dch c biu din nh sau: begin nhp flight_no, date v customer_name vo vựng m, read v so sỏnh flight_no, read v so sỏnh date, read STSOLD, STSOLD = STSOLD + 1, write STSOLD, write mt b (flight_no, date, customer_name, null), hin th mn hỡnh end 4.2.2 iu kin kt thỳc giao dch Mt giao dch luụn luụn phi c kt thỳc c h thng cú s c xy Cú hai tỡnh kt thỳc giao dch xy ra: a) Nu giao dch thnh cụng, núi rng giao dch l y thỏc (Commit) Vai trũ quan trng ca s u thỏc biu hin hai mt: Lnh Commit thụng tin cho h qun tr c s d liu phõn tỏn DBMS bit rng kt qu thc hin ca giao dch n ti thi im ny cn phi c phn ỏnh vo c s d liu Qua ú lm cho cỏc giao dch ang truy xut cỏc mc d liu ú cú th thy c chỳng im m giao dch Commit l mt im khụng quay tr li Kt qu ca giao dch ó Commit bõy gi s c lu c nh c s d liu v khụng th phc hi li trng thỏi trc c b) Ngc li vi Commit, nu giao dch dng li v cha hon thnh, núi rng giao dch ú b hy b (Abort) Mt giao dch b h qun tr c s d liu hu b cú th vỡ b tc hay vỡ nhiu lý khỏc Vớ d giao dch s b hu b chuyn bay khụng cũn vộ Khi mt giao dch b hu b, tt c quỏ trỡnh thc thi s b ngng li v tt c mi hnh ng ó c thc hin phi c hi phc li (Undo), chuyn c s d liu v trng thỏi trc thc hin giao dch, iu ny c gi l Rollback Giáo trình Cơ sở liệu phân tán 192 Vớ d 4.3: Begin_transaction Reservation begin input (flight_no, date, customer_name) EXEC SQL SELECT STSOLD, CAP INTO temp1, temp2 FROM FLIGHT WHERE FNO = flight_no AND DATE = date; if temp1 = temp2 then begin output(khụng cũn gh trng); Abort end else begin EXEC SQL UPDATE FLIGHT SET STSOLD = STSOLD + WHERE FNO = flight_no AND DATE = date; EXEC SQL INSERT INTO FC(FNO, DATE, CNAME, SPECIAL) VALUES(flight_no, date, customer_name, null); Commit; Output(Giao dch ó hon thnh); end end-if end Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 193 Gii thớch hot ng ca giao dch: Cõu lnh SQL u tiờn s chuyn STSOLD v CAP vo hai bin temp1 v temp2 Khỏc vi giao dch ó trỡnh by vớ d 4.2 l cp nht giỏ tr STSOLD vo c s d liu So sỏnh temp1v temp2 xem cũn vộ trờn chuyn bay ú hay khụng Giao dch s b hu b nu khụng cũn vộ Ngc li nu cũn vộ thỡ giao dch s cp nht giỏ tr STSOLD v chốn b mi vo quan h FC ghi nhn rng vộ ó c bỏn Nh vy trờn chuyn bay m khỏch hng t vộ khụng cũn ch trng thỡ giao dch lp tc b hu b 4.2.3 c tớnh ca giao dch Giao dch ch c v ghi d liu, c s cho vic nhn bit mt giao dch Cỏc c tớnh ca giao dch bao gm: Cỏc mc d liu c giao dch c to thnh c RS (Read Set) Cỏc mc d liu c giao dch ghi c gi l ghi WS (Write Set) Tp c hoc ghi ca giao dch khụng nht thit phi tỏch bit Hp c v ghi ca giao dch to thnh c s BS = RS WS c trng cỏc giao dch ch trờn c s cỏc thao tỏc c v ghi m khụng cn xem xột n cỏc thao tỏc chốn v xúa Vớ d 4.4: RS = {FLIGHT.STSOLD, FLIGHT.CAP} WS = {FLIGHT.STSOLD, FC.FNO, FC.DATE, FC.CNAME, FC.SPECIAL} BS = {FLIGHT.STSOLD, FLIGHT.CAP, FC.FNO, FC.DATE, FC.CNAME, FC.SPECIAL} Giáo trình Cơ sở liệu phân tán 194 4.2.4 c trng húa khỏi nim giao dch nh ngha khỏi nim giao dch mt cỏch hỡnh thc nh sau: Ký hiu: Phộp toỏn Oj ca giao dch Ti thc hin trờn thc th x ca c s d liu l Oij (x) Theo qui c Oij {read, write} Cỏc phộp toỏn gi s l nguyờn t, ngha l mi phộp toỏn c thc thi nh l mt n v khụng th chia nh c OSi l tt c cỏc phộp toỏn Ti, ngha l OSi = j Oij Ni biu th cho tỡnh kt thỳc ca Ti, ú Ni {Abort, Commit} Nh vy, cú th nh ngha giao dch Ti l mt th t b phn trờn cỏc phộp toỏn v tỡnh kt thỳc ca nú Th t b phn P = {, } nh ngha mt trt t gia cỏc phn t ca (c gi l min) qua mt quan h hai ngụi bc cu v khụng phn x c nh ngha trờn bao gm cỏc phộp toỏn v tỡnh kt thỳc ca mt giao dch, ú ch th t thc hin ca nhng phộp toỏn ny Mt cỏch hỡnh thc, mt giao dch Ti l mt th t b phn Ti = {i , }, ú: i = OSi {Ni} Vi hai phộp toỏn bt k Oij, Oik OSi, nu Oij = {R(x) hoc W(x)} v Oik = W(x) vi mt mc d liu x no ú, ú hoc Oij i Oik hoc Oik i Oij Oij OSi, Oij i Ni iu kin th nht nh ngha nh mt hp cỏc thao tỏc c v ghi cu to nờn giao dch vi tỡnh kt thỳc, cú th l Commit hoc Abort iu kin th hai xỏc nh quan h th t gia cỏc thao tỏc c v ghi cú tng tranh ca giao dch, iu kin cui cựng ch rng tỡnh kt thỳc luụn i sau tt c nhng thao tỏc khỏc Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 195 Vớ d 4.4: Xột vớ d v h thng t vộ mỏy bay nh vớ d 4.3, cú hai tỡnh kt thỳc, ph thuc vo cũn vộ hay khụng v nú ch tn ti mt tỡnh Tuy nhiờn giao dch l mt thc thi ca chng trỡnh, vỡ vy cú hai kh nng xy ra: hy b hay y thỏc Bng khỏi nim hỡnh thc hoỏ giao dch cú th biu din cỏc giao dch ú nh sau: Giao dch u: T1 = {1, 1} = {R(STSOLD), R(CAP), A} = {R(STSOLD), A), (R(CAP), A) Giao dch sau: T2 ={2, 2} = {R(STSOLD), R(CAP), W(STSOLD), W(FNO), W(DATE), W(CNAME), W(SPECIAL), C}; = {(R(STSOLD), W(STSOLD)), (R(CAP), W(STSOLD)), (R(STSOLD), (FNO)), (R(STSOLD), W(DATE)), (R(STSOLD), W(CNAME)), (R(STSOLD), W(SPECIAL)), (R(CAP), W(FNO)), (R(CAP), W(DATE)), (R(CAP), W(CNAME)), (R(CAP), W(SPECIAL)), (R(STSOLD),C), (R(CAP),C), (W(STSOLD),C), (W(FNO),C), (W(DATE,C), (W(CNAME, C), (W(SPECIAL),C)} Cú th biu din mt giao dch nh mt th t b phn, l mt th cú hng khụng vũng DAG (Directed Acyclic Graph) Cỏc nh ca th l cỏc phộp toỏn ca giao dch v cng l mi liờn h th t gia mi cp phộp toỏn ó cho iu ny cho phộp biu din s thc thi mt lỳc nhiu giao dch, ng thi cng chng minh c tớnh ỳng n ca nú nh cỏc cụng c ca lý thuyt th Vớ d 4.5: Xột mt giao dch n gin T nh sau: Read(x) Read(y) Giáo trình Cơ sở liệu phân tán 196 xx+y Write(x) Commit Khi ú = {R(x), R(y), W(x), C} = {(R(x), W(x)), (R(y), W(x)), (W(x), C), (R(x), C), (R(y), C)} Trong ú (Oi, Oj) l Oi Oj Giao dch c biu din bng mt th DAG, ú khụng cú cỏc cung c suy nh tớnh cht bc cu mc dự chỳng l nhng phn t ca Hỡnh 4.2: Biu din dng DAG cho mt giao dch 4.3 CC TNH CHT GIAO DCH Tớnh nht quỏn v tin cy ca giao dch cú bn tớnh cht, c gi l tớnh cht ACID (ACIDity) ca giao dch: Tớnh nguyờn t (A) Tớnh nht quỏn (C) Tớnh cụ lp (I) Tớnh bn vng (D) 4.3.1 Tớnh nguyờn t Mt giao dch c x lý nh l mt n v thao tỏc Hoc tt c cỏc thao tỏc ca giao dch c hon thnh, hoc ngc li, khụng cú thao tỏc no c hon thnh Tớnh nguyờn t ũi hi nu thc thi ca giao dch b ngt bi mt s c no ú thỡ h qun tr c s d liu s Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 197 chu trỏch nhim xỏc nh cụng vic cn c thc hin i vi giao dch khụi phc li sau s c Cú hai kiu hot ng: hoc nú s c kt thỳc bng cỏch hon thnh cỏc hot ng cũn li, hoc cú th c kt thỳc bng cỏch khụi phc li tt c cỏc hot ng ó c thc hin Cú hai loi s c, mt giao dch cú th cú li hot ng li d liu vo, b tc, hoc cỏc yu t khỏc Trong cỏc trng hp ny, giao dch t hy hoc h qun tr c s d liu phi hy giao dch nú hy b tc chng hn Duy trỡ c tớnh nguyờn t cú s hin din ca hai loi s c ny thng c gi l khụi phc giao dch Loi s c th hai l s c h thng, nh s c thit b lu tr, s c ca b x lý, mt in, Bo m tớnh nguyờn t trng hp ny gi l khc phc s c S khỏc bit gia hai loi s c l mt s loi tai nn h thng, thụng tin b nh chớnh cú th b mt hoc khụng truy cp c C hai kiu khụi phc u l cỏc v tin cy Mi nguyờn t l mt thao tỏc c bn m bo cho tớnh nguyờn t ca cỏc giao dch l cỏc phng phỏp tun t húa lm cho cỏc thao tỏc ca giao dch thc hin mt cỏch tun t Mt giao dch khụng cú tớnh nguyờn t nu: Trong h thng phõn chia theo thi gian, giao dch T cú th kt thỳc T ang tớnh toỏn v cỏc hot ng ca giao dch khỏc s c thc hin trc T hon tt Trong trng hp ny h thng phi bo m rng, dự iu gỡ cú xy giao dch thc hin, thỡ c s d liu khụng b nh hng bi cỏc tỏc ng bt ng ca giao dch Hoc Mt giao dch cha hon tt cỏc cụng vic, phi chm dt hot ng gia chng, cú th vỡ thc hin phộp toỏn khụng hp l (chia cho s 0), hoc cú th yờu cu d liu khụng c quyn truy xut H thng buc giao dch phi ngng hot [...]... giao dch v cng l mi liờn h th t gia mi cp phộp toỏn ó cho iu ny cho phộp biu din s thc thi mt lỳc nhiu giao dch, ng thi cng chng minh c tớnh ỳng n ca nú nh cỏc cụng c ca lý thuyt th Vớ d 4.5: Xột mt giao dch n gin T nh sau: Read(x) Read(y) Giáo trình Cơ sở dữ liệu phân tán 196 xx+y Write(x) Commit Khi ú = {R(x), R(y), W(x), C} = {(R(x), W(x)), (R(y), W(x)), (W(x), C), (R(x), C), (R(y), C)} Trong... khi thc hin ghi vo c s d liu Vớ d 4.1: Xột cõu truy vn Tng kinh phớ cỏc d ỏn CAD/CAM lờn 10% UPDATE PROJ SET BUDGET = BUDGET*1.1 WHERE PNAME = CAD/CAM Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 189 Cõu truy vn ny cú th c c t qua ký phỏp SQL, nh mt giao dch bng cỏch gỏn cho nú tờn BUDGET_UPDATE v khai bỏo nh sau: Begin_transaction BUDGET_UPDATE begin EXEC SQL UPDATE PROJ SET BUDGET = BUDGET*1.1... BAL, SPECIAL tng ng vi cỏc yờu cu c bit m khỏch hng a ra khi t ch Gi s mt nhõn viờn bỏn vộ nhp mó s chuyn bay, ngy thỏng, tờn khỏch v thc hin t ch trc Giao dch thc hin nh sau: Giáo trình Cơ sở dữ liệu phân tán 190 Begin_transaction Reservation begin input (flight_no, date, customer_name) EXEC SQL SET WHERE AND UPDATE FLIGHT STSOLD = STSOLD + 1 FNO = flight_no DATE = date; EXEC SQL INSERT INTO FC (FNO,... hng vo trong quan h CUST T khoỏ null ch ra rng khỏch hng khụng cú yờu cu c bit gỡ thờm Dũng (4): Ghi kt qu giao dch ra mn hỡnh ca nhõn viờn bỏn vộ Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 191 Giao dch trờn ngm c cho gi nh s c kt thỳc, tc l luụn luụn cũn ch trng trờn chuyn bay ú, khụng kim tra cũn vộ hay khụng Tuy nhiờn õy l mt gi thit khụng thc t v t ra mt vn l kh nng kt thỳc giao... b hu b, tt c quỏ trỡnh thc thi s b ngng li v tt c mi hnh ng ó c thc hin phi c hi phc li (Undo), chuyn c s d liu v trng thỏi trc khi thc hin giao dch, iu ny c gi l Rollback Giáo trình Cơ sở dữ liệu phân tán 192 Vớ d 4.3: Begin_transaction Reservation begin input (flight_no, date, customer_name) EXEC SQL SELECT STSOLD, CAP INTO temp1, temp2 FROM FLIGHT WHERE FNO = flight_no AND DATE = date; if temp1... EXEC SQL INSERT INTO FC(FNO, DATE, CNAME, SPECIAL) VALUES(flight_no, date, customer_name, null); Commit; Output(Giao dch ó hon thnh); end end-if end Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 193 Gii thớch hot ng ca giao dch: Cõu lnh SQL u tiờn s chuyn STSOLD v CAP vo trong hai bin temp1 v temp2 Khỏc vi giao dch ó trỡnh by trong vớ d 4.2 l cp nht giỏ tr STSOLD vo trong c s d liu So... d 4.4: RS = {FLIGHT.STSOLD, FLIGHT.CAP} WS = {FLIGHT.STSOLD, FC.FNO, FC.DATE, FC.CNAME, FC.SPECIAL} BS = {FLIGHT.STSOLD, FLIGHT.CAP, FC.FNO, FC.DATE, FC.CNAME, FC.SPECIAL} Giáo trình Cơ sở dữ liệu phân tán 194 4.2.4 c trng húa khỏi nim giao dch nh ngha khỏi nim giao dch mt cỏch hỡnh thc nh sau: Ký hiu: Phộp toỏn Oj ca giao dch Ti khi thc hin trờn thc th x ca c s d liu l Oij (x) Theo qui c Oij {read,... xỏc nh quan h th t gia cỏc thao tỏc c v ghi cú tng tranh ca giao dch, iu kin cui cựng ch ra rng tỡnh hung kt thỳc luụn i sau tt c nhng thao tỏc khỏc Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 195 Vớ d 4.4: Xột vớ d v h thng t vộ mỏy bay nh trong vớ d 4.3, cú hai tỡnh hung kt thỳc, ph thuc vo cũn vộ hay khụng v nú ch tn ti mt tỡnh hung Tuy nhiờn giao dch l mt thc thi ca chng trỡnh, vỡ...188 Giáo trình Cơ sở dữ liệu phân tán Nh vy cú th hiu mt giao dch l mt dóy cỏc thao tỏc, cỏc cõu hi truy vn c biu din trong cỏc ngụn ng truy vn hay l nhng on chng trỡnh c nhỳng trong mt ngụn ng ch Tớnh tng thớch ca giao dch theo ngha... dch c hon thnh, hoc ngc li, khụng cú thao tỏc no c hon thnh Tớnh nguyờn t ũi hi nu thc thi ca giao dch b ngt bi mt s c no ú thỡ h qun tr c s d liu s Chơng 4: Quản lý giao dịch v điều khiển đồng thời phân tán 197 chu trỏch nhim xỏc nh cụng vic cn c thc hin i vi giao dch khụi phc li sau s c Cú hai kiu hot ng: hoc nú s c kt thỳc bng cỏch hon thnh cỏc hot ng cũn li, hoc cú th c kt thỳc bng cỏch khụi phc ... quản lý liệu phân tán Chơng 6: Hệ quản trị sở liệu đối tợng phân tán Giới thiệu khái niệm đối tợng v mô hình liệu phân tán đối tợng, phơng pháp thiết kế phân tán đối tợng Các kỹ thuật phân mảnh... kế hệ sở liệu phân tán Trình by vấn đề thiết kế sở liệu phân tán Nhấn mạnh đặc biệt đến vấn đề phân mảnh v cấp phát liệu node mạng máy tính Chơng 3: Xử lý truy vấn sở liệu phân tán Giới thiệu... đích trang bị kiến thức sở v nâng cao hệ sở liệu phân tán, lý thuyết phân mảnh không tổn thất thông tin, vấn đề tơng tranh v hiệu xử lý phân tán cho học sinh, sinh viên ngnh Công nghệ thông tin

Ngày đăng: 21/04/2016, 00:40

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan