Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
194,02 KB
Nội dung
CáccôngnghệsửdụngtrongCSDLphântán Trang 13 phần II Cáccôngnghệsửdụngtronghệ Cơ sở dữ liệu phântán I. Kiến trúc cơ bản của CSDLphân tán. Tuy không là kiến trúc tờng minh cho tất cả cácCSDLphân tán, nhng kiến trúc dới đây thể hiện cách thức tổ chức chung của một CSDLphân tán: Sơ đồ tổng thể Sơ đồ định vị Sơ đồ ánh xạ địa phơng 2 Sơ đồ ánh xạ địa phơng 1 DBMS của vị trí 1 DBMS của vị trí 2 CSDL địa phơng tại vị trí 1 Các vị trí khác : . : : . : CSDL địa phơng tại vị trí 2 Hình 1.II: Kiến trúc HệCSDLphântán 1. Sơ đồ tổng thể. Định nghĩa tất cả dữ liệu sẽ đợc lu trữ trongCSDLphân tán. Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của tập các quan hệ tổng thể. 2. Sơ đồ phân đoạn. Mỗi quan hệ tổng thể có thể chia thành một vài phần tơng đối độc lập với nhau đợc gọi là fragments (đoạn). Có nhiều cách khác nhau để thực hiện việc phân chia này: Phân đoạn ngang, phân đoạn dọc, phân đoạn hỗn hợp sẽ đợc trình bày trongcácphần sau. CáccôngnghệsửdụngtrongCSDLphântán Trang 14 3. Sơ đồ định vị: Fragments (các đoạn) là cácphần logic của quan hệ tổng thể đợc định vị vật lý tại một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đoạn định vị tại từng vị trí. Lu ý rằng kiểu ánh xạ đợc định nghĩa trong sơ đồ định vị quyết định CSDLphântán là d thừa hay không. 4. Sơ đồ ánh xạ địa phơng: Thực hiện ánh xạ các ảnh vật lý và các đối tợng đợc lu trữ tại một trạm lên cácCSDL địa phơng. II. Thiết kế hệ thống CSDLphântán Thiết kế một hệ thống phântán là việc sắp đặt dữ liệu và chơng trình tới các trạm làm việc của mạng máy tính. Trongtrờng hợp thiết kế DBMS (Distibute database managment system) có hai vấn đề chính là: - Sựphân bố dữ liệu của DBMS. - Sựphân bố các chơng trình ứng dụng chạy trên nó. Phần sau đây trình bày khái quát cách thức chung để thiết kế một hệ thống CSDLphân tán. 1. Khung làm việc chung cho thiết kế hệCSDLphân tán. Từ sơ đồ kiến trúc của HệCSDLphân tán, ngời ta đa ra sơ đồ thiết kế chung cho HệCSDLphântán nh sau: Thiết kế lợc đồ quan niệm: Mô tả toàn bộ dữ liệu sẽ đợc dùngtrong ứng dụng. Thiết kế CSDL vật lí: Là quá trình thực hiện ánh xạ lợc đồ quan niệm vào các vùng chứa và xác định cách thức truy nhập thích hợp cho chúng. Thiết kế phân đoạn: Thực hiện việc phân chia dữ liệu thành các phần, kèm theo cách thức truy nhập thích hợp. Thiết kế sựphân phối các phần: Các đoạn dữ liệu đợc đa vào các vị trí lu trữ thích hợp với yêu cầu hoạt động thực tế của hệ thống. Ví dụ: Ta không thể đa dữ liệu về Cán bộ cho phòng quản lý Sinh viên và ngợc lại. CáccôngnghệsửdụngtrongCSDLphântán Trang 15 Thiết kế các lợc đồ quan niệm Thiết kế CSDL vật lí Thiết kế phân đoạn Thiết kế sựphân phối các thành phần Hình 2.II: Sơ đồ thiết kế chung cho CSDLphântán 2. Các phơng pháp thiết kế hệCSDLphân tán. Theo khung làm việc chung cho thiết kế hệCSDLphân tán, đến nay có hai phơng pháp thiết kế điển hình là: TOP-DOWN và BOTTOM-UP. A. Phơng pháp TOP-DOWN: TOP-DOWN: Là phơng pháp thiết kế từ trên xuống và đợc chia ra làm nhiều giai đoạn, mỗi giai đoạn đều có nhiệm vụ riêng, giai đoạn này nối tiếp giai đoạn kia, đầu ra của giai đoạn trớc đợc làm đầu vào cho giai đoạn kế tiếp sau nó. Sơ đồ thiết kế CSDLphântán theo mô hình TOP_DOWN (Hình 3.II): Các định nghĩa: Định nghĩa môi trờnghệ thống, dữ liệu và các tiến trình cho tất cả những khả năng về dữ liệu của ngời sử dụng. Tài liệu về những điều kiện cần thiết nằm trong hai tham số: Thiết kế View và Thiết kế mức quan niệm. Thiết kế View: Hoạt động phân phối với sự định nghĩa những cái chung cho ngời sử dụng. Thiết kế mức quan niệm: Là một tiến trình kiểm tra và xác định rõ hai nhóm quan hệPhân tích thực thể và Phân tích chức năng: a. Phân tích thực thể: Liên quan tới sự xác định các loại thực thể, các thuộc tính và các mối quan hệ giữa chúng. b. Phân tích chức năng: Xác định các chức năng cơ sở. CáccôngnghệsửdụngtrongCSDLphântán Trang 16 Lợc đồ tổng thể mức quan niệm, mẫu truy nhập thông tin và External Schema Definition: Tập hợp kết quả của các bớc trên, sắp xếp các thực thể trên các vị trí của hệ thống phântán và chuyển tới bớc tiếp theo. User Input Các định nghĩa System Requirements (Objectives) Thiết kế mức quan niệm Thiết kế view Lợc đồ tổng thể mức quan niệm Truy nhập thông tin External Schema Definitions Thiết kế phântán Lợc đồ logic mức quan niệm Thiết kế vật lý Lợc đồ vật lý Bộ kiểm tra Trao đổiTrao đổi View Integration User input Hình 3.II: Sơ đồ thiết kế CSDLphântán theo mô hình TOP-DOWN Thiết kế phân tán: Thiết kế phântán bao gồm hai phầnphân đoạn và định vị CSDL. Lợc đồ mức quan niệm: Tạo ra các lợc đồ CSDL mức quan niệm. Thiết kế vật lý: Thực hiện ánh xạ các lợc đồ CSDL mức quan niệm ra các đơn vị lu trữ vật lí có giá trị tại các vị trí tơng ứng. Bộ kiểm tra: Kiểm tra các giai đoạn của quá trình thiết kế CSDL. Nếu một giai đoạn bị sai sẽ tiến hành thiết kế lại. CáccôngnghệsửdụngtrongCSDLphântán Trang 17 Phơng pháp TOP-DOWN là có hiệu quả khi một hệ thống CSDL đợc thiết kế từ đầu. Tuy nhiên trong thực tế có một số hệCSDL đã tồn tại thì nhiệm vụ của ngời thiết kế là liên kết chúng lại thành một thể thống nhât trongCSDL mới, khi đó ngời thiết kế thờng sửdụng phơng pháp BOTTOM_UP. B. Phơng pháp BOTTOM-UP. BOTTOM-UP: Là phơng pháp ngợc lại với phơng pháp TOP_DOWN. Trong thiết kế CSDLphântán BOTTOM-UP sẽ bắt đầu thiết kế những lợc đồ ở mức quan niệm sao cho chúng độc lập với nhau. Sau đó chúng đợc kết hợp lại trong một sơ đồ tổng thể ( Global Conceptual schema ). 3. Thiết kế CSDLphân đoạn. Thiết kế phân đoạn là một trong những đặc trng cơ bản trong thiết kế CSDLphân tán. Mục đích của thiết kế phân đoạn là phân chia CSDL tổng thể thành cácphần không giao nhau, mỗi phần đó đợc gọi là một đoạn. a. Các điều kiện cho thiết kế phân đoạn. Phơng pháp thiết kế phân đoạn đúng đắn phải thoả mãn ba điều kiện ràng buộc sau: - Tính đầy đủ: Toàn bộ dữ liệu thuộc quan hệ tổng thể phải thuộc các đoạn quan hệ và ngợc lại. - Tính tháo rời đợc: Các đoạn phải tối thiểu hoá sự giao nhau. - Xây dựng lại: CSDL của quan hệ tổng thể có thể xây dựng lại từ các đoạn. b. Các phơng pháp phân đoạn. Có hai phơng pháp chính là: Phân đoạn ngang và phân đoạn dọc. Phân đoạn hỗn hợp là phơng pháp kết hợp của hai phơng pháp trên. + Phân đoạn ngang: Phân đoạn ngang cơ sở: Phân đoạn ngang cơ sở tập trung ở các hàng của bảng. Quan hệ tổng thể sẽ đợc chia thành các quan hệ con có cùng tập thuộc tính nhng số lợng các hàng là nhỏ hơn. Chú ý là mỗi hàng của quan hệ thuộc một và chỉ một đoạn. CáccôngnghệsửdụngtrongCSDLphântán Trang 18 Ví dụ: Cho quan hệ KHACH_HANG có cấu trúc nh sau: KHACH_HANG: MAKH TENKH DIACHI CHINHANH J1 Jonh 21 Ly Nam De SaiGon J2 Mary 16 Tran Phu ChoLon J3 Bill 106 Ton Duc Thang SaiGon J4 Clark 12 Ba Trieu ChoLon Thực hiện phân đoạn ngang cơ sở thành hai quan hệ KHACH_HANG1 và KHACH_HANG2: KHACH_HANG1: MAKH TENKH DIACHI CHINHANH J1 Jonh 21 Ly Nam De SaiGon J3 Bill 106 Ton Duc Thang SaiGon KHACH_HANG2: MAKH TENKH DIACHI CHINHANH J2 Mary 16 Tran Phu ChoLon J4 Clark 12 Ba Trieu ChoLon Nh vậy thực chất của quá trình phân đoạn ngang là thực hiện câu lệnh SELECT với các điều kiện cụ thể. Trong ví dụ trên có hai câu lệnh SELECT đợc thực hiện là: KHACH_HANG1: Create table KHACH_HANG1 as Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG where CHINHANH = 'SAIGON"; KHACH_HANG2: Create table KHACH_HANG2 as Select MAKH, TENKH, DIACHI, CHINHANH from KHACH_HANG where CHINHANH = 'CHOLON"; CáccôngnghệsửdụngtrongCSDLphântán Trang 19 Phân đoạn ngang suy diễn: Bắt nguồn từ kết quả của quá trình phân đoạn ngang cơ sở, phân đoạn ngang suy diễn đợc sửdụng để kết nối các đoạn, tạo ra CSDL thích hợp cho các ứng dụng. Quá trình kết nối yêu cầu phải có thuộc tính kết nối. Ví dụ: Cho quan hệ DIENTHOAI có cấu trúc nh sau: DIENTHOAI: MAKH DIENTHOAI J1 8.243.654 J2 9.564.734 J3 8.777.253 J4 8.372.564 Thực hiện phân đoạn ngang suy diễn giữa các quan hệ: KHACH_HANG1, KHACH_HANG2 và DIENTHOAI với trờng liên kết là MAKH kết quả cho ta hai quan hệ sau: KH-DT1: MAKH TENKH DIACHI CHINHANH DIENTHOAI J1 Jonh 21 Ly Nam De SaiGon 8.243.654 J3 Bill 106 Ton Duc Thang SaiGon 8.777.253 KH-DT2: MAKH TENKH DIACHI CHINHANH DIENTHOAI J2 Mary 16 Tran Phu ChoLon 9.564.734 J4 Clark 12 Ba Trieu ChoLon 8.372.564 Nh vậy thực chất của quá trình phân đoạn ngang suy diễn là thực hiện phép nửa kết nối từ kết quả của quá trình phân đoạn ngang cơ sở cùng quan hệ mà ta cần kết nối. Trong ví dụ trên quan hệ KH_DT1 và KH_DT2 là kết quả của hai phép thực hiện sau: KH-DT1: Create table KH-DT1 as CáccôngnghệsửdụngtrongCSDLphântán Trang 20 select KHACH-HANG1.MAKH, TENKH, DIACHI, CHINHANH, DIENTHOAI from KHACH_HANG1,DIENTHOAI where KHACH_HANG1.MAKH = DIENTHOAI.MAKH; KH-DT2: Create table KH-DT2 as select KHACH-HANG2.MAKH, TENKH, DIACHI, CHINHANH, DIENTHOAI from KHACH_HANG2,DIENTHOAI where KHACH_HANG2.MAKH = DIENTHOAI.MAKH; + Phân đoạn dọc: Phân đoạn tập chung ở các thuộc tính, trongcác thuộc tính của quan hệ chọn ra thuộc tính kết nối. Kết quả thu đợc là một tập các quan hệ con, chúng có thể kết nối lại tạo thành quan hệ tổng thể. Ví dụ: Thực hiện phân đoạn dọc với thuộc tính liên kết là MAKH từ quan hệ KH-DT2, ta thu đợc hai quan hệ QH1 và QH2 nh sau: QH1: MAKH TENKH DIACHI J2 Mary 16 Tran Phu J4 Clark 12 Ba Trieu QH2: MAKH CHINHANH DIENTHOAI J2 ChoLon 9.564.734 J4 ChoLon 8.372.564 Quá trình phân đoạn dọc thực chất là thực hiện phép chiếu (Project) các thuộc tính của quan hệ tổng thể thành các quan hệ con. Trong ví dụ trên có hai câu lệnh đợc thực hiện là: QH1: Create table QH1 as select MAKH, TENKH, DIACHI from KH-DT2; QH2: Create table QH2 as select MAKH, CHINHANH,DIENTHOAI from KH-DT2; CáccôngnghệsửdụngtrongCSDLphântán Trang 21 + Phân đoạn hỗn hợp: Phân đoạn hỗn hợp là sự kết hợp giữa phân đoạn ngang và phân đoạn dọc. Có hai phơng pháp phân đoạn hỗn hợp là: 1. Thực hiện phân đoạn ngang trớc sau đó phân đoạn dọc. 2. Thực hiện phân đoạn dọc trớc sau đó phân đoạn ngang. Quá trình đợc thực hiện tuần tự, kết quả thu đợc từ phép phân đoạn cuối cùng 4. Kết luận. Các vấn đề đợc trình bày trên đây chỉ là những khái niệm chung nhất để thiết kế một HệCSDLphân tán, tuy nhiên việc thiết kế một HệCSDLphântán trên thực tế còn phải phụ thuộc rất nhiều vào các điều kiện khách quan khác của nơi cần các ứng dụngphântán nh: Thực trạng mô hình mạng, khả năng đầu t cho dự án . , đó là những điều kiện góp phần rất lớn nâng cao hiệu quả của các ứng dụngphân tán. Vấn đề này sẽ đợc trình bày trongphần về các mô hình phântánCSDL . III. GIới thiệu về giao tác. 1. Định nghĩa. Giao tác là một dãy các hành động đợc thực hiện bởi một chơng trình ứng dụng hay bởi một ngời sử dụng, mà hoặc phải đợc thực hiện hoàn toàn hoặc là không đợc thực hiện một hành động nào. Khái niệm giao tác đợc sửdụngtrong lĩnh vực CSDL nh đơn vị cơ bản của tính toán nhất quán và đáng tin cậy. Trong quá trình thực hiện giao tác CSDL có thể tạm thời không nhất quán nhng CSDL phải nhất quán khi giao tác kết thúc. Tính tin cậy dựa vào hai khả năng sau: - Khả năng phục hồi: Hệ thống phục hồi nhanh khi có nhiều kiểu lỗi xảy ra. Khi các lỗi xảy ra, hệ thống có thể chịu đựng đợc và tiếp tục cung cấp các dịch vụ. CáccôngnghệsửdụngtrongCSDLphântán Trang 22 - Khôi phục: Hệ thống đạt đợc trạng thái nhất quán sẽ trở về trạng thái nhất quán trớc đó hoặc tiếp tới trạng thái nhất quán mới sau khi xảy ra lỗi. Nhất quán giao tác liên quan tới sự thực hiện các truy nhập trùng nhau. Việc quản lý giao tác tiếp xúc với các vấn đề : Giữ cho CSDLtrong trạng thái nhất quán khi xảy ra các truy nhập trùng nhau và các lỗi. 2. Các điều kiện kết thúc của giao tác. Giao tác kết thúc khi toàn bộ công việc của nó thành công, hay nói một cách khác là giao tác chuyển giao (Commit), ngợc lại nếu một giao tác dừng lại trong khi cha hoàn thành cáccông việc của nó chúng ta nói giao tác bị loại bỏ (Abort). Giao tác bị loại bỏ vì một số nguyên nhân sau: - Một điều kiện không thoả mãn không cho giao tác hoàn thành cáccông việc của nó. - DBMS loại bỏ giao tác, ví dụ khoá chết hoặc các điều kiện khác. Khi một giao tác bị loại bỏ, quá trình thực hiện của nó bị dừng lại và toàn bộ công việc đã làm đợc loại bỏ để đa CSDL về trạng thái trớc khi thực hiện giao tác, điều này cũng đợc hiểu nh Rollback. Cũng có trờng hợp ngời sửdụng do một số thông tin đầu vào bị sai, một số điều kiện không đợc thoả mãn và có thể do yêu cầu của hệ thống nh quá tải, tắc nghẽn. 3. Các thuộc tính của giao tác. Tính nguyên tố: Tính nguyên tố của giao tác quy định hoặc là tất cả các hành động, hoặc là không một hành động nào của giao tác đợc thực hiện. Nếu một giao tác bị ngắt bởi một sự cố nào đó thì kết quả các lệnh thực hiện giao tác đó bị loại bỏ. Nhất quán: Có bốn mức nhất quán theo trình tự từ cao xuống thấp nh sau: Mức 3: Giao tác T nhìn mức nhất quán 3 nếu: - T không ghi đè dữ liệu nháp của giao tác khác [...]... hiện giao tác: Thực hiện tập trung và thực hiện phântán V Lỗi và chịu lỗi tronghệphântán 1 Các khái niệm a Hệ thống, lỗi Trang 28 Các công nghệsửdụng trong CSDLphântánHệ thống: Là cơ chế bao gồm một tập hợp cácphần tử và các tác động qua lại lẫn nhau với môi trờng của chúng bởi sự đáp lại kích thích từ môi trờng với một mô hình đối xử đợc công nhận Hệ thống Môi trờng Kích thích Thành phần 1 Thành... lỗi hệ thống Trong hình 8.II dới đây mô tả các loại lỗi thờng gặp: b Tin cậy và sẵn sàng: Tính tin cậy: Hệ thống không trải qua bất kỳ một lỗi nào trong một khoảng thời gian Nó đợc sửdụng đặc biệt để vạch ra cáchệ thống không thể sửa chữa đợc (nh trongcác máy tính space_based), hoặc nếu thao tác của hệ thống là nguy kịch không có thời gian chết cho sửa chữa Trang 29 Các công nghệsửdụng trong CSDL. .. nhớ mất - Lỗi toàn bộ các vị trí tronghệ thống phântán - Lỗi một phầncác vị trí tronghệ thống phântán c Các lỗi môi trờng: Các lỗi môi trờng qui về các lỗi của các thiết bị lu trữ: Lỗi hệ điều hành, lỗi phần cứng, lỗi các bộ điều khiển dẫn đến một phần hoặc toàn bộ CSDL có thể bị phá hủy hoặc không truy nhập đợc Khắc phục bằng sao bản và các chức năng khôi phục phântán d Các lỗi truyền thông:... Trang 26 Các công nghệsửdụng trong CSDLphântán đến khoá chết Nhng thay vào đó là khả năng phải khởi động lại một giao tác nhiều lần Định nghĩa: Khoá chết là các khoá đợc nắm giữ bởi một giao tác nhng giao tác đó không thể truy nhập đợc vào CSDL tơng ứng Ví dụ về khoá chết: A CSDL 5 B CSDL 4 CSDL 1 CSDL 5, CSDL 4, CSDL 1 có các khoá tơng ứng là 5, 4,1 Giao tác A có khoá 5 nên truy nhập đợc vào CSDL. .. phần đợc chọn là một đơn vị khoá Có các kiểu khoá nh sau: + Khoá tập trung: Trên mạng có một vị trí đợc thiết kế để lu giữ các bảng khoá cho toàn bộ CSDL Vị trí đó có nhiệm vụ nhiệm vụ phân phối khoá cho các giao tác và chỉ các giao tác có khoá mới đợc truy nhập vào CSDL Trang 25 Các công nghệsửdụng trong CSDLphântán + Khoá bản sao chính: Trong môi trờngphântán có nhiều bản sao của cùng một dữ... sao bản và các chức năng khôi phục phântán d Các lỗi truyền thông: Ba kiểu lỗi mô tả ở trên chung cho cả hai CSDL tập trung và CSDLphântánCác lỗi truyền thông chỉ cho duy nhất trongtrờng hợp phântán Kiểu Trang 30 CáccôngnghệsửdụngtrongCSDLphântán chung nhất là lỗi trong thông báo, các thông báo có thứ tự không thích hợp, mất thông báo, và lỗi đờng truyền Hai lỗi đầu thuộc về mạng máy tính... đợc phép tiếp tục Cáchệ thống nh vậy không phù hợp cho các môi trờngCSDL Vấn đề cơ bản là thờng rất khó để biết chính xác các mục dữ liệu nào đợc truy nhập bởi một giao tác Truy nhập vào các mục dữ liệu nhất định có thể phụ thuộc vào các điều kiện mà các điều kiện này có thể không đợc giải quyết đến thời gian chạy Trang 27 CáccôngnghệsửdụngtrongCSDLphântán b Tránh khóa chết: Cách đơn giản nhất... chắn là kết quả sẽ không bị ảnh hởng bởi các lỗi đến sau 3 Các loại giao tác Giao tác đợc phân loại theo một số tiêu chuẩn sau: Phân loại theo vùng ứng dụng: Giao tác thông thờng: Cập nhật dữ liệu trên một vị trí Trang 23 Các công nghệsửdụng trong CSDLphântán Giao tác phân tán: Thao tác trên dữ liệu phântánPhân loại theo khoảng thời gian làm việc: Giao tác trực tuyến: Thời gian trả lời rất ngắn... bình giữa các lỗi, thời gian trung bình để sửa chữa: MTBF: Thời gian trung bình giữa hai lỗi tronghệ thống MTTR: Thời gian chờ đợi để sửa chữa lỗi hệ thống MTTF: Thời gian chờ đợi lỗi đầu tiên của hệ thống kể từ khi hệ thống khởi tạo thành công tại thời gian 0 Công thức: MTBF = MTTF + MTTR A = MTTF / (MTBR + MTTR) 2 Các lỗi trongHệphântán a Lỗi giao tác b Các lỗi vị trí (hệ thống): - Dữ liệu trong. .. trúc ISO/OSI) chúng ta không quan tâm Các lỗi đờng truyền là do sựphân đoạn mạng và việc không nhất quán trongCSDL và có thể giải quyết bằng cách đặt timeout 3 Các cách chịu lỗi trongHệphântán Có hai cách cơ bản để xây dựnghệ thống tin cậy là chịu lỗi và cấm lỗi Chịu lỗi đa ra cách thiết kế hệ thống chấp nhận các lỗi sẽ xảy ra: Xây dựnghệ thống sao cho các lỗi có thể đợc phát hiện và tháo bỏ . Các công nghệ sử dụng trong CSDL phân tán Trang 13 phần II Các công nghệ sử dụng trong hệ Cơ sở dữ liệu phân tán I. Kiến trúc cơ bản của CSDL phân tán. . thực hiện phân tán. V. Lỗi và chịu lỗi trong hệ phân tán. 1. Các khái niệm. a. Hệ thống, lỗi. Các công nghệ sử dụng trong CSDL phân tán Trang 29 Hệ thống: