Bài giảng Cơ sở dữ liệu nâng cao - Phạm Thị Xuân Lộc

ppt 109 trang phuongnguyen 7370
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu nâng cao - Phạm Thị Xuân Lộc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_co_so_du_lieu_nang_cao_pham_thi_xuan_loc.ppt

Nội dung text: Bài giảng Cơ sở dữ liệu nâng cao - Phạm Thị Xuân Lộc

  1. Đại học Cần thơ Khoa CNTT-TT CSDL NÂNG CAO Phạm Thị Xuân Lộc 10/2008 CSDL NC- Pham T Xuan Loc 1 10/2008
  2. MỤC LỤC • A. HQTCSDL phân tán • B. HQTCSDL hướng đối tượng • C. Web và HQTCSDL • D. Kho dữ liệu CSDL NC- Pham T Xuan Loc 2 10/2008
  3. A. HQTCSDL phân tán (DDBMS) CSDL NC- Pham T Xuan Loc 3 10/2008
  4. A. HQTCSDL phân tán (DDBMS: Distributed DataBase Management System) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS • V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 4 10/2008
  5. A.I Giới thiệu • 1. Nhu cầu có DDBMS • 2. Khái niệm • 3. Lợi và bất lợi của DDBMS • 4. Tính đồng nhất và bất đồng trong DDBMS CSDL NC- Pham T Xuan Loc 5 10/2008
  6. A.I.1. Nhu cầu có DDBMS • Ta đã ng/c các DBMS tập trung: – 1 CSDL luận lý – tại 1 vị trí (site) – dưới sự điều khiển của 1 DBMS • Trong đó, CSDL như một hòn đảo thông tin vì cách biệt, khó truy xuất, do: – cách trở về địa lý, – cấu hình các máy tính không tương thích nhau, – các nghi thức truyền thông không tương thích nhau, CSDL NC- Pham T Xuan Loc 6 10/2008
  7. A.I.1. Nhu cầu có DDBMS (2) • Gần đây, phát triển nhanh chóng các công nghệ: – Mạng – Truyền thông dữ liệu qua: – Internet – Tính toán di dộng và không dây (mobile and wireless computing) – Thiết bị thông minh – Tính toán lưới (grid computing) CSDL NC- Pham T Xuan Loc 7 10/2008
  8. A.I.1. Nhu cầu có DDBMS (3) • Công nghệ DDBMS= kết hợp 2 công nghệ trên • có thể thay đổi cách thức làm việc từ tập trung sang phân tán • là một buớc phát triển lớn trong lĩnh vực DBMS CSDL NC- Pham T Xuan Loc 8 10/2008
  9. A.I.1. Nhu cầu có DDBMS (4) • Cách tiếp cận phân tán phản ánh cấu trúc về tổ chức của các xí nghiệp, vốn đã phân tán về: –luận lý: phân hệ, bộ môn, dự án, –vật lý: văn phòng, xưởng, phòng, CSDL NC- Pham T Xuan Loc 9 10/2008
  10. A.I.1. Nhu cầu có DDBMS (5) • Tính chia sẻ dữ liệu và tính hiệu quả trong truy cập dữ liệu cần được cải thiện bằng một DDBMS. • Cần làm cho dữ liệu truy xuất được ở mọi đơn vị. • Cần lưu dữ liệu gần với nơi chúng thường được dùng nhất. CSDL NC- Pham T Xuan Loc 10 10/2008
  11. A.I Giới thiệu • 1. Nhu cầu có DDBMS • 2. Khái niệm • 3. Lợi và bất lợi của DDBMS • 4. Tính đồng nhất và bất đồng trong DDBMS CSDL NC- Pham T Xuan Loc 11 10/2008
  12. A.I.2 Khái niệm • a. CSDL phân tán: • b. Hệ quản trị CSDL phân tán (DDBMS): • c. Xử lý phân tán (distributed processing) • d. Các DBMS song song (parallel DBMSs) CSDL NC- Pham T Xuan Loc 12 10/2008
  13. A.I.2 Khái niệm CSDL phân tán Là một tập hợp (collection) các dữ liệu chia sẻ và các mô tả của chúng, • có liên quan nhau về luận lý • phân tán về vật lý trên một mạng máy tính CSDL NC- Pham T Xuan Loc 13 10/2008
  14. A.I.2 Khái niệm Hệ quản trị CSDL phân tán (DDBMS) – Đinh nghĩa: – Đoạn (fragment) – Các loại trình ứng dụng – Đặc tính của DDBMS – Tính trong suốt trong DDBMS CSDL NC- Pham T Xuan Loc 14 10/2008
  15. A.I.2 Khái niệm DDBMS (2) Định nghĩa: Là một hệ thống phần mềm, cho phép: • Quản trị một CSDL phân tán • Làm cho sự phân tán này trong suốt đối với người sử dụng CSDL NC- Pham T Xuan Loc 15 10/2008
  16. A.I.2 Khái niệm DDBMS (3) Đoạn (fragment): Một DDBMS gồm một CSDL luận lý được chia thành các đoạn. - Mỗi đoạn được lưu trên một hoặc nhiều máy tính dưới sự kiểm soát của một DBMS riêng thông qua một mạng. - Mỗi site có khả năng: - xử lý độc lập các yêu cầu của người dùng muốn truy xuất dữ liệu cục bộ, - xử lý dữ liệu lưu ở các máy khác trên mạng. CSDL NC- Pham T Xuan Loc 16 10/2008
  17. A.I.2 Khái niệm DDBMS (4) Các loại trình ứng dụng: ▪Ứng dụng cục bộ (local application): không yêu cầu dữ liệu ở nơi khác. ▪Ứng dụng toàn cục (global application): ngược lại CSDL NC- Pham T Xuan Loc 17 10/2008
  18. A.I.2 Khái niệm DDBMS (5) Đặc tính của DDBMS: • Là 1 tập hợp các dữ liệu chia sẻ có liên quan về luận lý • Dữ liệu được chia nhỏ thành các đoạn • Các đoạn có thể được lặp lại (replicate) • Các đoạn và các bản sao của chúng đuợc phân phối trên các sites • Các sites liên kết nhau qua một mạng truyền thông • Dữ liệu trên mỗi site được điều khiển bởi một hệ quản trị CSDL (DBMS) • DBMS trên mỗi site có thể điều khiển một cách tự chủ các ứng dụng cục bộ • Mỗi DBMS tham gia vào ít nhất một ứng dụng toàn cục. CSDL NC- Pham T Xuan Loc 18 10/2008
  19. A.I.2 Khái niệm DDBMS (6) Site 3 Mạng máy tính DB DB Site 4 Site 2 Site 1 CSDL NC- Pham T Xuan Loc 19 10/2008
  20. A.I.2 Khái niệm DDBMS (7) Tính trong suốt trong DDBMS: Việc: • một CSDL phân tán trên nhiều đoạn, trên nhiều máy tính khác nhau • các đoạn có thể được nhân bản cần phải được che dấu đối với người sử dụng Làm cho DDBMS có vẻ như một hệ thống tập trung CSDL NC- Pham T Xuan Loc 20 10/2008
  21. A.I.2 Khái niệm Xử lý phân tán • Cần phân biệt giữa một DDBMS và một xử lý phân tán • Xử lý phân tán: –Một CSDL tập trung có thể được truy xuất qua một mạng máy tính. CSDL NC- Pham T Xuan Loc 21 10/2008
  22. A.I.2 Khái niệm DBMS song song • Cần phân biệt giữa một DDBMS và một DBMS song song • DBMS song song: là một DBMS – chạy trên nhiều bộ xử lý và đĩa, – được thiết kế để khai thác song song các hoạt động bất cứ lúc nào có thể, – để tăng cường hiệu suất CSDL NC- Pham T Xuan Loc 22 10/2008
  23. A.I Giới thiệu • 1. Nhu cầu có DDBMS • 2. Khái niệm • 3. Lợi và bất lợi của DDBMS • 4. Tính đồng nhất và bất đồng trong DDBMS CSDL NC- Pham T Xuan Loc 23 10/2008
  24. A.I.3. Lợi của DDBMS • Phản ánh cấu trúc về mặt tổ chức • Cải thiện tính chia sẻ và tính tự chủ cục bộ • Cải thiện tính sẵn sàng • Cải thiện tính tin cậy • Cải thiện hiệu suất • Tiết kiệm • Tăng trưởng theo khối (modular growth) • Tích hợp • Giữ tính cạnh tranh CSDL NC- Pham T Xuan Loc 24 10/2008
  25. A.I.3. Bất lợi của DDBMS • Phức tạp • Đắt • Khó an toàn • Khó kiểm soát tích hợp hơn • Thiếu chuẩn • Thiếu kinh nghiệm • Thiết kế CSDL phức tạp hơn CSDL NC- Pham T Xuan Loc 25 10/2008
  26. A.I Giới thiệu • 1. Nhu cầu có DDBMS • 2. Khái niệm • 3. Lợi và bất lợi của DDBMS • 4. Tính đồng nhất và bất đồng trong DDBMS CSDL NC- Pham T Xuan Loc 26 10/2008
  27. A.I.4. Tính đồng nhất và bất đồng trong DDBMS DDBMS đồng nhất: ▪ Mọi site đều dùng chung một DBMS ▪ Dễ thiết kế và quản trị hơn ▪ Tăng trưởng dần ▪ Thêm một site mới dễ dàng ▪ Tăng hiệu suất bằng cách khai thác khả năng xử lý song song của nhiều site CSDL NC- Pham T Xuan Loc 27 10/2008
  28. A.I.4. Tính đồng nhất và bất đồng trong DDBMS (2) DDBMS bất đồng: ngược lại ▪ Xảy ra khi mỗi site đã cài đặt CSDL riêng và sự tích hợp mới thực hiện sau đó ▪ Cần có sự dịch (translation) để giao tiếp giữa các DBMS khác nhau • Để cung cấp tính trong suốt của DBMS, các người dùng phải có khả năng đặt câu hỏi theo ngôn ngữ của DBMS trên site của họ Hệ thống phải định vị dữ liệu và dịch. CSDL NC- Pham T Xuan Loc 28 10/2008
  29. A.I.4. Tính đồng nhất và bất đồng trong DDBMS (3) DDBMS bất đồng: Dữ liệu yêu cầu từ site khác có thể có: ▪Các phần cứng khác nhau ▪Các sản phẩm DBMS khác nhau ▪Các phần cứng khác nhau và các sản phẩm DBMS khác nhau CSDL NC- Pham T Xuan Loc 29 10/2008
  30. A.I.4. Tính đồng nhất và bất đồng trong DDBMS (4) Hệ thống đa CSDL (MDBMS: multidatabase system): • Là một DDBMS, trong đó mỗi site giữ tự chủ hoàn toàn • Cho phép người dùng truy cập và chia sẻ dữ liệu mà không cần tích hợp toàn bộ các sơ đồ CSDL. • Tuy nhiên, vẫn cho phép họ quản trị CSDL riêng mà không có kiểm soát tập trung. • Cho phép người dùng ở site khác truy cập một phần CSDL của họ, bằng cách đặc tả một export schema. CSDL NC- Pham T Xuan Loc 30 10/2008
  31. A.I.4. Tính đồng nhất và bất đồng trong DDBMS (5) Hệ thống đa CSDL: • Có 2 loại MDBS: – phi liên hiệp (unfederated): không có người dùng cục bộ – liên hiệp (federated): có một hệ thống phân tán cho các người dùng toàn cục, và một hệ thống tập trung cho các người dùng cục bộ CSDL NC- Pham T Xuan Loc 31 10/2008
  32. A. HQTCSDL phân tán (DDBMS) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS • V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 32 10/2008
  33. A.II Chức năng và kiến trúc của DDBMS • 1. Chức năng của DDBMS • 2. Kiến trúc của DDBMS • 3. Kiến trúc tham chiếu (reference architecture) cho một MDBS liên hiệp • 4. Kiến trúc thành tố (component architecture) cho một DDBMS CSDL NC- Pham T Xuan Loc 33 10/2008
  34. A.II.1 Chức năng của DDBMS • Giống như HQTCSDL bình thường: mô tả, lưu trữ, cập nhật, • Có thêm các dịch vụ truyền thông: – để truy xuất từ xa các site và chuyển câu hỏi và dữ liệu giữa các site thông qua mạng. • Thêm biên mục hệ thống (system catalog): – để lưu các chi tiết về phân tán dữ liệu • Xử lý các câu hỏi phân tán: bao gồm – tối ưu hoá câu hỏi – truy cập dữ liệu từ xa CSDL NC- Pham T Xuan Loc 34 10/2008
  35. A.II.1 Chức năng của DDBMS (2) • Tăng cường kiểm soát bảo mật: – Để duy trì các cấp phép thích hợp/ đặc quyền truy cập đến các dữ liệu phân tán • Tăng cường kiểm soát cạnh tranh: – Để duy trì tính nhất quán của dữ liệu phân tán (và chúng có thể được nhân bản) • Tăng cường các dịch vụ phục hồi để khắc phục các hỏng hóc của các site riêng lẻ và của các đường truyền thông CSDL NC- Pham T Xuan Loc 35 10/2008
  36. A.II Chức năng và kiến trúc của DDBMS • 1. Chức năng của DDBMS • 2. Kiến trúc của DDBMS • 3. Kiến trúc tham chiếu (reference architecture) cho một MDBS liên hiệp • 4. Kiến trúc thành tố (component architecture) cho một DDBMS CSDL NC- Pham T Xuan Loc 36 10/2008
  37. A.II.2 Kiến trúc tham chiếu của DDBMS • Kiến trúc phải để ý đến tính phân tán dữ liệu. • Gồm: – 1 tập các sơ đồ ngoài toàn cục – 1 sơ đồ quan niệm toàn cục – 1 sơ đồ phân đoạn và sơ đồ cấp phát – 1 tập các sơ đồ cho mỗi DBMS cục bộ theo kiến trúc 3 lớp của ANSI-SPARC CSDL NC- Pham T Xuan Loc 37 10/2008
  38. S1 S2 Sn Global external schema Global external schema Global external schema Global conceptual schema Fragmentation schema Allocation schema S1 S2 Sn Local mapping schema Local mapping schema Local mapping schema Local conceptual Local conceptual Local conceptual schema schema schema Local internal Local internal Local internal schema schema schema CSDL NC- Pham T Xuan Loc 38 10/2008
  39. A.II Chức năng và kiến trúc của DDBMS • 1. Chức năng của DDBMS • 2. Kiến trúc của DDBMS • 3. Kiến trúc tham chiếu (reference architecture) cho một MDBS liên hiệp • 4. Kiến trúc thành tố (component architecture) cho một DDBMS CSDL NC- Pham T Xuan Loc 39 10/2008
  40. A.II.3. Kiến trúc tham chiếu cho một MDBS liên hiệp (FMDBS) • Có một sơ đồ quan niệm toàn cục (GCS: Global Conceptual Schema) cho các FMDBS kết hợp chặt (tighly coupled FMDBS) • Trong DDBMS, GCS = hội của tất cả các sơ đồ quan niệm cục bộ • Trong FMDBS, GCS = một tập con của các sơ đồ quan niệm cục bộ, bao gồm các dữ liệu mà mỗi hệ thống cục bộ đồng ý chia sẻ • GCS của FMDBS kết hợp chặt sẽ tích hợp: – Hoặc các phần của các các sơ đồ quan niệm cục bộ, – Hoặc các sơ đồ ngoài cục bộ CSDL NC- Pham T Xuan Loc 40 10/2008
  41. S1 Sn Global external schema Global external schema Global conceptual schema S1 Sn Local Local Local Local external external external external schema schema schema schema Local conceptual Local conceptual schema schema Local internal Local internal schema schema CSDL NC- Pham T Xuan Loc 41 10/2008
  42. A.II Chức năng và kiến trúc của DDBMS • 1. Chức năng của DDBMS • 2. Kiến trúc của DDBMS • 3. Kiến trúc tham chiếu (reference architecture) cho một MDBS liên hiệp • 4. Kiến trúc thành tố (component architecture) cho một DDBMS CSDL NC- Pham T Xuan Loc 42 10/2008
  43. A.II.4 Kiến trúc thành tố cho một DDBMS • Độc lập với kiến trúc tham chiếu, kiến trúc thành tố cho một DDBMS gồm có : – thành tố DBMS cục bộ (LDBMS: local DBMS) – thành tố truyền thông dữ liệu (DC: data communication) – biên mục hệ thống toàn cục (GSC: global system catalog) – thành tố DDBMS CSDL NC- Pham T Xuan Loc 43 10/2008
  44. Site 1 DDBMS DC LDBMS GSC Computer network DDBMS GSC DC DB Site 2 CSDL NC- Pham T Xuan Loc 44 10/2008
  45. A.II.4 Kiến trúc thành tố cho một DDBMS (3) Thành tố DBMS cục bộ (LDBMS): • Là một DBMS chuẩn, có nhiệm vụ kiểm soát dữ liệu cục bộ tại chỉ một site có CSDL. • Có riêng biên mục hệ thống cục bộ để lưu thông tin về lưu dữ liệu trên site đang xét. • Trong hệ đồng nhất, LDBMS là cùng một sản phẩm được nhân bản ra khắp các site. • Trong hệ bất đồng, có ít nhất 2 site có LDBMS khác nhau và/ hoặc có platform khác nhau. CSDL NC- Pham T Xuan Loc 45 10/2008
  46. A.II.4 Kiến trúc thành tố cho một DDBMS (4) Thành tố truyền thông dữ liệu (DC): • Là phần mềm cho phép tất cả các site liên lạc với nhau. • Chứa thông tin về các site và cá đường liên kết. CSDL NC- Pham T Xuan Loc 46 10/2008
  47. A.II.4 Kiến trúc thành tố cho một DDBMS (5) Biên mục hệ thống toàn cục (GSC): • Có cùng chức năng như trong một hệ tập trung. • Giữ thông tin về sự phân tán của hệ thống: sự phân đoạn (fragmentation) sự nhân bản (replication) các sơ đồ cấp phát (allocation schemas) CSDL NC- Pham T Xuan Loc 47 10/2008
  48. A.II.4 Kiến trúc thành tố cho một DDBMS (6) • Bản thân nó cũng được quản lý như một CSDL phân tán: được phân đoạn và phân tán, hoặc được nhân bản, hoặc được tập trung. – Được nhân bản hoàn toàn: mọi thay đổi trên GSC sẽ được thông báo cho tất cả các site. – Tập trung: như trên, và còn dễ bị tổn hại bởi các hỏng hóc của site trung tâm. CSDL NC- Pham T Xuan Loc 48 10/2008
  49. A.II.4 Kiến trúc thành tố cho một DDBMS (7) Thành tố DDBMS: • Là đơn vị kiểm soát toàn bộ hệ thống. CSDL NC- Pham T Xuan Loc 49 10/2008
  50. A. HQTCSDL phân tán (DDBMS) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS •V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 50 10/2008
  51. A.III Thiết kế CSDL quan hệ phân tán • 1. Cấp phát dữ liệu • 2. Phân đoạn CSDL NC- Pham T Xuan Loc 51 10/2008
  52. A.III.1 Cấp phát dữ liệu Có 4 chiến lược cấp phát tuỳ vào nơi đặt dữ liệu: • Tập trung (centralized) • Phân đoạn (fragmented/ partionned) • Nhân bản hoàn toàn (complete replication) • Nhân bản có chọn lọc (selective replication) CSDL NC- Pham T Xuan Loc 52 10/2008
  53. Nhân bản Tập trung hoàn toàn Cấp phát dữ liệu Nhân bản Phân đoạn có chọn lọc CSDL NC- Pham T Xuan Loc 53 10/2008
  54. A.III.1 Cấp phát dữ liệu (2) • Cấp phát tập trung: – Có một CSDL và một DBMS trên một site – Người dùng phân tán khắp trên mạng (thực chất đây là xử lý phân tán) – Luôn phải dùng mạng cho mọi truy xuất dữ liệu • Đánh giá: – Giá thành liên lạc cao – Tính tin cậy và tính sẵn sàng kém (khi site trung tâm bị hỏng hóc sẽ làm hỏng luôn toàn bộ hệ CSDL). CSDL NC- Pham T Xuan Loc 54 10/2008
  55. A.III.1 Cấp phát dữ liệu (3) • Cấp phát có phân đoạn: – Chia CSDL thành các đoạn (fragment) rời nhau, mỗi đoạn trên một site. • Đánh giá: – Vì không nhân bản, chi phí lưu trữ thấp – Tính tin cậy và tính sẵn sàng cũng kém, mặc dù có cao hơn cấp phát tập trung, vì khi hỏng hóc xảy ra chỉ trên một site nên chỉ làm mất dữ liệu trên site đó. – Hiệu suất tương đối tốt – Chi phí liên lạc thấp nếu phân bố hợp lý. CSDL NC- Pham T Xuan Loc 55 10/2008
  56. A.III.1 Cấp phát dữ liệu (4) • Cấp phát có nhân bản hoàn toàn: – Giữ một bản sao đầy đủ của CSDL trên mỗi site. • Đánh giá: – Tính cục bộ của tham chiếu cao – Tính tin cậy, tính sẵn sàng, hiệu suất đều đạt tối đa – Tuy nhiên, chi phí lưu trữ và chi phí liên lạc cho cập nhật thì đắt nhất Dùng snapshot= bản sao dữ liệu tại một thời điểm. Các bản sao được cập nhật định kỳ nên có thể không kịp thời. CSDL NC- Pham T Xuan Loc 56 10/2008
  57. A.III.1 Cấp phát dữ liệu (5) • Cấp phát dùng nhân bản có chọn lọc: – Là sự kết hợp của các chiến lược phân đoạn, nhân bản, và tập trung – Một số mục dữ liệu được phân đoạn để nâng cao tính cục bộ – Một số mục khác, nếu được dùng trên nhiều site và không được cập nhật thường xuyên, sẽ được nhân bản. – Số mục còn lại, sẽ được cấp phát tập trung. Được dùng phổ biến nhất nhờ tính mềm dẽo của nó. CSDL NC- Pham T Xuan Loc 57 10/2008
  58. A. HQTCSDL phân tán (DDBMS) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS •V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 58 10/2008
  59. A.III Thiết kế CSDL quan hệ phân tán • 1. Cấp phát dữ liệu • 2. Phân đoạn CSDL NC- Pham T Xuan Loc 59 10/2008
  60. A.III.2 Phân đoạn • 1. Lợi và bất lợi • 2. Các qui tắc phân đoạn • 3. Các cách phân đoạn CSDL NC- Pham T Xuan Loc 60 10/2008
  61. A.III.2 Phân đoạn- Lợi và bất lợi • Lợi: – Sự sử dụng: Thông thường, ứng dụng làm việc với các khung nhìn hơn là với toàn bộ các quan hệ. – Tính hiệu quả: Dữ liệu được lưu ở nơi nó thường được dùng nhất. Hơn nữ, các dữ liệu không cần cho các ứng dụng cục bộ sẽ không được lưu. – Tính song song: Khi các đoạn là các đơn vị phân tán dữ liệu, một giao dịch có thể được chia nhỏ thành các câu hỏi con xử lý trên các đoạn tăng tinh cạnh tranh, tính song song trên các hệ thống cho phép các giao dịch được xử lý song song một cách an toàn. – Tính an toàn: Các dữ liệu không cần cho các ứng dụng cục bộ sẽ không được lưu, do đó sẽ không sẵn sàng cho các người dùng trái phép. CSDL NC- Pham T Xuan Loc 61 10/2008
  62. A.III.2 Phân đoạn- Lợi và bất lợi (2) • Bất lợi: – Hiệu suất: Các ứng dụng tổng thể cần dữ liệu trên nhiều đoạn ở các site khác nhau sẽ bị chậm hơn. – Tính toàn vẹn: Các ràng buôc toàn vẹn sẽ khó kiểm soát hơn nếu dữ liệu và các phụ thuộc hàm được phân trên nhiều đoạn ở các site khác nhau. CSDL NC- Pham T Xuan Loc 62 10/2008
  63. A.III.2 Phân đoạn- Các qui tắc phân đoạn • (1) Tính đầy đủ (không mất dữ liệu): – Nếu một thể hiện quan hệ R chia thành n đoạn thì một mục dữ liệu trong R phải được tìm thấy trên ít nhất một đoạn. • (2) Tái xây dựng (bảo toàn phụ thuộc hàm): – Phải xây dựng lại được R từ các đoạn bằng một phép xử lý trên quan hệ. • (3) Tính rời rạc (ít dư thừa dữ liệu nhất): – Nếu một mục dữ liệu di xuất hiện trong đoạn Ri, nó không được có trên bất kỳ đoạn nào khác. – Ngoại lệ: Trong cách phân đoạn dọc, khoá chính phải được lặp lại để tái xây dựng quan hệ. CSDL NC- Pham T Xuan Loc 63 10/2008
  64. A.III.3 Phân đoạn- Các cách phân đoạn • Phân đoạn ngang: Đoạn = tập con các bộ • Phân đoạn dọc: Đoạn = tập con các thuộc tính • Phân đoạn hỗn hợp: trộn 2 cách trên • Phân đoạn suy diễn: một cách phân đoạn ngang, dựa trên phân đoạn ngang của quan hệ cha. CSDL NC- Pham T Xuan Loc 64 10/2008
  65. A.III.3 Phân đoạn- Các cách phân đoạn Ngang Dọc Hỗn hợp CSDL NC- Pham T Xuan Loc 65 10/2008
  66. A.III.3 Phân đoạn- Các cách phân đoạn (2) • Phân đoạn ngang: Chia DSSV thành 2 đoạn DS1 và DS2 MSSV HỌ TÊN Tổ 1040561 Nguyễn Đình Luân 5 1040570 Quách Văn Nhị 5 1040611 Ng T Hoàng Yến 5 MSSV HỌ TÊN Tổ 1040623 Nguyễn Đức Duy 6 1040656 Phan Thanh Nhàn 6 CSDL NC- Pham T Xuan Loc 66 10/2008
  67. A.III.3 Phân đoạn- Các cách phân đoạn (3) • Phân đoạn dọc: MSSV HỌ TÊN MSSV Tổ 1040561 Nguyễn Đình Luân 1040561 5 1040570 Quách Văn Nhị 1040570 5 1040611 Ng T Hoàng Yến 1040611 5 1040623 Nguyễn Đức Duy 1040623 6 1040656 Phan Thanh Nhàn 1040656 6 CSDL NC- Pham T Xuan Loc 67 10/2008
  68. A.III.3 Phân đoạn- Các cách phân đoạn (4) • Phân đoạn hỗn hợp: MSSV HỌ TÊN MSSV Tổ 1040561 Nguyễn Đình Luân 1040561 5 1040570 Quách Văn Nhị 1040570 5 1040611 Ng T Hoàng Yến 1040611 5 1040623 Nguyễn Đức Duy 1040656 Phan Thanh Nhàn MSSV Tổ 1040623 6 1040656 6 CSDL NC- Pham T Xuan Loc 68 10/2008
  69. A.III.3 Phân đoạn- Các cách phân đoạn (5) • Phân đoạn suy diễn: MSSV HỌ TÊN Môn Môn Bộ môn 1040561 Nguyễn Đình Luân CT106 CT106 TH1 1040611 Ng T Hoàng Yến CT349 CT349 TH1 1040623 Nguyễn Đức Duy CT106 1040656 Phan Thanh Nhàn CT349 Môn Bộ môn CT101 TH2 MSSV HỌ TÊN Môn 1040570 Quách Văn Nhị CT101 CSDL NC- Pham T Xuan Loc 69 10/2008
  70. A.III.3 Phân đoạn- Các cách phân đoạn (5b) • Phân đoạn suy diễn: MA_CB_ MS_HT MÃ_CB MÃ_ĐV QL 1040561 Nguyễn Đình Luân CT106 CT106 TH1 1040611 Ng T Hoàng Yến CT349 CT349 TH1 1040623 Nguyễn Đức Duy CT106 1040656 Phan Thanh Nhàn CT349 Môn Bộ môn CT101 TH2 MA_CB_ MS_HT QL 1040570 Quách Văn Nhị CT101 CSDL NC- Pham T Xuan Loc 70 10/2008
  71. A. HQTCSDL phân tán (DDBMS) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS •V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 71 10/2008
  72. A.IV Tính trong suốt trong DDBMS • Mục đích: –Che đi các chi tiết cài đặt với người sử dụng –Làm cho việc sử dụng CSDL phân tán cũng giống như khi dùng CSDL tập trung. CSDL NC- Pham T Xuan Loc 72 10/2008
  73. A.IV Tính trong suốt trong DDBMS (2) • Các kiểu trong suốt trong DDBMS: 1. Trong suốt về sự phân tán (distribution transparency) 2. Trong suốt về giao dịch (transaction transparency) 3. Trong suốt về hiệu suất (performance transparency) 4. Trong suốt về DBMS (DBMS transparency) CSDL NC- Pham T Xuan Loc 73 10/2008
  74. A.IV.1 Trong suốt về sự phân tán • Gồm có: – Trong suốt về sự phân đoạn – Trong suốt về vị trí – Trong suốt về sự nhân bản – Trong suốt về ánh xạ cục bộ – Trong suốt về việc đặt tên CSDL NC- Pham T Xuan Loc 74 10/2008
  75. A.IV.1 Trong suốt về sự phân tán (2) Trong suốt về sự phân đoạn: • Là mức cao nhất của sự trong suốt về sự phân tán. • Nếu nó được DDBMS cung cấp, người dùng không cần biết dữ liệu có phân đoạn. • Do đó, các truy xuất CSDL được dựa trên sơ đồ toàn cục, người dùng không cần đặc tả tên đoạn và vị trí dữ liệu. • Các câu hỏi SQL vẫn như ở hệ tập trung. CSDL NC- Pham T Xuan Loc 75 10/2008
  76. A.IV.1 Trong suốt về sự phân tán (3) Trong suốt về vị trí: • Là mức giữa của sự trong suốt về sự phân tán. • Người dùng phải biết cách thức dữ liệu được phân đoạn nhưng vẫn chưa cần phải biết vị trí dữ liệu. • Cần phải đặc tả tên đoạn trong câu hỏi Nếu kết quả cần lấy ở trên các đoạn khác nhau, phải thực hiện kết nối hoặc câu hỏi con. • Ưu điểm: CSDL có thể tổ chức vật lý lại mà không ảnh hưởng đến trình ứng dụng truy xuất nó. CSDL NC- Pham T Xuan Loc 76 10/2008
  77. A.IV.1 Trong suốt về sự phân tán (4) Trong suốt về sự nhân bản: • Gần với tính trong suốt về vị trí, người dùng không cần biết sự nhân bản các đoạn. • Được suy diễn từ tính trong suốt về vị trí. • Tuy nhiên, chiều ngược lại không đúng. CSDL NC- Pham T Xuan Loc 77 10/2008
  78. A.IV.1 Trong suốt về sự phân tán (5) Trong suốt về ánh xạ cục bộ: • Ở mức độ trong suốt thấp nhất. • Người dùng cần đặc tả cả tên đoạn lẫn vị trí dữ liệu, và phải chú ý đến bất kỳ sự nhân bản nào đang có. • Câu hỏi phải phức tạp và tiêu tốn thời gian hơn nhiều. • Khó được người dùng chấp nhận nếu chỉ có mình nó trong hệ thống. CSDL NC- Pham T Xuan Loc 78 10/2008
  79. A.IV.1 Trong suốt về sự phân tán (6) Trong suốt về việc đặt tên: • Như trong một CSDL kiểu tập trung, mỗi mục trong DDBMS phải có một tên duy nhất. • Do đó, DDBMS phải bảo đảm không có 2 site tạo đối tượng cùng tên. CSDL NC- Pham T Xuan Loc 79 10/2008
  80. A.IV.1 Trong suốt về sự phân tán (7) Trong suốt về việc đặt tên (tt): • Giải pháp 1: Tạo ra một name server trung tâm để bảo đảm tính duy nhất của tất cả các tên trong hệ thống. • Bất lợi của giải pháp 1: – Làm mất phần nào tính tự chủ cục bộ – Giảm hiệu suất, khi site trung tâm trở thành nút cổ chai. – Kém sẵn sàng: nếu site trung tâm có sự cố, các site còn lại không thể tạo được đối tượng CSDL nào mới. CSDL NC- Pham T Xuan Loc 80 10/2008
  81. A.IV.1 Trong suốt về sự phân tán (8) Trong suốt về việc đặt tên (tt): • Giải pháp 2: Đặt định danh của site tạo ra một đối tượng trước tên của nó. Còn phải định rõ tên từng đoạn và từng bản sao của nó. • Bất lợi của giải pháp 2: – Làm mất phần nào tính trong suốt về sự phân tán. CSDL NC- Pham T Xuan Loc 81 10/2008
  82. A.IV.1 Trong suốt về sự phân tán (9) Trong suốt về việc đặt tên (tt): • Giải pháp 3: Sử dụng bí danh (alias/ synonym) cho mỗi đối tượng CSDL. DDBMS có nhiệm vụ ánh xạ một bí danh sang một đối tượng CSDL thích hợp. • Ưu điểm của giải pháp 3: – Giải quyết được các rắc rối của 2 giải pháp 1 và 2. CSDL NC- Pham T Xuan Loc 82 10/2008
  83. A.IV Tính trong suốt trong DDBMS (2) • Các kiểu trong suốt trong DDBMS: 1. Trong suốt về sự phân tán (distribution transparency) 2. Trong suốt về giao dịch (transaction transparency) 3. Trong suốt về hiệu suất (performance transparency) 4. Trong suốt về DBMS (DBMS transparency) CSDL NC- Pham T Xuan Loc 83 10/2008
  84. A.IV.2 Trong suốt về giao dịch • Bảo đảm tất cả các giao dịch phân tán duy trì tính toàn vẹn và tính nhất quán của CSDL phân tán. • Các khái niệm: – Giao dịch phân tán: truy xuất dữ liệu được lưu ở nhiều hơn một vị trí. – Mỗi giao dịch chia thành các giao dịch con, một giao dịch con cho mỗi site cần truy xuất. – Một giao dịch con được biểu diễn bởi một agent. CSDL NC- Pham T Xuan Loc 84 10/2008
  85. A.IV.2 Trong suốt về giao dịch (2) Liên quan 2 khía cạnh: • Trong suốt về tính cạnh tranh (concurrency transparency) • Trong suốt về sự cố (failure transparency) CSDL NC- Pham T Xuan Loc 85 10/2008
  86. A.IV.2 Trong suốt về giao dịch (3) Trong suốt về tính cạnh tranh: • Cung cấp bởi DDBMS, khi các kết quả của mọi giao dịch cạnh tranh (phân tán và không phân tán) được xử lý độc lập và nhất quán về luận lý với các kết quả có được khi các giao dịch được khai thác tuần tự. CSDL NC- Pham T Xuan Loc 86 10/2008
  87. A.IV.2 Trong suốt về giao dịch (4) • Bất lợi của tính trong suốt về cạnh tranh: – Phức tạp hơn, vì DDBMS phải đảm bảo cả 2 loại giao dịch toàn cục và cục bộ không ảnh hưởng nhau. – DDBMS phải đảm bảo tính nhất quán của mọi giao dịch con của một giao dịch toàn cục. – Phép nhân bản làm cho sự cạnh tranh rối rắm hơn. CSDL NC- Pham T Xuan Loc 87 10/2008
  88. A.IV.2 Trong suốt về giao dịch (5) Trong suốt về sự cố: • Nói chung, có các loại sự cố sau: – Hỏng hệ thống – Hỏng thiết bị – Sai trong phần mềm – Vô ý – Thảm hoạ thiên nhiên – Bị phá hoại CSDL NC- Pham T Xuan Loc 88 10/2008
  89. A.IV.2 Trong suốt về giao dịch (6) Trong suốt về sự cố (tt): • Trong môi trường phân tán, phải để ý đến: – Mất thông báo – Hỏng đường truyền liên lạc – Hỏng một site – Phân chia một mạng (networ partitioning ) • Giải pháp: Phải đồng bộ hoá giao dịch toàn cục, sao cho mọi giao dịch con phải được hoàn tất thành công trước khi có COMMIT cuối cùng cho giao dịch toàn cục. CSDL NC- Pham T Xuan Loc 89 10/2008
  90. A.IV.2 Trong suốt về giao dịch (5) Trong suốt về sự cố: • Nói chung, có các loại sự cố sau: – Hỏng hệ thống – Hỏng thiết bị – Sai trong phần mềm – Vô ý – Thảm hoạ thiên nhiên – Bị phá hoại CSDL NC- Pham T Xuan Loc 90 10/2008
  91. A.IV.2 Trong suốt về giao dịch (6) • Phân loại giao dịch: theo mức độ phúc tạp tăng dần trong tương tác giữa các DBMS: – Câu hỏi từ xa (remote request) – Đơn vị làm việc từ xa (remote unit of work) – Đơn vị làm việc phân tán (distributed unit of work) – Câu hỏi phân tán (distributed request) • Có thể hiểu: – request= câu hỏi SQL – unit of work= giao dịch CSDL NC- Pham T Xuan Loc 91 10/2008
  92. A.IV.2 Trong suốt về giao dịch (7) Câu hỏi từ xa: • Một trình ứng dụng trên một site có thể gửi một câu hỏi SQL đến một site khác để xử lý. • Câu hỏi được xử lý hoàn toàn trên site ở xa và chỉ có thể tham chiếu đến dữ liệu trên site ở xa đó. CSDL NC- Pham T Xuan Loc 92 10/2008
  93. A.IV.2 Trong suốt về giao dịch (8) Đơn vị làm việc từ xa: • Một trình ứng dụng trên một site cục bộ có thể gửi tất cả các câu SQL trong một đơn vị làm việc (giao dịch) đến một site khác để xử lý. • Tất cả các câu hỏi SQL được xử lý hoàn toàn trên site ở xa và chỉ có thể tham chiếu đến dữ liệu trên site ở xa đó. • Tuy nhiên, site cục bộ sẽ quyết định xem giao dịch có hoàn tất (commit) được không hay phải thoái lui (roll back). CSDL NC- Pham T Xuan Loc 93 10/2008
  94. A.IV.2 Trong suốt về giao dịch (9) Đơn vị làm việc phân tán: • Một trình ứng dụng trên một site cục bộ có thể gửi một số hoặc tất cả các câu SQL trong một giao dịch đến một hoặc nhiều site khác để xử lý. • Mỗi câu hỏi SQL được xử lý hoàn toàn trên site ở xa và chỉ có thể tham chiếu đến dữ liệu trên site ở xa đó. • Tuy nhiên, các câu hỏi SQL khác nhau có thể được xử lý trên các site khác nhau. • Như trước, site cục bộ sẽ quyết định xem giao dịch có hoàn tất (commit) được không hay phải thoái lui (roll back). CSDL NC- Pham T Xuan Loc 94 10/2008
  95. A.IV.2 Trong suốt về giao dịch (10) Câu hỏi phân tán: • Một trình ứng dụng trên một site cục bộ có thể gửi một số hoặc tất cả các câu SQL trong một giao dịch đến một hoặc nhiều site khác để xử lý. • Tuy nhiên, một câu hỏi SQL có thể yêu cầu dữ liệu trên nhiều hơn một site. • Có thể cần phép hội hoặc phép kết nối cho các quan hệ hoặc các đoạn trên các site khác nhau. CSDL NC- Pham T Xuan Loc 95 10/2008
  96. SELECT * FROM HỘI_TRG HỘI_TRG WHERE SỐ_CHỖ>200 Câu hỏi từ xa UPDATE HỘI_TRG HỘI_TRG SET TÊN_HTR=“Hội trường Rùa” CÁN_BỘ WHERE MÃ_HTR=“01” UPDATE CÁN_BỘ SET ĐT=“07103”+ĐT Giao dịch từ xa COMMIT CSDL NC- Pham T Xuan Loc 96 10/2008
  97. UPDATE HỘI_TRG SET TÊN_HTR=“Hội trường HỘI_TRG Rùa” WHERE MÃ_HTR=“01” UPDATE CÁN_BỘ SET ĐT=“07103”+ĐT COMMIT CÁN_BỘ Giao dịch phân tán UPDATE HỘI_TRG SET TÊN_HTR=“Hội trường Rùa” HỘI_TRG WHERE MÃ_HTR=“01” UPDATE CÁN_BỘ SET ĐT=“07103”+ĐT SELECT A.*, HỌ, TÊN FROM HỘI_TRG A, CÁN_BỘ B CÁN_BỘ WHERE A.MÃ_CB_QL=B.MÃ_CB COMMIT Câu hỏi phân tán CSDL NC- Pham T Xuan Loc 97 10/2008
  98. A.IV Tính trong suốt trong DDBMS (2) • Các kiểu trong suốt trong DDBMS: 1. Trong suốt về sự phân tán (distribution transparency) 2. Trong suốt về giao dịch (transaction transparency) 3. Trong suốt về hiệu suất (performance transparency) 4. Trong suốt về DBMS (DBMS transparency) CSDL NC- Pham T Xuan Loc 98 10/2008
  99. A.IV.3 Trong suốt về hiệu suất • Trong môi trường phân tán, hệ thống phải không chịu sụt giảm hiệu suất do kiến trúc phân tán. • Yêu cầu DBMS xác định chiến lược chi phí- hiệu quả phù hợp khi khai thác một câu hỏi. • Bộ xử lý câu hỏi (DQP: Distributed Query Processor) ánh xạ câu hỏi yêu cầu dữ liệu thành một chuỗi thứ tự các phép toán trên CSDL cục bộ.  Phức tạp thêm do phép phân đoạn, phép nhân bản và các sơ đồ cấp phát. CSDL NC- Pham T Xuan Loc 99 10/2008
  100. A.IV Tính trong suốt trong DDBMS (2) • Các kiểu trong suốt trong DDBMS: 1. Trong suốt về sự phân tán (distribution transparency) 2. Trong suốt về giao dịch (transaction transparency) 3. Trong suốt về hiệu suất (performance transparency) 4. Trong suốt về DBMS (DBMS transparency) CSDL NC- Pham T Xuan Loc 100 10/2008
  101. A.IV.4 Trong suốt về DBMS • Che đi việc các DBMS có thể khác nhau, do đó chỉ có thể áp dụng DDBMS bất đồng. • Một trong những sự trong suốt khó khăn nhất là cung cấp sự tổng quát hoá. CSDL NC- Pham T Xuan Loc 101 10/2008
  102. A. HQTCSDL phân tán (DDBMS) • I. Giới thiệu • II. Chức năng và kiến trúc của DDBMS • III. Thiết kế CSDL quan hệ phân tán • IV. Tính trong suốt trong DDBMS •V. 10 qui tắc của Date cho DDBMS CSDL NC- Pham T Xuan Loc 102 10/2008
  103. A.V 12 qui tắc của Date cho DDBMS • 1. Tự chủ cục bộ: – Dữ liệu cục bộ được sở hữu và quản trị một cách cục bộ – Các phép toán cục bộ vẫn giữ tính chất cục bộ thuần tuý – Mọi phép toán trên 1 site sẽ được site đó kiểm soát • 2. Không phó thác cho site trung tâm: – Không nên có site nào mà nếu thiếu nó thì hệ thống không thể hoạt động được. – Do đó, không nên có server trung tâm cho các hoạt động như quản trị giao dịch, tìm deadlock, tối ưu hoá câu hỏi, và quản trị biên mục hệ thống toàn cục (GSC). CSDL NC- Pham T Xuan Loc 103 10/2008
  104. A.V 12 qui tắc của Date cho DDBMS • 3. Hoạt động liên tục (continous operation): Không nên dự trù có tắt hệ thống khi thực hiện các phép toán: – Thêm vào/ tách ra một site không hệ thống – Tạo và xoá động các đoạn ở ít nhất một site. • 4. Độc lập về vị trí: – Tương đương với trong suốt về vị trí. – Người dùng cần có thể truy cập mọi dữ liệu từ bất cứ site nào, như thể chúng được lưu trên site của họ, không phải bận tâm việc dữ liệu lưu trữ vật lý ở đâu. CSDL NC- Pham T Xuan Loc 104 10/2008
  105. A.V 12 qui tắc của Date cho DDBMS (2) • 5. Độc lập về phân đoạn: – Người dùng cần có thể truy cập dữ liệu, không phải bận tâm việc dữ liệu được phân đoạn như thế nào. • 6. Độc lập về nhân bản: – Người dùng không nên biết dữ liệu đã được nhân bản. – Như vậy, họ sẽ không thể truy cập trực tiếp một bản sao đặc thù nào đó của một mục dữ liệu, cũng không thể cập nhật mọi bản sao của một mục dữ liệu một cách đặc biệt . CSDL NC- Pham T Xuan Loc 105 10/2008
  106. A.V 12 qui tắc của Date cho DDBMS (3) • 7. Xử lý câu hỏi phân tán: – Hệ thống phải có khả năng xử lý các câu hỏi tham chiếu đến dữ liệu chứa ở nhiều hơn một site. • 8. Xử lý giao dịch phân tán: Hệ thống phải – xem giao dịch như một đơn vị phục hồi. – Đảm bảo các giao dịch toàn cục và cục bộ đều thoả các tính chất ACID. CSDL NC- Pham T Xuan Loc 106 10/2008
  107. A.V 12 qui tắc của Date cho DDBMS (3) • 9. Độc lập về phần cứng: – Phải chạy được DDBMS trên nhiều nền phần cứng khác nhau. • 10. Độc lập về hệ điều hành: – Phải chạy được DDBMS trên nhiều hệ điều hành khác nhau. CSDL NC- Pham T Xuan Loc 107 10/2008
  108. A.V 12 qui tắc của Date cho DDBMS (4) • 11. Độc lập về mạng: – Phải chạy được DDBMS trên nhiều mạng truyền thông khác nhau. • 12. Độc lập về CSDL: – Phải có thể có một DDBMS từ nhiều DBMS khác nhau, hỗ trợ nhiều mô hình dữ liệu nền khác nhau.  Hệ thống phải hổ trợ được tính bất đồng. CSDL NC- Pham T Xuan Loc 108 10/2008
  109. B. HQTCSDL hướng đối tượng CSDL NC- Pham T Xuan Loc 109 10/2008