Bài giảng Các hệ cơ sở dữ liệu - 6. Hệ quản trị cơ sở dữ liệu phân tán

Sự hợp thức hoá giao tác Phương pháp trực tiếp để hợp thức hoá một giao tác phân tán: tích hợp thực sự các cập nhật của giao tác và CSDL Giao thức hợp thức hoá hai giai đoạn: Giai đoạn chuẩn bị: trạm điều phối yêu cầu mỗi trạm tham gia chuẩn bị cho sự hợp thức hoá Giai đoạn hợp thức: trạm điều phối ra lệnh cho tất cả các trạm tham gia hợp thức hoá các cập nhật của chúng nếu như tất cả chúng đều hoàn thành đúng giai đoạn thứ nhất hay nếu không thì huỷ bỏ chúng

pdf15 trang | Chia sẻ: vutrong32 | Lượt xem: 1196 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Các hệ cơ sở dữ liệu - 6. Hệ quản trị cơ sở dữ liệu phân tán, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu  Khái niệm và kiến trúc của hệ CSDLPT  Các cách tiếp cận cho việc phân bố dữ liệu  Mục tiêu của các hệ QTCSDL phân tán DBMS06 – Slides 2  Kiến trúc tham chiếu  ðịnh nghĩa dữ liệu  ðánh giá các câu hỏi phân tán  Quản lý các giao tác phân tán Dẫn nhập  CSDL của công ty lớn cần nhiều chi nhánh ở từng vùng miền, mỗi chí nhánh ñều có CSDL riêng. Khi cần thống kê toàn công ty  truy xuất ñến CSDL  tổ chức CSDL như thế nào???? DBMS06 – Slides 3  Làm thế nào ñể quản lý các luồng dữ liệu, sử dụng chung dữ liệu?  Một hệ thống phân tán gồm 2 phần: mạng máy tính và CSDL phân tán. Các hình thức tổ chức phân tán  Peer to peer  File server DBMS06 – Slides 4  Client / Server Các hình thức tổ chức phân tán  Mô hình peer to peer:  Sử dụng như máy ñộc lập.  Mỗi máy có vai trò như nhau, tự quản lý tài nguyên của chính mình và chia sẽ tài nguyên cho toàn hệ thống. DBMS06 – Slides 5  Mỗi máy tính vừa ñóng vai trò server và vai trò client.  ðây là mô hình mạng ñơn giản, phù hợp với hệ thống mạng nhỏ, không yêu cầu bảo mật cao. Các hình thức tổ chức phân tán  Mô hình peer to peer: DBMS06 – Slides 6 Các hình thức tổ chức phân tán  File Server:  Là máy dịch vụ, gán trực tiếp vào mạng LAN.  Quản lý các hoạt ñộng file và phục vụ các máy tính cá nhân ñược kết nối trong mạng LAN.  Mỗi máy cá nhân ñược phân bố một dung lượng DBMS06 – Slides 7 nhất ñịnh trên File Server.  Hạn chế:  Di chuyển trên mạng quá nhiều  Kiểm soát dữ liệu phi thành công  Các máy trạm phải ñủ mạnh Các hình thức tổ chức phân tán  Client/Server (mô hình khách – chủ)  Server có chức năng ñiều khiển, lưu trữ CSDL, xử lý các truy vấn và quản lý việc khai thác tài nguyên của máy tính khác. Client dùng ñể chỉ người khai thác tài DBMS06 – Slides 8  nguyên. ðây là xu hướng tất yếu hiện nay. Các ñặc trưng về CSDLPT ðặc trưng File Server Server/Client Xử lý Chỉ ở máy khách Cả máy khách và máy trạm Truy nhập dữ liệu ñồng thời Thấp, mỗi máy khách thực hiện Cao, Server thực hiện DBMS06 – Slides 9 An toàn và toàn vẹn CSDL Thấp, máy khách quản lý Cao, Server thực hiện Sử dụng mạng File lớn, chuyển cả file Truyền dữ liệu nhiều mức Bảo trì phần mềm Thấp, chỉ ở máy server Hỗn hợp các phần mềm gửi tới máy khách Phần cứng hệ thống. Sự mềm dẽo của phần mềm Ghép nối máy khách và Server ñể phối hợp Ghép nối máy khách và Server ñể phối hợp Khái niệm hệ CSDLPT CSDLPT là một bộ các sưu tập các DL về mặt logic thuộc cùng một hệ thống nhưng về mặt vật lý ñược phân bố trên các trạm của một mạng máy tính. DBMS06 – Slides 10 Hệ QTCSDLPT là hệ thống phần mềm cho phép quản lý CSDLPT, làm cho việc phân tán trở nên “trong suốt” ñối với người dùng Kiến trúc của hệ CSDLPT  Có nhiều máy tính ñược gọi là các trạm (nút – node)  Các trạm phải ñược kết nối bởi một kiểu mạng truyền thông ñể truyền DL và các lệnh giữa các trạm  Phần mềm quản lý hệ CSDLPT:  Xử lý DL (DP – Data Processor): quản lý DL cục bộ (ñịa phương) tại một trạm DBMS06 – Slides 11  Xử lý ứng dụng (AP – Application Processor): thực hiện chức năng phân tán, truy cập thông tin phân tán từ thư mục CSDL phân tán và xử lý các yêu cầu truy cập ñến nhiều trạm  Phần mềm truyền thông: cung cấp các nguyên thuỷ truyền thông ñược AP dùng ñể truyền lệnh và các trạm khi cần Ví dụ: Một ngân hàng có ba chi nhánh ñặt tại các vị trí khác nhau:  Tại mỗi chi nhánh có một máy tính ñiều khiển một số máy kế toán cuối cùng (teller terminal) và cơ sở dữ liệu thống kê của chi nhánh ñó.  Mỗi máy tính với cơ sở dữ liệu thống kê ñịa phương của nó tại mỗi chi nhánh ñược ñặt ở một vị trí của cơ DBMS06 – Slides 12 sở dữ liệu phân tán. Các máy tính ñược nối với nhau bởi một mạng truyền thông. Các nút trong một mạng phân tán một mặt xử lý thông tin tại vị trí mà nó quản lý, mặt khác nó cũng tham gia vào việc xử lý các yêu cầu về thông tin cần truy cập qua nhiều ñịa ñiểm. Ví dụ như việc lên danh sách tất cả nhân viên của ngân hàng. Yêu cầu này ñòi hỏi tất cả các máy tính ở các chi nhánh của công ty ñều phải hoạt ñộng ñể cung cấp thông tin. Ví dụ (mô hình) Server 1 Database 1 T T T T T Terminal Server 2 T T T T T Database 2 DBMS06 – Slides 13 Server 3 T T T T T Database 3 Network Kiến trúc của hệ CSDLPT CSDL1 DP CSDL2 DP CSDLn DP . . . DBMS06 – Slides 14 AP Trạm 1 AP Trạm 2 AP Trạm n Mạng truyền thông Kiến trúc ñơn giản hoá của hệ thống vật lý cho hệ CSDLPT Kiến trúc của hệ CSDLPT Một số chức năng ñặc biệt của hệ QTCSDLPT:  Quản lý một từ ñiển DL tổng thể lưu giữ thông tin liên quan ñến các DLPT  ðịnh nghĩa các DLPT DBMS06 – Slides 15  Kiểm tra ngữ nghĩa của các DLPT  ðịnh giá các câu hỏi phân tán của người dùng  Quản lý các giao tác phân tán, các chương trình nguyên tố trong ñó có các câu hỏi phân tán. Các cách tiếp cận cho việc phân bố dữ liệu 1. CSDL từ xa (remote database) CSDL ở trên một máy tính khác với máy tính của người sử dụng và ñược truy nhập nhờ các lệnh truyền thông ñược xác ñịnh bởi người dùng. DBMS06 – Slides 16 Cách tiếp cận CSDL từ xa cho một chức năng hạn chế nhưng không vấp phải những vấn ñề khó nhất của CSDLPT. Các cách tiếp cận cho việc phân bố dữ liệu 2. CSDLPT: tập các CSDL hợp tác, mỗi CSDL cư trú trên một trạm khác nhau, ñược nhìn thấy và thao tác bởi người dùng như chỉ là một CSDL tập trung duy nhất. DBMS06 – Slides 17 Như vậy, sự phân bố của dữ liệu là trong suốt ñối với người dùng. Các cách tiếp cận cho việc phân bố dữ liệu Việc quản lý các dữ liệu phân tán ñòi hỏi ở mỗi trạm (site) lắp ñặt các thành phần hệ thống sau: DBMS06 – Slides 18 Trình quản lý các ứng dụng Trình quản lý các DLPT Trình quản lý truyền thông Hệ QTCSDL Trình quản lý các ứng dụng Trình quản lý các DLPT Trình quản lý truyền thông Hệ QTCSDL CSDL1 CSDL2 Trạm 1 Trạm 2 Mạng Các cách tiếp cận cho việc phân bố dữ liệu Hệ thống quản lý một CSDL phân tán là một hệ QTCSDL phân tán DBMS06 – Slides 19 Tập hợp các phần mềm hệ thống bao gồm các trình quản lý các dữ liệu phân tán, các trình quản lý truyền thông và các CSDL ñịa phương cư trú trên mỗi trạm của CSDLPT Các cách tiếp cận cho việc phân bố dữ liệu  CSDLPT thuần nhất: CSDLPT có ñược bằng cách chia một CSDL thành một tập các CSDL ñịa phương (cục bộ), mỗi CSDL này ñược quản lý bởi cùng hệ QTCSDL (thuận lợi cho cách tiếp cận thiết kế trên - xuống) CSDLPT không thuần nhất: CSDLPT có ñược DBMS06 – Slides 20 20  bằng cách tích hợp vào một CSDL duy nhất một tập các CSDL ñịa phương ñược quản lý bởi các hệ QTCSDL khác nhau (thuận lợi cho cách tiếp cận thiết kế dưới - lên) Các cách tiếp cận cho việc phân bố dữ liệu 3. CSDL liên hiệp (ña CSDL): một tập hợp các CSDL ñược ghép nối yếu (lỏng lẻo) mà người dùng có thể thao tác nhờ vào một ngôn ngữ ñặc biệt (ngôn ngữ ña DBMS06 – Slides 21 cơ sở) cho phép ñịnh nghĩa các DL ña cơ sở, các phụ thuộc giữa các cơ sở và các thao tác DL ña cơ sở Các cách tiếp cận cho việc phân bố dữ liệu DBMS06 – Slides 22 Trình quản lý các ứng dụng Trình quản lý các DL ña cơ sở Trình quản lý truyền thông Hệ QTCSDL1 Hệ QTCSDL2 Trình quản lý các ứng dụng Trình quản lý các DLña cơ sở Trình quản lý truyền thông Hệ QTCSDL3 CSDL1 CSDL3 Mạng CSDL2 Một CSDLPT liên hiệp Các cách tiếp cận cho việc phân bố dữ liệu 4. CSDL song song Các DL ñược phân bố trên tập các nút của một máy tính song song (bộ ña xử lý) ñể tăng hiệu quả việc quản lý DL. DBMS06 – Slides 23 Một CSDL song song là một CSDLPT thuần nhất mà các trạm là các nút của một máy tính song song và truyền ñạt bằng thông báo. Mục tiêu của các hệ QTCSDLPT  Tính ñộc lập ñối với sự phân bố DL  Người dùng CSDLPT có thể không quan tâm tới sự phân tán của DL.  Thông tin về sự phân bố của DL ñược giữ trong từ ñiển DL và ñược hệ QTCSDLPT tham khảo ñể xác DBMS06 – Slides 24 ñịnh vị trí các quan hệ có liên quan trong các câu hỏi của người dùng Sự trong suốt ñối với sự ñịnh vị trí của DL cung cấp tính ñộc lập vật lý ñối với môi trường phân tán. Mục tiêu của các hệ QTCSDLPT  Tính ñộc lập ñối với sự phân ñoạn  Việc truy nhập tới DL thường ñược xác ñịnh trên các quan hệ con (thu ñược từ việc chia nhỏ các quan hệ nguyên vẹn) ñược gọi là các ñoạn  Các ñoạn có thể ñược lưu trữ ở các trạm khác nhau DBMS06 – Slides 25  Việc phân ñoạn (ngang, dọc, hỗn hợp) làm tăng tính hiệu quả của một CSDLPT vì nó cho phép làm dễ dàng các truy nhập ñịa phương. Tính ñộc lập ñối với các phân ñoạn dấu người dùng việc các DL ñã ñược phân ñoạn. Mục tiêu của các hệ QTCSDLPT  Tính ñộc lập ñối với việc nhân (sao) bản  Một ñoạn ñược nhân bản khi nó có tồn tại hai hay nhiều hơn các bản sao, mỗi bản sao ñượ lưu giữ trên một trạm khác nhau  Sự sao bản ñược ñiều khiển bởi hệ thống làm DL có tĩnh sẵn dùng cao, cải tiến hiệu năng truy nhập, tăng khả năng xử lý ñịa phương. DBMS06 – Slides 26  Tuy nhiên, việc duy trì các bản sao luôn phải giống nhau là phức tạp và tốn kém. Tính ñộc lập ñối với nhân bản DL khiến người dùng không thấy là có nhân bản mà chỉ thấy các quan hệ không có nhân bản. Mục tiêu của các hệ QTCSDLPT  Tính ñộc lập ñối với các hệ QTCSDL  Cho phép dấu sự kiện là các hệ QTCSDL ñịa phương có thể khác nhau  Mục tiêu này khó thực hiện hoàn toàn ñối DBMS06 – Slides 27 với hệ CSDLPT không thuần nhất Mục tiêu của các hệ QTCSDLPT  Tính tự trị của các trạm  Cho phép mỗi trạm ñiều khiển và thao tác DL ñịa phương của nó ñộc lập với các trạm khác DBMS06 – Slides 28  Ưu việt là việc quản trị của CSDLPT có thể hoàn toàn phi tập trung. Mục tiêu của các hệ QTCSDLPT  Tính mở rộng: Khả năng tăng trưởng bằng việc ñưa thêm các trạm mới vào trong mạng với tác ñộng tối thiểu trên các CSDLPT ñịa phương và các chương trình ứng dụng hiện có. Hiệu năng: là vấn ñề sống còn của cách tiếp DBMS06 – Slides 29  cận CSDLPT Vấn ñề cốt yếu là phân ñoạn và nhân bản DL sao cho khai thác tốt tính song song Kiến trúc tham chiếu  Kiến trúc các lược ñồ  Kiến trúc chức năng  Các vấn ñề kỹ thuật DBMS06 – Slides 30 Thiết kế CSDLPT  Mô tả các ñối tượng  Việc mô tả DL thoạt ñầu ñược ñưa vào trạm cục bộ (gọi là trạm tạo sinh), tại ñây các DL ñược mô tả sẽ ñược tạo ra  Trạm tạo sinh và các trạm ñược phép truy cập các DBMS06 – Slides 31 DL ñược mô tả sẽ hợp tác và trao ñổi thông tin của mô tả DL  Trạm tạo sinh có thể biết danh sách các trạm ñược phép truy nhập các DL riêng của nó nhằm thông báo cho chúng mọi sửa ñổi về mô tả của chúng Thiết kế CSDLPT(tt)  Sự phân ñoạn: chia một quan hệ tổng thể thành các ñơn vị logic của sự cấp phát (các ñoạn) có thể ñược sắp ñặt tối ưu trong CSDLPT Sự phân ñoạn phải ñược xác ñịnh bởi người quản trị CSDL và tuân thủ các qui tắc: Không mất thông tin: mỗi phần tử DL thuộc quan hệ DBMS06 – Slides 32  tổng thể cũng thuộc một hay nhiều ñoạn của nó  Có khả năng khôi phục: xác ñịnh bằng phép toán ðSQH  Không trùng lặp (chỉ áp dụng cho phân ñoạn ngang): buộc các ñoạn phải rời nhau Thiết kế CSDLPT(tt)  Sự phân ñoạn ngang  Phân ñoạn ngang trực tiếp: phân hoạch một quan hệ thành các tập con các bộ, mỗi tập con ñược xác ñịnh bởi một phép chọn ñược áp dụng cho quan hệ DBMS06 – Slides 33  Phân ñoạn ngang gián tiếp: phân hoạch một quan hệ thành các tập con các bộ, mỗi tập con ñược xác ñịnh bởi một quan hệ với mỗi ñoạn của một quan hệ khác Thiết kế CSDLPT(tt) Ví dụ về phân ñoạn ngang trực tiếp và gián tiếp Ví dụ: Có các quan hệ sau: SHRV VÙNG_NHO NIÊN_HIỆU ðỘ_RƯỢU GIÁ V1 Pháp 1982 13,2 ? RƯỢU_VANG SHNU SHRV NGÀY ðỊA_ðIỂM SỐ_LƯỢNG B1 V1 12/04 Paris 5 TIÊU_THỤ DBMS06 – Slides 34 V2 Bỉ 1987 12,9 7 V3 Pháp 1984 12,8 10 V4 Anh 1983 12,3 14 B2 V3 25/09 Hà nội 2 B3 V3 12/04 Paris 7 Thiết kế CSDLPT(tt) Ví dụ về phân ñoạn ngang trực tiếp Sự phân ñoạn ngang sau VANG_1 = σNIÊN_HIỆU<1984RƯỢU_VANG VANG_2 = σNIÊN_HIỆU≥1984RƯỢU_VANG DBMS06 – Slides 35  không mất thông tin (nếu ta có giá trị null (kí hiệu bởi ?) là giá trị nhỏ nhất của mỗi miền)  Khôi phục: RƯỢU_VANG = VANG_1 ∪ VANG_2  Không trùng lặp: VANG_1 ∩ VANG_2 = ∅ Thiết kế CSDLPT(tt) Ví dụ về phân ñoạn ngang gián tiếp Sự phân ñoạn ngang sau TIÊU_THỤ1 = TIÊU_THỤ VANG_1 = {(B1,V1,12-04,Paris,5)} DBMS06 – Slides 36 TIÊU_THỤ2 = TIÊU_THỤ VANG_2 = {(B2,V3,25-09, Hànội,2), (B3,V3,12-04,Paris,7)} Thiết kế CSDLPT(tt)  Phân ñoạn dọc:  Phân hoạch một quan hệ thành các tập các bộ con, mỗi tập ñược xác ñịnh bởi một phép chiếu ñược áp dụng cho quan hệ DBMS06 – Slides 37  ðể khôi phục: cần thêm vào mỗi ñoạn một hay nhiều thuộc tính khoá, kết nối các ñoạn theo các thuộc tính chung vi phạm quy tắc không trùng lặp (do thêm các thuộc tính chung) Thiết kế CSDLPT(tt) Ví dụ về phân ñoạn dọc VANG1 = πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG VANG2 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG DBMS06 – Slides 38 Rõ ràng, khi ñó: RƯỢU_VANG = VANG1 VANG2 Thiết kế CSDLPT(tt)  Sự phân ñoạn hỗn hợp:  Phân ñoạn một quan hệ thành các tập con các bộ con:  các bộ con ñược xác ñịnh bởi phân ñoạn dọc DBMS06 – Slides 39  các tập con xác ñịnh bởi phân ñoạn ngang  Cho phép tối ưu hoá các câu hỏi chọn_chiếu hay kết nối_chiếu. Thiết kế CSDLPT(tt) Ví dụ về phân ñoạn hỗn hợp VANG1 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG VANG2 = σNIÊN_HIỆU<1984 (πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG) VANG3 = σNIÊN_HIỆU≥1984 (πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG) DBMS06 – Slides 40 Rõ ràng, khi ñó: RƯỢU_VANG = VANG1 (VANG2 ∪ VANG3) Việc lựa chọn phân ñoạn là khó vì nó phụ thuộc vào nhu cầu truy nhập của các ứng dụng Thiết kế CSDLPT(tt)  Nhân bản dữ liệu:  Nhân bản dữ liệu nhằm làm tăng khả năng sẵn sàng của csdl bằng cách tạo ra nhiều bản sao của csdl và lưu ở trên nhiều site khác nhau. DBMS06 – Slides 41  Có 2 kiểu nhân bản dữ liệu:  Nhân bản toàn phần: thường làm chậm việc cập nhật dữ liệu.  Nhân bản một phần: chỉ một phân ñoạn của csdl ñược nhân bản.  Lược ñồ nhân bản: là mô tả của việc nhân bản các phân ñoạn. Thiết kế CSDLPT(tt)  ðịnh vị dữ liệu:  ðịnh vị dữ liệu: là việc ñăng ký một bản sao của một phân ñoạn của csdl cho một site cụ thể. Sự lựa chọn site và cấp ñộ của nhân bản phụ DBMS06 – Slides 42  thuộc vào mục tiêu thực thi và sẵn sàng của mỗi hệ thống và phụ thuộc vào kiểu, mật ñộ giao dịch của mỗi site. Ví dụ: Thiết kế CSDLPT  Yêu cầu: Một công ty có 3 mạng máy tính cho bộ phận chỉ huy và 2 ñơn vị số 4 và 5 (site 3 và 2). Mỗi mạng máy tính, chúng ta sẽ thường xuyên truy cập vào quan hệ NHANVIEN, DU_AN ñể lấy thông tin của nhân viên làm việc cho một ñơn vị và dự án do ñơn vị ñó quản lý(chủ yếu truy cập vào các thuộc tính Tên, MãNV,lương, MãNQL của quan hệ NHANVIEN). Site 1 ñược dùng cho bộ phận chỉ huy của công ty, và thường xuyên truy cập thông tin của các nhân DBMS06 – Slides 43 viên, dự án và theo dõi thông tin về PhuThuoc cho mục ñích bảo hiểm.  ðáp án : 1. Theo yêu cầu của bài toán này thì tất cả CSDL ñược lưu ở site 1. 2. Phân ñoạn:  Phân ñoạn ngang quan hệ DONVI theo thuộc tính khóa MãDV.  Phân ñoạn ngang quan hệ NHANVIEN, DU_AN, DONVI_DIADIEM dựa trên các khóa ngoài của chúng là MãDV. Ví dụ: Thiết kế CSDLPT (tt)  Rồi phân ñoạn dọc quan hệ NHANVIEN ñể lấy các thuộc tính (Tên, MãNV,lương, MãNQL), gọi quan hệ mới này là NHANVIEN2  Phân ñoạn quan hệ NHANVIEN_DUAN theo ñơnvị mà nhân viên ñó làm việc, và theo ñơn vị quản lý dự án. DBMS06 – Slides 44 3. Nhân bản, ñịnh vị  Nhân bản các phân ñoạn của các quan hệ NHANVIEN2, DONVI, DU_AN, DONVI_DIADIEM , NHANVIEN_DUAN với MãDV=4 và 5 rồi lưu tương ứng ở các site 3 và 2.  Kết quả: ở site 2 ta có các thông tin liên quan ñến ñv số 5, ở site 3 ta có các thông tin liên quan ñến ñv số 4 Bài tập Với CSDL PT CÔNG_TY như mô tả trong ví dụ trước hãy chỉ ra ít nhất 2 cách phân chia và thực thi mỗi truy vấn sau (nêu ñiều kiện ñể cách phân chia của bạn có thể làm việc tốt) a. Liệt kê tên nhân viên, tên các phụ thuộc của DBMS06 – Slides 45 nhân viên ñó cho mỗi nhân viên làm việc cho ñơn vị số 5. b. Liệt kê tên nhân viên tất cả các nhân viên làm việc cho ñơn vị số 5 nhưng không làm việc cho một số dự án ñiều hành bởi ñơn vị số 5. ðánh giá các câu hỏi phân tán Câu hỏi phân tán Sự ñịnh vị Lược ñồ sắp ñặt DBMS06 – Slides 46 Câu hỏi phân tán ñược cục bộ hoá Tối ưu hoá Phương án thực hiện phân tán Mô hình các chi phí Các thống kê (liên quan các ñoạn) Các giải thuật (truy nhập phân tán) Các giai ñoạn của việc ñánh giá một câu hỏi phân tán ðánh giá các câu hỏi phân tán  Sự ñịnh vị (khoanh vùng)  Thông tin cần thiết cho sự ñịnh vị ñược lưu giữ trong lược ñồ sắp chỗ DBMS06 – Slides 47  ðịnh vị câu hỏi phân tán gồm hai giai ñoạn:  Phát sinh câu hỏi chính tắc tương ñương  sự giản lược: cho phép loại bỏ các cây con vô ích ðánh giá các câu hỏi phân tán Ví dụ, câu hỏi phân tán « các vùng nho của các rượu vang ñược tiêu thụ ở Paris »  các phân ñoạn sau: DBMS06 – Slides 48 VANG1 = πSHRV,VÙNG_NHO,NIÊN_HIỆURƯỢU_VANG VANG2 = πSHRV, ðỘ_RƯỢU,GIÁRƯỢU_VANG TIÊU_THỤ1 = σðỊA_ðIỂM=« Paris »TIÊU_THỤ TIÊU_THỤ2 = σðỊA_ðIỂM≠« Paris »TIÊU_THỤ ðánh giá các câu hỏi phân tán Ví dụ về câu hỏi phân tán chính tắc πVÙNG_NHO π πSHRVCâu hỏi tổng thể DBMS06 – Slides 49 SHRV,VÙNG_NHO σðỊA_ðIỂM=“Paris” TIÊU_THỤ ∪ TIÊU_THỤ1 TIÊU_THỤ2 các câu hỏi của sự khôi phục RƯỢU_VANG VANG1 VANG2 ðánh giá các câu hỏi phân tán Ví dụ về câu hỏi sau khi cấu trúc lại πVÙNG_NHO πSHRV DBMS06 – Slides 50 πSHRV,VÙNG_NHO σðỊA_ðIỂM=“Paris” ∪ TIÊU_THỤ1 TIÊU_THỤ2VANG1 VANG2 σðỊA_ðIỂM=“Paris”πSHRV,VÙNG_NHO ðánh giá các câu hỏi phân tán Ví dụ về câu hỏi sau khi giản lược πVÙNG_NHO πSHRV,VÙNG_NHO πSHRV DBMS06 – Slides 51 TIÊU_THỤ1VANG1 ðánh giá các câu hỏi phân tán  Tối ưu hoá: Xác ñịnh một chiến lược thực hiện câu hỏi làm cực tiểu một hàm chi phí  Hàm chi phí phải cực tiểu là tổng thời gian DBMS06 – Slides 52 của việc thực hiện câu hỏi, và tổng tất cả thời gian thực hiện giành cho các trạm khác nhau tham gia vào câu hỏi  Hàm chi phí thường là thời gian trả lời câu hỏi, có tính ñến các xử lý ñược tiến hành song song. Quản lý các giao tác phân tán  ðiều khiển tương tranh  Thời dấu  Sự ñặt khoá DBMS06 – Slides 53  Sự hợp thức hoá giao tác Quản lý các giao tác phân tán ðiều khiển tương tranh  ðiều khiển tương tranh phân tán nhằm ngăn chặn việc sản sinh ra các thực hiện không khả tuần tự của các giao tác phân tán DBMS06 – Slides 54 Quản lý các giao tác phân tán ðiều khiển tương tranh  Thời dấu (time stamp):  Sắp xếp các giao tác phân tán khi cho thực hiện chúng và áp ñặt các thao tác truy nhập tới DL tôn trọng thứ tự ñược xác ñịnh trước DBMS06 – Slides 55  Mỗi giao tác ñược dẫn trỏ bởi một số hiệu thứ tự duy nhất trong hệ thống, gọi là thời dấu  Mỗi trạm ñánh thời dấu một cách tự trị theo ñồng hồ ñịa phương và số hiệu của trạm. Ví dụ, một giao tác ñược khởi phát ở trạm i tại thời ñiểm t sẽ có thời dấu . Quản lý các giao tác phân tán ðiều khiển tương tranh  Sự ñặt khoá (locking)  Việc truy nhập tới các hạt DL ñược chi phối bởi một giao thức gồm hai giao tác nguyên thuỷ:  LOCK: yêu cầu thao tác trên các hạt DL theo một cách thức nhất ñịnh (ñọc và viết) UNLOCK: báo hiệu sự kết thúc của thao tác trên hạt DBMS06 – Slides 56   Việc truy nhập tới một hạt bị khoá trong một lối không tương thích  giao tác truy nhập phải chờ cho tới khi mở khoá bởi giao tác tác ñộng lên hạt.  Vấn ñề khó nhất do việc ñặt khoá là tình huống bế tắc: T1→T2, T2 → T1 Quản lý các giao tác phân tán Sự hợp thức hoá giao tác  Phương pháp trực tiếp ñể hợp thức hoá một giao tác phân tán: tích hợp thực sự các cập nhật của giao tác và CSDL Giao thức hợp thức hoá hai giai ñoạn: DBMS06 – Slides 57   Giai ñoạn chuẩn bị: trạm ñiều phối yêu cầu mỗi trạm tham gia chuẩn bị cho sự hợp thức hoá  Giai ñoạn hợp thức: trạm ñiều phối ra lệnh cho tất cả các trạm tham gia hợp thức hoá các cập nhật của chúng nếu như tất cả chúng ñều hoàn thành ñúng giai ñoạn thứ nhất hay nếu không thì huỷ bỏ chúng DBMS06 – Slides 58

Các file đính kèm theo tài liệu này:

  • pdfdbms06_2026.pdf