Điều khiển tương tranh trong CSDL phân tán

16 299 0
Điều khiển tương tranh trong CSDL 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

Điều khiển tơng tranh CSDL phân tán Chơng 1: Mở đầu Công nghệ hệ sở liệu phân tán (distributed database systems, DDBS) hợp hai hớng tiếp cận trình xử lý liệu: công nghệ sở dũ liệu công nghệ mạng máy tính Trớc vào chi tiết đề tài, ta nghiên cứu vấn đề có liên quan đến hệ sở liệu phân tán I Cơ sở liệu phân tán mạng: Một vấn đề kỹ thuật có tính chất định đến phát triển sở liệu phân tán (CSDL phân tán) mạng máy tính Khái niệm mạng máy tính có từ năm 1970 thực phát triển mạnh mẽ nhờ phát triển vợt bậc kỹ thuật truyền thông kỹ thuật số Mạng máy tính tập hợp máy tính không nhất, tự trị đợc kết nối với có khả trao đổi thông tin với Khái niệm tự trị để đảm bảo cho máy tính thực chơng trình Còn kết nối để đảm bảo máy tính có khả trao đổi thông tin với Để tạo thành mạng máy tính, máy tính phải đợc nối với kênh truyền thông, kênh truyền cho phép máy tính mạng trao đổi liệu với phơng tiện giúp chúng chia sẻ tài nguyên Mỗi kênh truyền có giải thông đợc định nghĩa lợng liệu truyền kênh đơn vị thời gian CSDL phân tán quan hệ mật thiết với mạng máy tính đợc xây dựng đựa tảng mạng máy tính Khi xây dựng hệ CSDL phân tán yêu cầu mặt nghiệp vụ phải tính đến khả đáp ứng mạng máy tính II Hệ CSDL phân tán Một CSDL phân tán tập hợp CSDL có quan hệ lôgic với đợc phân bố mạng máy tính Hệ quản trị CSDL phân tán (distributed database management systems, DDBMS) hệ thống phần mềm cho phép quản trị CSDL phân tán làm cho phân tán suốt với ngời sử dụng III Những đặc điểm CSDL phân tán với tập trung: CSDL phân tán không đơn giản thực phân tán CSDL tập trung, có đặc diểm khác tiêu biểu: Điều khiển tập trung tài nguyên thông tin tính mạnh CSDL tập trung, chúng đợc phát triển nh tiến hóa hệ thống thông tin, mà ứng dụng có file riêng biệt Chức ngời quản trị CSDL bảo trì an toàn liệu Trong CSDL phân tán, ý tởng tập trung giảm nhiều, CSDL phân tán có khả điều khiển phân cấp dựa ngời quản trị CSDL tổng thể ngời quản trị CSDL cục Do ngời quản trị CSDL cục có độ tự quản cao, nên ngời quản trị tổng thể hoàn toàn bỏ qua phối hợp trạm đợc thực ngời quản trị tổng thể Đặc điểm đợc gọi quản trị trạm Độc lập liệu: Độc lập liệu tính chất CSDL tập trung Độc lập liệu có nghĩa tổ chức thực CSDL có tính chất suốt ngời lập trình ứng dụng Lợi ích độc lạp liệu chơng trình không bị ảnh hởng thay đổi vật lý liệu Vì vậy,tính đắn chơng trình không Trang Điều khiển tơng tranh CSDL phân tán bị ảnh hởng di chuyên liệu từ trạm sang trạm khác tốc đọ đợc tăng lên Độc lập liệu CSDL thông thờng có nhiều mức kiến trúc ánh xạ chúng Ví dụ lợc đồ quan hệ, lợc đồ lu trữ, đợc phát triển cho chức Rút gọn d thừa: Cấu trúc vật lý phức tạp truy nhập hiệu Tính toàn vẹn, phục hồi điều khiển tơng tranh Tính riêng t an toàn IV Cấu trúc hệ quản trị CSDL phân tán: Hệ quản trị CSDL phân tán bao gồm thành phần: Thành phần quản trị CSDL (DB) Thành phần truyền thông liệu (DC) Từ điển liệu (DD): biểu diễn thông tin phân tán mạng Thành phần CSDL phân tán (DDB) V Những vấn đề hệ phân tán Thiết kế CSDL phân tán Xử lý câu hỏi phân tán Quản trị th mục phân tán Điều khiển tơng tranh phân tán Quản trị deadlock phân tán Độ tin cậy hệ quản trị phân tán Hỗ trợ hệ điều hành CSDL không VI Những vấn đề đợc giải báo cáo thực tập Trên ta nêu khái niệm hệ phân tán CSDL phân tán, đặc điểm CSDL phân tán so với CSDL tập trung, vấn đề cần xử lý tiếp cận CSDL phân tán Tuy nhiên hệ CSDL phân tán hệ thống phức tạp bao gồm nhiều phần khác nhau, nhiều phần cần đợc tiếp tục nghiên cứu Nhng thời gian hạn chế, khuôn khổ báo cáo thực tập trình bày phần xử lý quan trọng hệ CSDL phân tán kỹ thuật điều khiển tơng tranh CSDL phân tán Bài báo cáo thực tập tốt nghiệp đợc hoàn thành dới hớng dẫn TS Chu Kỳ Quang Công ty tiết kiệm Bu điện Tôi xin chân thành cảm ơn TS Chu Kỳ Quang thầy cô Khoa Công gnhệ thông tin , trờng Đại học Bách Khoa đẫ giúp hoàn thành tốt đợt thực tập tốt nghiệp Trang Điều khiển tơng tranh CSDL phân tán Chơng 2: Giao dịch mô hình giao dịch Trong chơng ta khái niệm có liên quan đến kỹ thuật điều khiển tơng tranh Để thuận tiên cho việc phân tích tính đắn phơng pháp điều khiển tơng tranh phân tán ta trình bày khái niệm dới dạng mô hình toán học I Giao dịch quản lý giao dịch: 1) Khái niệm giao dịch: Một giao dịch thực chơng trình bao gồm tập thao tác đọc, ghi với bớc tính toán CSDL Giao dịch thực đầy đủ tất thao tác không thực 2) Các tính chất giao dịch: Tính nguyên tố: có nghĩa hành động giao dịch đợc thực hành động đợc thực Tính nguyên tố giao dịch yêu cầu trình thực giao dịch bị ngắt quãng cố hệ thống hệ quản trị CSDL phải chịu trách nhiệm xác định cần phải làm với giao dịch vào thời điểm khắc phục đợc cố Do có hai dòng hành động giao dịch kết thúc việc hủy bỏ hành động thực kết thúc việc hoàn tất hành động lại Tính quán: Giao dịch biến đổi CSDL từ trạng thái toàn vẹn sang trạng thái toàn vẹn khác Tính độc lập: đảm bảo tình có cạnh tranh, kết giao dịch cha hoàn thành nhìn thấy đợc giao dịch khác Đặc tính để tránh vấn đề hủy bỏ dây chuyền có nghĩa cần phải hủy bỏ tất giao tác mà kết phận đợc giao tác trớc hủy bỏ Tính bền vững: kết giao dịch hoàn thành đợc lu ổn định CSDL quay trở lai trạng thái trớc 3) Mô hình giao dịch quản lý giao dịch: Trang Điều khiển tơng tranh CSDL phân tán Một hệ CSDL phân tán chia thành phần bản: Giao dịch, quản lý giao dịch (transaction management, TM), liệu (data) quản lý liệu (data management, DM), ngời dùng tơng tác với liệu thông qua giao dịch Các TM giám sát tơng tác ngời sử dụng với CSDL phân tán, DM quản lý CSDL thực tế Mạng hệ truyền thông máy tính đến máy tính đợc giả sử có độ tin cậy hoàn hảo: vị trí A gửi thông báo đến vị trí B vị trí B đợc bảm bảo nhận thông báo mà lỗi T TM DM TM DM T T T T TM trúc hệ thống CSDL DM Kiến phân tán T Một toán quan trọng mà nhà thiết kế CSDL phải đơng đầu điều khiển việc truy nhập đồng thời vào CSDL nhiều ngời sử dụng khác Để quản lý tơng tranh, CSDL phải đợc phân hoạch thành khoản liệu, đơn vị liệu mà việc truy nhập đến chúng điều khiển đợc Ta ký hiệu khoản liệu chữ x, y,z, Trạng thái CSDL tập giá trị đợc gán cho tất khoản liệu CSDL Một trạng thái toàn vẹn CSDL trạng thái thỏa mãn ràng buộc đặt CSDL Hai phép toán CSDL đọc ghi Phép toán đọc R(x) trả giá trị x Phép toán ghi W(x) viết giá trị vào x Ta giả thiết hai phép toán sơ cấp theo nghĩa sau: phép toán nh đợc thực không phép toán khác đồng thời thực Ngời sử dụng tơng tác với CSDL phân tán cách thi hành giao dịch Các thuật toán điều khiển tơng tranh mà ta nghiên cứu dựa mô hình giao dịch dãy phép toán đọc ghi Để trì đợc ràng buộc đặt CSDL ta giả thiết giao dịch thỏa mãn tính chất toàn vẹn Điều có nghĩa giao dịch biến đổi từ trạng thái toàn vẹn sang trạng thái toàn vẹn khác Tuy nhiên CSDL rơi vào trạng thái không toàn vẹn trình thực giao dịch Các giao dịch truyền thông với TM, TM truyền thông với DM DM quản lý liệu Các TM không truyền thông với TM khác DM Trang Điều khiển tơng tranh CSDL phân tán không truyền thông với DM khác Các TM giám sát giao dịch, giao dịch thi hành CSDL phân tán đợc giám sát TM riêng lẻ, nghĩa giao dịch đa tất toán tử CSDL đến TM Bất kỳ tính toán phân tán cần thi hành giao dịch đợc quản lý TM Các DM quản lý CSDL lu trữ, thực chức nh xử lý CSDL phụ thuộc Trong đáp ứng với lệnh từ giao dịch, TM đa lệnh đến DM đặc tả khoản liệuđợc đọc ghi Các chi tiết giao diện TMDM tạo thành lõi mô hình xử lý giao dịch Chơng 3: Điều khiển tơng tranh phân tán I Tiêu chuẩn khả tuần tự: 1) Đặt vấn đề: Nh chơng trớc ta nói toán quan trọng mà nhà thiết kế CSDL phải đơng đầu điều khiển việc truy nhập đồng thời vào CSDL nhiều ngời sử dụng khác Mục tiêu toán thiết kế thuật toán điều khiển tơng tranh chođảm bảo đợc tính toàn vẹn CSDL hoàn thành đắn giao dịch truy cập vào CSDL Mục tiêu khác tối thiểu thời gian chờ đợi phục vụ giao dịch tối đa hiệu xử lý hệ thống CSDL Trang Điều khiển tơng tranh CSDL phân tán Bài toán thúc đẩy hình thành lý thuyết để xây dựng mô hình điều khiển tơng tranh phơng pháp điều khiển phù hợp với mô hình Cơ sở đắn nhiều thuật toán điều khiển tơng tranh thực tế tiêu chuẩn khả tuàn tự trạng thái mô hình cú pháp Tiêu chuẩn từ quan điểm ngời quản trị CSDL, nhiên cha thỏa mãn ngời sử dụng CSDL Trong báo cáo ta giới thiêu tiêu chuẩn khả chặt hơn, thỏa mãn ngời quản trị CSDL ngời sử dụng CSDL Cũng nh tiêu chuẩn khả trạng thái, toán nhận biết thực tơng tranh giao dịch có thỏa mãn tiêu chuẩn khả hay không toán NP đầy đủ 2) Tiêu chuẩn khả tuần tự: Một biểu đồ u tập giao dịch {t1,t2,, tn} thực tơng tranh giao dịch đó, cách hình thức dãy xen kẽ phép toán giao dịch cho với i (i=1,2,, n) , u ti = ti , uti dãy u sau loại bỏ phép toán không thuộc t i Điều nghĩa trật tự tính toán phép toán u tuân thủ trật tự phép toán giao dịch Một biểu đồ u nếu, hai giao dịch, tất phép toán giao dịch phải đợc thực trớc phép toán giao dịch Từ tính chất toàn vẹn giao dịch định nghĩa biểu đồ tuần tự, ta xem thực tơng tranh giao dịch ảnh hởng y nh biểu đồ giao dịch Ta hình thức hóa điều nh sau: Cho u biểu đồ tập giao dịch {t1,t2,, tn} Khi phép toán R(x) giao dịch ti đợc thực hiện, đọc đợc giá trị x Khi phép toán W(y) giao dịch ti đợc thực hiện, viết giá trị vào y, giá trị kết tính toán địa phơng ti Chúng ta không nhìn vào chi tiết tính toán địa phơng, mà ta xem xét phép toán W(y) nh ký hiệu hàm f mà đối số tất khoản liệu đợc đọc ti trớc W(y) (tập đối số rỗng) Ta nói hai biểu đồ u u tập giao dịch {t 1,t2,, tn} tơng đơng nhìn thấy, ký hiệu uv u, cho tập miền khoản liệu, tập giá trị ban đầu gán cho khoản liệu từ miền tơng ứng minh họa cho ký hiệu hàm f giá trị đọc đợc phép toán đọc biểu đồ u giống nh giá trị đọc đợc phép đọc u Ta nói hai biểu đồ u u tập giao dịch {t 1,t2,, tn} tơng đơng trạng thái, ký hiệu us u, cho tập miền khoản liệu, tập giá trị ban đầu gán cho khoản liệu từ miền tơng ứng minh họa cho ký hiệu hàm f trạng thái tận CSDL đạt tới mà kết thực biểu đồ u u trùng Ta nói hai biểu đồ u u tập giao dịch {t 1,t2,, tn} tơng đơng , ký hiệu u u, chúng vừa tơng đơng nhìn thấy vừa tơng đơng trạng thái Trang Điều khiển tơng tranh CSDL phân tán Định nghĩa: Một biểu đồ u tập giao dịch {t 1,t2,, tn} khả tơng đơng với biểu đồ tập giao dịch Tiêu chuẩn khả phân thành hai tiêu chuẩn con: tiêu chuẩn khả nhìn thấy tiêu chuẩn khả trạng thái Các biểu đồ phù hợp với tiêu chuẩn biểu đồ khả nhìn thấy khả trạng thái Trong công trình trớc toán điều khiển tơng tranh, khả trạng thái đợc xem tiêu chuẩn đắn Tuy nhiên việc sử dụng tiêu chuẩn khả trạng thái không hoàn toàn Trong biểu đồ khả trạng thái ví dụ sau, giao dịch nhận đợc giá trị mâu thuẫn Ví dụ: Cho u biểu đồ tập giao dịch {t 1,t2} nh sau: R2(x) W1(x) W1(y) R2(y) phép toán với số i (i=1,2) giao dịch t i Biểu đồ khả trạng thái mà không lf khả nhìn thấy giao dịch t đọc phải giá trị x y mâu thuẫn 3) Đặc trng tiêu chuẩn khả tuần tự: Trớc hết ta đa vài khái niệm Cho u biểu đồ tập giao dịch {t 1,t2,,tn} Dãy u = toutf đợc gọi biểu đồ hoàn chỉnh u, giao dịch đầu t o gồm phép toán ghi tất khoản liệu mà không đọc gì, giao dịch kết thúc tf gồm phép toán đọc tất khoản liệu mà không ghi Ta nói R(x) đọc x từ W(x) u = W(x)R(x), dãy phép ghi Đặc trng cú pháp để nhận biết biểu đồ khả Bổ đề sau đặc trng cú pháp để nhận biết biểu đồ khả Bổ đề Cho u u hai biểu đồ tập giao dịch {t 1,t2,, tn} u, u biểu đồ hoàn chỉnh chúng Khi u u phép đọc R(x), đọc x từ W(x) u đọc x từ W(x) u Chứng minh (Nếu) Vì giao dịch kết thúc t f đọc trạng thái kết thúc CSDL sau thực biểu đồ u u, để chứng minh us u uv u ta cần chứng minh uv u Cho tập miền khoản liệu, tập giá trị ban đầu gán cho khoản liệu từ miền tơng ứng minh họa cho ký hiệu hàm f đợc gắn với phép toán ghi, ta phải chứng minh phép toán đọc , giá trị đọc đợc chúng nh u u Ta xét phép đọc lần lợt từ trái qua phải biểu đồ u Đối với phép đọc u , ví dụ R(x), phép đọc trớc nên hàm f gắn với phép ghi W(x) mà R(x) đọc x từ tham số Bởi giả thiết, R(x) đọc từ W(x) u nên chúng đọc giá trị hai biểu đồ u u Xét phép đọc thứ k u (ký hiệu R(x)) giả thiết khẳng định cho tất phép đọc trớc Chúng ta giả thiết R(x) Trang Điều khiển tơng tranh CSDL phân tán đọc x từ W(x) ti; R(x1), R(x2),, R(xp) phép đọc ti trớc W(x) ; f( x1, x2, xp) ký hiệu hàm gắn với W(x) Theo giả thiết R(x) đọc f(a 1, a2, ap) u đọc f(a1, a2, ap) u, giá trị đọc đợc R(xi) u u(i= 1, 2,, p) Với i, R(x i) trớc R(x) phép đọc thứ k u nên = Nh f( x1, x2, xp) = f(a1,a2, ap), điều nghĩa R(x) đọc giá trị u u (Chỉ nếu) Cho u u, giả thiết ngợc lai tồn phép đọc R(x) mà đọc x từ W(x) u nhng đọc x từ W(x) u Nh có ninh họa cho ký hiệu hàm gắn với W(x) W(x) cho phép đọc R(x) đọc đợc giá trị khác u u Điều mâu thuẫn với u u Bổ đề đợc chứng minh Định nghĩa đa đồ thị hóa biểu đồ: Cho u biểu đồ tập giao dịch {t 1,t2,, tn} u biểu đồ hoàn chỉnh u, đa đồ thị hóa u P(u)=(T,A,B), tập đỉnh T ={t 1,t2,, tn}{to,tf}, tập cung A tập cặp cung B đợc định nghĩa nh sau Nếu có khoản liệu x, phép toán W(x) ti R(x) tk (ik) u cho R(x) đọc x từ W(x) thì: (i) (ti ,tk)A (ii) Nếu ti t0 , tk tf có W(x) t0 ((tp ti), (tk,tp)) B trờng hợp sau: - tp= ti W(x) trớc W(x) - =tk W(x) trớc R(x) - ti tk (iii) Nếu ti t0 (ti ,t0 ) A (iv) Nếu ti =t0 tk tf có ghi vào x nhng t0, tk (tp, tk) A (v) Nếu tk = tf có ghi vào x nhng ti (tp , tk) A Điều kiện (i) ngầm định rằng, biểu đồ hoàn chỉnh u có R(x) tk đọc x từ W(x) ti ti phải trớc tk biểu đồ tơng đơng với u Điều kiện (ii) nói rằng, R(x) tk đọc x từ W(x) ti khác ghi vào x đứng ti tk biểu đồ tơng đơng Trang Điều khiển tơng tranh CSDL phân tán Điều kiện (iii), (iv) (v) liên quan đến giao dịch đầu giao dịch kết thúc: giao dịch trớc giao dịch đầu giao dịch sau giao dịch kết thúc Một đa đồ thị phi chu trình có phép chọn từ cặp cung cho đồ thị nhận đợc phi chu trình Đặc trng đồ thị tiêu chuẩn khả tuần tự: Định lý Một biểu đồ khả đa đồ thị hóa phi chu trình Chứng minh (Nếu) Vì đa đồ thị P(u)= (T, A, B) phi chu trình nên có có phép chọn từ cặp cung B cho đồ thị thông thờng nhận đợc =(T, A) phi chu trình Vì giao dịch trớc giao dịch đầu sau giao dịch kết thúc phi chu trình nên xếp giao dịch T theo trật tự tuyến tính t 0ustf tuân thủ trật tự phận A, u s biểu đồ {t1 ,t2, ,tn} Rõ ràng t0ustf biểu đồ hoàn chỉnh us us Sử dụng bổ đề để chứng minh u us phép đọc R(x), đọc x từ W(x) u đọc x từ W(x) us Cho R(x) tk đọc x từ W(x) ti u , xem xét hai trờng hợp sau: - Trờng hợp i=k, định nghĩa biểu đồ, trật tự phép toán u tuân thủ trật tự phép toán giao dịch nên R(x) đọc x từ W(x) us - Trong trờng hợp lại (ik) R(x) tk đọc x từ W(x) ti u nên (ti,tk)A ti trớc tk us ta giả thiết phản chứng R(x) tk đọc x từ phép ghi W(x) us Chúng ta kiểm tra trờng hợp ti =t0, tk tf t0 Các trờng hợp khác liên quan đến giao dịch đầu giao dịch kết thúc đợc kiểm tra tơng tự Với trờng hợp chọn, xem xét khả sau: * Nếu =ti W(x) trớc W(x) u nh ((ti,ti), (tk,ti)) B * Nếu =tk W(x) trớc R(x) u nh ((tk,ti), (tk,tk)) B * Nếu ti tk ((tp,ti), (tk,tp)) B Cả hai trờng hơp đầu, chọn cung cặp cung dẫn đến chu trình, điều mâu thuẫn với tính chất phi chu trình P(u) Đối với trờng hợp cuối cùng, phép chọn t p đứng t i tk us Điều dẫn đến mâu thuẫn Chúng ta kết luận R(x) đọc x từ W(x) hai u us (Chỉ nếu) Vì biểu đồ u khả nên có biểu đồ u s giao dịch cho u us, u = t0utf t0ustf= us Nếu (ti,tk) cung A P(u), định nghĩa P(u) nên t i phải trớc tk us Cho ((tp,ti), (tk,tp)) B cặp cung sinh phép ghi t p , định nghĩa P(u) nên đứng giứa ti tk us Chúng ta chộn Trang Điều khiển tơng tranh CSDL phân tán cặp (tp ,ti) từ cặp cung trớc ti us , chọn (tk ,tp) trờng hợp ngợc lại Trật tự tuyến tính us phù hợp với cung Avà cung đợc chọn từ cặp cung B Chúng ta cách có cấu trúc đồ thị phi chu trình từ đa đồ thị P(u) Định lý đợc chứng minh Độ phức tạp tiêu chuẩn khả tuần tự: Một thuật toán đơn giản để kiểm biểu đồ có khả hay không kiểm tra tính phi chu trình đồ thị Nếu số cặp cung đa đồ thị n độ phức tạp tính toán thuật toán n, thuật toán có độ phức tạp nh chấp nhận đợc thực hành Thật không may, thuật toán tốt tính chất NP_đầy đủ toán đoán nhận biểu đồ có khả hay không Để chứng minh điều toán có độ phức tạp thời gian đa thức dẫn toán NP_đầy đủ (đã đợc nghiên cứu) toán Trớc hết ta giới thieu toán NP_đầy đủ Một giao dịch hai bớc dãy phép toán CSDL tất phép toán đọc trớc tất phép toán ghi, hiển nhiên giao dịch đầu t0 giao dịch cuối tf giao dịch hai bớc Cho u biểu đồ tập giao dịch {t 1,t2,, tn} u biểu đồ hoàn chỉnh u, định nghĩa giao dịch sống nh sau: (i) Giao dịch tf sống (ii) Nếu giao dịch tj sống có R(x) tj đọc x từ W(x) ti u ti sống Một giao dịch chết sống Định lý sau đợc phát biểu chứng minh nên bỏ qua chứng minh Định lý Bài toán kiểm tra biểu đồ giao dịch hai bớc có khả trạng thái hay không NP_đầy đủ, chí u giao dịch chết Bây ta phát biểu chứng minh tính chất NP_đầy đủ toán Định lý Bài toán nhận biết biểu đồ có khả hay không toán NP_đầy đủ Để chứng minh định lý ta cần bổ đề hệ sau Bổ đề Cho u u hai biểu đồ tập giao dịch hai bớc {t1,t2,, tn} u, u biểu đồ hoàn chỉnh chúng Hai biểu đồ u u tơng đơng trạng thái us u chúng có tập giao dịch sống phép toán R j(x) giao dịch sống tj đọc x từ phép toán Wi(x) giao dịch ti u Rj(x) đọc x từ Wi(x) u Bổ đề đợc phát biểu chứng minh , chứng minh hệ sau Hệ Cho u u hai biểu đồ tập giao dịch hai bớc {t1,t2,, tn} giao dịch chết Hai biểu đồ u u tơng đơng trạng thái chúng tơng đơng Chứng minh Phần (nếu) hiển nhiên định nghĩa tơng đơng trạng thái tơng đơng Chúng ta chứng minh chiều ngợc lại Trang 10 Điều khiển tơng tranh CSDL phân tán (Chỉ nếu) cho Rj(x) Wi(x) phép toán tj ti cho Rj(x) đọc x từ Wi(x) biểu đồ hoàn chỉnh u u Vì tất giao dịch sống nên t j sống Từ bổ đề ta có R j(x) đọc x từ Wi(x) biểu đồ hoàn chỉnh u u Bởi bổ đề kết luận u u tơng đơng Ta quay lại chứng minh định lý Tập biểu đồ khả đợc nhận biết máy Turing không tiền định, điều đợc thuật toán đơn giản nói đầu phần Để hoàn thành chứng minh định lý ta thuật toán có độ phức tạp tính toán đa thức dẫn toán NP_đầy đủ định lý toán Cho input toán định lý 2, nh u biểu đồ giao dịch sống hai bớc Rõ ràng u input toán Bởi hệ trên, u khả trạng thái u khả Định lý đợc chứng minh Để kết luận phần ta xem xét trờng hợp đặc biệt giao thức mà phép toán ghi có phép toán đọc trớc nó, chúng đợc gọi giao dịch hành động Định lý Cho u giao dịch hành động {t 1,t2,, tn} , P(u)= (T,A,B) đa đồ thị hóa u, đặt Pa = (T,A) đồ thị thông thờng Nh u khả Pa phi chu trình Điều kéo theo toán nhận biết biểu đồ giao dịch hành động có độ phức tạp đa thức Chứng minh Chiều (chỉ nếu) hiển nhiên định nghĩa phi chu trìnhcủa đa đồ thị Để chứng minh chiều (nếu) chứng minh P a phi chu trình cách cấu trúc đồ thị phi chu trình = (T,A) từ P(a) nh sau Trớc tiên cho A= A Xét cặp cung ((tp ti), (tk,tp)) B sinh Rj(x) ti đọc x từ Wi(x) tk có Wp(x) biểu đồ hoàn chỉnh u u Nếu Wp(x) trớc Wi(x), tính chất giao dịch hành động nên cung (tp,ti) nằm bao đóng chuyển tiếp A, trờng hợp ta thêm cung (tp,ti) vào A Ngợc lại Rk(x) trớc Wp(x) cung (tk,tp) nằm bao đóng chuyển tiếp A Đồ thị kết =(T,A) có A nằm bao đóng A mà Pa = (T, A) phi chu trình nên phi chu trình Kết luận: Tính chất NP_đầy đủ tiêu chuẩn khả đồi hỏi phải tìm xấp xỉ đa thức tiêu chuẩn II Tiêu chuẩn khả mâu thuẫn: Đặt vấn đề: Tiêu chuẩn khả giao dịch thực tơng tranh CSDL nh ta trình bày phần trớc đợc nh tiêu chuẩn đắn, hợp lý, thỏa mãn tính toàn vẹn CSDL yêu cầu ngời sử dụng Tính đắn tiêu chuẩn đợc sử dụng làm sở cho phơng pháp đièu khiển tơng tranh Xét độ phức tạp thời gian đáng tiếc toán nhận biết thực tơng tranh giao dịch có khả hay không lại toán NP_đầy đủ Do mặt thực hành, sử dụng trực tiếp tiêu chuẩn để xây dựng phơng pháp điều khiển tơng tranh Trang 11 Điều khiển tơng tranh CSDL phân tán Trong thực tế ngời ta thờng áp dụng tiêu chuẩn khả mâu thuẫn Trrong phần ta tiêu chuẩn xấp xỉ đa thức tiêu chuẩn khả Tiếp ta vài phơng pháp điều khiển tơng tranh đợc sử dụng phổ biến hệ quản trị CSDL thỏa mãn tiêu chuẩn Tiêu chuẩn khả mâu thuẫn: Trong phần ta giới thiêu tiêu chuẩn khả mâu thuẫn lớp biểu đồ thỏa mãn tiêu chuẩn xấp xỉ đa thúc lớp biểu đồ khả Cho a b hai phép toán CSDL Ta nói a b giao hoán đợc chúng truy nhạp vào khoản liệu khác nhau, chúng truy nhập vào khoản liệu hai phép toán đọc Ngợc lai, ta nói chúng mâu thuẫn Dễ dàng thấy rằng, trật tự liên tiép hai phép toán giao hoán dãy phép toán CSDL không quan trọng quan hệ tơng đơng Cho u biểu đồ tập giao dịch {t 1,t2,, tn} Đồ thị hóa mâu thuẫn u G(u)= (T, A), tập đỉnh G(u) T ={t 1,t2,, tn}, tập cạnh A đợc định nghĩa nh sau Nếu có khoản liệu x phép toán a t i b tk (ik) x cho a trớc b biểu đồ u a, b mâu thuẫn (ti,tk)A Định nghĩa Một biểu đồ u tập giao dịch {t1,t2,, tn}là khả mâu thuẫn đồ thị hóa mâu thuẫn phi chu trình Vì có thuật toán nhận biết tính phi chu trình đồ thị định hớng đợc thực thời gian đa thức, lớp biểu đồ khả mâu thuẫn có tính chất đa thức Tính đắn biểu đồ khả mâu thuẫn đợc chứng minh định lý sau Định lý Cho SR (SeRializability) lớp biểu đồ khả CSR (Conflict SeRializability) lớp biểu đồ khả mâu thuẫn Thế thì, CSRSR bao hàm thức thực Chứng minh Đầu tiên ta chứng minh CSRSR Cho u biểu đồ khả mâu thuẫn tập giao dịch {t1,t2,, tn} Vì đồ thị hóa mâu thuẫn u , G(u)= (T, A) phi chu trình nên giao dịch T đợc xếp trật tự tuyến tính u s thống với A Không tính tổng quát giả thiết u s= t1t2tn Cho a phép toán t1 ta xem xét vị trí a u Giả sử u= u1abu2 (u1 u2 dãy u, a b phép toán) Vì a phép toán t1 nên b phải phép toán t i mà ti t1 Vì trật tự tuyến tính us thống với A, nên (ti ,t1)A Do phép toán a b giao hoán đợc u1bau2 u1abu2 Tơng tự, phép toán a đợc đẩy liên tiếp tơng đơng đến vị trí u Bằng cách phép toán biểu đồ u, ta biến đổi tơng đơng u us điều có nghĩa u us Để chứng minh bao hàm thức thực sự, ta biểu đồ u giao dịch {t 1,t2,t3} mà khả nhng không khả mâu thuẫn: u=W 2(x)R3(x)W1(x)W3(x) (phép toán số i giao dịch t i) Dễ dàng thấy u= t1t2t3 Tuy nhiên đồ Trang 12 Điều khiển tơng tranh CSDL phân tán thị hóa mâu thuẫn u có chu trình, ví dụ (t 3,t1) (t1,t3) cạnh đồ thị tạo thành chu trình Một vài phơng pháp điều khiển tơng tranh: Để đảm bảo tính đắn việc thực tơng tranh giao dịch CSDL, hệ quản trị CSDL phải có lập lịch điều khiển việc thực tơng tranh Có nhiều phơng pháp xây dựng lập lịch sử dụng tiêu chuẩn đắn khả mâu thuẫn Một phơng pháp cực đoan lập lịch xây dựng đồ thị hóa mâu thuẫn sở tất phép toán đọc ghi đợc yêu cầu giao dịch hoạt động, cho phép phép toán thực không gây chu trình cho đồ thị Phơng pháp áp dụng đợc nhng hiệu Trong phần trình bày hai phơng pháp điều khiển tơng tranh phổ biến sở khóa tem thời gian Giao thức khóa hai pha: ý tởng việc điều khiển tơng tranh giao thức khóa đảm bảo dùng chung cho thao tác tơng tranh đợc truy suất lần giao dịch Điều đợc thực cách liên kết khóa (lock) với đơn vị khóa Khóa đợc giao dịch đặt trớc truy xuất đợc điều chỉnh lại vào lúc hết sử dụng, tất nhiên đơn vị khóa truy xuất đợc bị khóa giao dịch khác Vì yêu cầu khóa giao dịch đợc trao khóa kèm không bị giao dịch khác giữ Ta xét cách chi tiết nh sau: Giả thiết trớc đọc ghi khoản liệu x, giao dịch t phải yêu cầu lập lịch cấp phát cho khóa Rlock(x) Wlock(x) tơng ứng Thêm vào giao dịch t phải giải phóng khóa Ulock(x) sau thực phép toán tơng ứng Giao thức khóa hai pha yêu cầu giao dịch tất yêu cầu khóa phải trớc tất yêu cầu giải phóng khóa Khi lập lịch khóa hai pha nhận đợc yêu cầu cấp phát khóa từ giao dịch, chấp nhận từ chối yêu cầu đó, Nếu yêu cầu đợc chấp nhận phép toán tơng ứng đợc thực hiện, ngợc lại giao dịch phải chờ gửi tiếp yêu cầu đợc chấp nhận Các quy tắc sau đợc lập lịch sử dụng để chấp nhận từ chối cấp phát khóa cho giao dịch t: - Một Rlock đợc cấp phát cho giao dịch t miễn Wlock khoản liệu đợc nắm giữ giao dịch khác - Một Wlock đợc cấp phát cho giao dịch t miễn Rlock Wlock khoản liệu đợc nắm giữ giao dịch khác Ta ý quy tắc không áp dụng cho tình giao dịch yêu cầu khóa có khóa khác khoản liệu Ta phát biểu chứng minh định lý sau Trang 13 Điều khiển tơng tranh CSDL phân tán Định lý Nếu tất giao dịch tuân theo giao thức khóa hai pha lập lịch cho phép biểu đồ khả mâu thuẫn Cho u biểu đồ tập giao dịch {t 1,t2,, tn} sinh lập lịch khóa hai pha Chúng ta chứng minh tính khả u phơng pháp phản chứng Giả sử có chu trình t i1 ti2, tinti1 đồ thị hóa mâu thuẫn u Nh phải có phép toán a t i1 phép toán b t i2 cho a, b mâu thuẫn a trớc b u Do tính chất lập lịch, phải có yêu cầu giải phóng khóa tơng ứng với a ti1 trớc tơng ứng với b ti2 Tơng tự nh vậy, phải có yêu cầu giải phóng khóa t ik trớc yêu cầu khóa tin Điều có nghĩa giao dịch t i1 không tuân theo giao thức khóa hai pha Định lý đợc chứng minh Điều khiển tơng tranh sở tem thời gian Trong phơng pháp giao dịch t đợc lập lịch gán tem thời gian nhất, temstemp(t), mà thời điểm giao dịch t bắt đầu Mỗi khoản liệu x CSDL đợc gán với hai giá trị thời gian: read-time tr(x) tem thời gian lớn giao dịch đọc x; write-time tr(x) tem thời gian lớn giao dịch ghi vào x Với phơng pháp tem thời gian, lập lịch đảm bảo sinh biểu đồ tơng đơng với biểu đồ theo trật tự tuyến tính tem thời gian Biểu đồ dó gọi thủ tục Read(x) Write(x) từ giao dịch t PROCEDURE Read(x, t) BEGIN IF timestemp(t) < tw(x) THEN ELSE BEGIN tr(x):=max{ timestemp(t) , tr(x) } END END; PROCEDURE Write(x, t) BEGIN IF temstemp(t) < tw(x) OR timestemp(t) < tr(x) THEN ELSE BEGIN tw(x):=timestemp(t) END END; Định lý Cho u biểu đồ tập giao dịch {t 1,t2,, tn}sinh lập lịch tem thời gian u khả mâu thuẫn Cho (t1,t3) cung đồ thị hoá mâu thuẫn u Vậy tồn khoản liệu x, phép toán a t i, phép toán b tj cho a b mâu thuẫn, a trớc b u Ta ý khoản liệu, giá trị read-time write-time tăng Ta xét trờng hợp sau: Trang 14 Điều khiển tơng tranh CSDL phân tán - Nếu a ghi b đọc, thủ tục Read(x, t j) đợc thực có timestemp(ti) tw(x) timestemp(tj) - Nếu a đọc b ghi, thủ tục Write(x, t j) đợc thực có timestemp(ti) tr(x) timestemp(tj) - Nếu a ghi b ghi, thủ tục Write(x, t j) đợc thực có timestemp(ti) tw(x) timestemp(tj) Trong trờng hợp có timestemp(ti) timestemp(tj) Vì ti tj nên timestemp(ti) < timestemp(tj) Nếu đồ thị hóa mâu thuẫn u có chu trình, chẳng hạn ti1 ti2, tikti1 timestemp(ti1) < timestemp(ti2) < [...]... này để xây dựng các phơng pháp điều khiển tơng tranh Trang 11 Điều khiển tơng tranh trong CSDL phân tán Trong thực tế ngời ta thờng áp dụng tiêu chuẩn khả tuần tự mâu thuẫn Trrong phần này ta sẽ chỉ ra tiêu chuẩn đó là một xấp xỉ đa thức của tiêu chuẩn khả tuần tự Tiếp đó ta sẽ chỉ ra một vài phơng pháp điều khiển tơng tranh đợc sử dụng phổ biến trong các hệ quản trị CSDL thỏa mãn tiêu chuẩn đó 2 Tiêu... đến hiện tợng khóa chết (deadlock) có thể xảy ra trong các giả thuật điều khiển tơng tranh Một khóa chết có thể xảy ra do các giao dịch chờ đợi các giao dịch khác Một cách hình thức: một trờng hợp khóa chết là một tập hợp các yêu cầu mà có thể chẳng bao giờ đợc giải quyết bởi kỹ thuật điều khiển tơng tranh Trang 15 Điều khiển tơng tranh trong CSDL phân tán Trang 16 ... giao dịch trong các cơ sở dữ liệu Và lý thuyết điều khiển tơng tranh trong CSDL đang đợc nghiên cứu để nâng cao hiệu quả xử lý của hệ thống Hơn thế nữa, các phơng pháp điều khiển tơng tranh phải đợc nghiên cứu cùng các phơng pháp khôi phục CSDL sau các sai hỏng giao dịch Nếu một giao dịch t phải hủy khi cha hoàn thành vì một lý do nào đó, chúng ta không những phải lập lại những thay đổi CSDL do t gây... là có chu trình, ví dụ (t 3,t1) và (t1,t3) là các cạnh của đồ thị và tạo thành một chu trình Một vài phơng pháp điều khiển tơng tranh: Để đảm bảo tính đúng đắn của việc thực hiện tơng tranh của các giao dịch trong CSDL, hệ quản trị CSDL phải có một bộ lập lịch điều khiển việc thực hiện tơng tranh đó Có rất nhiều phơng pháp xây dựng bộ lập lịch sử dụng tiêu chuẩn đúng đắn khả tuần tự mâu thuẫn Một phơng... thị Phơng pháp này có thể áp dụng đợc nhng kém hiệu quả Trong phần này tôi sẽ trình bày hai phơng pháp điều khiển tơng tranh phổ biến nhất trên cơ sở khóa và tem thời gian Giao thức khóa hai pha: ý tởng chính của việc điều khiển tơng tranh bằng giao thức khóa là đảm bảo dùng chung cho các thao tác tơng tranh chỉ đợc truy suất mỗi lần một giao dịch Điều này đợc thực hiện bằng cách liên kết một khóa (lock)... mọi phép toán trong biểu đồ u, ta biến đổi tơng đơng u về us điều đó có nghĩa là u us Để chứng minh bao hàm thức là thực sự, ta sẽ chỉ ra biểu đồ u của giao dịch {t 1,t2,t3} mà nó là khả tuần tự nhng không khả tuần tự mâu thuẫn: u=W 2(x)R3(x)W1(x)W3(x) (phép toán đó chỉ số i là của giao dịch t i) Dễ dàng thấy rằng u= t1t2t3 Tuy nhiên đồ Trang 12 Điều khiển tơng tranh trong CSDL phân tán thị tuần tự.. .Điều khiển tơng tranh trong CSDL phân tán (Chỉ nếu) cho Rj(x) và Wi(x) là các phép toán của tj và ti sao cho Rj(x) đọc x từ Wi(x) trong biểu đồ hoàn chỉnh u của u Vì tất cả các giao dịch là sống nên t j cũng sống Từ bổ đề 2 ta có R j(x) đọc x từ Wi(x) trong biểu đồ hoàn chỉnh u của u Bởi bổ đề 1 chúng ta kết luận u và u tơng... đang đợc nắm giữ bởi một giao dịch khác Ta chú ý rằng những quy tắc này không áp dụng cho tình huống một giao dịch yêu cầu khóa trong khi đang có khóa khác trên cùng khoản dữ liệu Ta sẽ phát biểu và chứng minh định lý sau đây Trang 13 Điều khiển tơng tranh trong CSDL phân tán Định lý 2 Nếu tất cả các giao dịch tuân theo giao thức khóa hai pha thì bộ lập lịch ở trên chỉ cho phép các biểu đồ khả tuần... tình huống làm lãng phí khối lợng lớn công việc Trong thực tế ngới ta đa ra phơng pháp điều khiển tơng tranh chặt hơn nhằm tránh tình huống trên Các phơng pháp điều khiển tơng tranh này không những sinh ra các biểu đồ khả tuần tự mâu thuãn mà còn đảm bảo một giao dịch phải hủy không đòi hỏi phỉ hủy các giao dịch khác Ví dụ phơng pháp khóa hai pha chặt, trong đó mỗi giao dịch chỉ giải phóng khóa sau... thuẫn u Vậy tồn tại khoản dữ liệu x, phép toán a của t i, phép toán b của tj sao cho a và b mâu thuẫn, a đi trớc b trong u Ta chú ý rằng đối với mọi khoản dữ liệu, giá trị read-time và write-time luôn tăng Ta xét các trờng hợp có thể sau: Trang 14 Điều khiển tơng tranh trong CSDL phân tán - Nếu a là ghi và b là đọc, thì khi thủ tục Read(x, t j) đợc thực hiện chúng ta có timestemp(ti) tw(x) timestemp(tj)

Ngày đăng: 23/06/2016, 16:28

Mục lục

  • II. HÖ CSDL ph©n t¸n

  • Hç trî cña hÖ ®iÒu hµnh

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

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

Tài liệu liên quan