Xem mẫu

  1. Tập bài giảng Cơ sơ dữ liệu phân tán MỤC LỤC MỤC LỤC ....................................................................................................................... I CÁC DANH MỤC HÌNH .............................................................................................. V LỜI NÓI ĐẦU ............................................................................................................. VII CHƢƠNG 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN .................................. 1 1.1. Các khái niệm cơ bản ............................................................................................... 1 1.1.1. Xử lý phân tán ................................................................................................... 2 1.1.2. Hệ thống phân tán .............................................................................................. 2 1.1.3. Hệ cơ sở dữ liệu phân tán .................................................................................. 2 1.2. Mục đích của việc sử dụng cơ sở dữ liệu phân tán .................................................. 8 1.2.1. Sự phát triển của các cơ cấu tổ chức kinh tế ..................................................... 8 1.2.2. Sự kết nối lẫn nhau của CSDL hiện tại ............................................................. 9 1.2.3. Sự lớn mạnh gia tăng ......................................................................................... 9 1.2.4. Giảm chi phí truyền thông ................................................................................. 9 1.2.5. Hiệu quả công việc ............................................................................................ 9 1.2.6. Độ tin cậy và tính sẵn sàng .............................................................................. 10 1.3. Các đặc điểm chính của cơ sở dữ liệu phân tán ..................................................... 10 1.3.1. Điều khiển tập trung ........................................................................................ 10 1.3.2. Độc lập dữ liệu ................................................................................................ 11 1.3.3. Giảm dƣ thừa ................................................................................................... 12 1.3.4. Các cấu trúc vật lý phức tạp dùng để truy xuất hiệu quả ................................ 12 1.3.5. Tính toàn vẹn ................................................................................................... 16 1.3.6. Phục hồi ........................................................................................................... 17 1.3.7. Điều khiển đồng thời ....................................................................................... 17 1.3.8. Tính riêng biệt (privacy) và tính bảo mật (security) ....................................... 17 1.4. Mô hình kiến trúc tham chiếu CSDL phân tán ....................................................... 17 1.4.1. Lƣợc đồ toàn cục ............................................................................................. 18 1.4.2. Lƣợc đồ phân mảnh ......................................................................................... 18 1.4.3. Lƣợc đồ định vị ............................................................................................... 19 1.4.4. Lƣợc đồ ánh xạ cục bộ .................................................................................... 20 1.4.5. Mục tiêu của kiến trúc tham chiếu CSDL phân tán ........................................ 20 1.5. Cấu trúc logic của CSDL phân tán ......................................................................... 22 1.6. Lợi ích phân tán dữ liệu trên mạng......................................................................... 22 1.7. Kiến trúc hệ quản trị CSDL phân tán ..................................................................... 23 1.7.1. Các đặc tính của kiến trúc hệ quản trị CSDL phân tán ................................... 23 1.7.2. Các kiểu kiến trúc tham chiếu hệ quản trị CSDL phân tán ............................. 26 1.8. Hệ quản trị CSDL phân tán .................................................................................... 33 1.8.1. Các thành phần của hệ quản trị CSDL phân tán.............................................. 33 i
  2. Tập bài giảng Cơ sở dữ liệu phân tán 1.8.2. Các dịch vụ của hệ quản trị CSDL phân tán ................................................... 36 1.8.3. Phƣơng pháp truy xuất CSDL phân tán .......................................................... 37 1.8.4. Phân loại các hệ quản trị CSDL phân tán ....................................................... 38 Chƣơng 2 CÁC MỨC TRONG SUỐT PHÂN TÁN ................................................... 41 2.1. Các loại phân mảnh dữ liệu .................................................................................... 41 2.1.1. Điều kiện đúng đắn để phân mảnh dữ liệu ...................................................... 42 2.1.2. Phân mảnh ngang ............................................................................................ 43 2.1.3. Phân mảnh dọc ................................................................................................ 52 2.1.4. Phân mảnh hỗn hợp ......................................................................................... 57 2.2. Tính trong suốt phân mảnh dùng cho các ứng dụng chỉ đọc ................................. 67 2.2.1. Các mức trong suốt phân tán ........................................................................... 67 2.2.2. Chƣơng trình cho các ứng dụng chỉ đọc ......................................................... 67 2.3. Tính trong suốt phân mảnh dùng cho các ứng dụng cập nhật ................................ 85 2.3.1. Cây cập nhật .................................................................................................... 85 2.3.2. Chƣơng trình ứng dụng cho các ứng dụng cập nhật ....................................... 89 2.4. Các thao tác cơ bản truy xuất CSDL phân tán ....................................................... 93 2.4.1. Truy xuất CSDL với mỗi giá trị ...................................................................... 94 2.4.2. Truy xuất CSDL sau khi nhập vào tất cả các giá trị ........................................ 96 2.4.3. Truy xuất CSDL trƣớc khi nhập vào các giá trị .............................................. 98 2.4.4. Truy xuất CSDL sử dụng biểu thức con chung ............................................. 100 2.5. Ràng buộc trong CSDL phân tán ......................................................................... 102 2.5.1. Ràng buộc toàn vẹn ....................................................................................... 102 2.5.2. Ràng buộc tham chiếu ................................................................................... 103 2.5.3. Thiết kế các ràng buộc tham chiếu ................................................................ 104 CHƢƠNG 3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN ........................................... 107 3.1. Vấn đề thiết kế cơ sở dữ liệu phân tán ................................................................. 108 3.1.1. Các bƣớc thiết kế phân tán dữ liệu ................................................................ 108 3.1.2. Các mục tiêu của thiết kế phân tán dữ liệu ................................................... 109 3.1.3. Chiến lƣợc thiết kế phân tán dữ liệu ............................................................. 111 3.1.4. Các yêu cầu thông tin .................................................................................... 115 3.2. Thiết kế phân mảnh cơ sở dữ liệu ........................................................................ 116 3.3. Thiết kế phân mảnh ngang ................................................................................... 117 3.3.1. Các yêu cầu thông tin của phân mảnh ngang ................................................ 117 3.3.2. Thiết kế phân mảnh ngang chính .................................................................. 122 3.3.3. Thiết kế phân mảnh ngang dẫn xuất.............................................................. 134 3.3.4. Kiểm tra điều kiện đúng đắn khi phân mảnh ngang...................................... 139 3.4. Thiết kế phân mảnh dọc ....................................................................................... 140 3.4.1. Các chiến lƣợc thiết kế phân mảnh dọc ........................................................ 140 3.4.2. Các yêu cầu thông tin của phân mảnh dọc .................................................... 143 3.4.3. Giải thuật gom tụ ........................................................................................... 147 ii
  3. Tập bài giảng Cơ sở dữ liệu phân tán 3.4.4. Giải thuật phân tách ....................................................................................... 153 3.4.5. Kiểm tra tính đúng đắn khi phân mảnh dọc ..................................................156 3.5. Thiết kế phân mảnh hỗn hợp ................................................................................157 3.6. Thiết kế định vị cơ sở dữ liệu ...............................................................................157 3.6.1. Bài toán định vị ............................................................................................. 158 3.6.2. Các yêu cầu thông tin ....................................................................................160 3.6.3. Mô hình định vị ............................................................................................. 162 3.6.4. Các giải pháp .................................................................................................164 3.7. Kiểm soát dữ liệu ngữ nghĩa.................................................................................165 3.7.1. Quản lý khung nhìn ....................................................................................... 165 3.7.2. An toàn dữ liệu .............................................................................................. 167 3.7.3. Kiểm soát tính toàn vẹn ngữ nghĩa ................................................................ 170 CHƢƠNG 4 BIẾN ĐỔI CÁC TRUY VẤN TOÀN CỤC THÀNH CÁC TRUY VẤN MẢNH ......................................................................................................................... 175 4.1. Các phép biến đổi tƣơng đƣơng dùng cho các truy vấn .......................................176 4.1.1. Cây toán tử của một truy vấn ........................................................................176 4.1.2. Các phép biến đổi tƣơng đƣơng dùng cho đại số quan hệ............................. 177 4.1.3. Đồ thị toán tử và xác đinh biểu thức con chung ............................................181 4.2. Biến đổi truy vấn toàn cục thành các truy vấn mảnh ...........................................184 4.2.1 Biểu thức chuẩn tắc của một truy vấn mảnh ..................................................184 4.2.2. Đại số quan hệ định tính ................................................................................185 4.2.3. Đơn giản hóa các quan hệ đƣợc phân mảnh ngang .......................................189 4.2.4. Đơn giản hóa các phép kết nối giữa các quan hệ đƣợc phân mảnh ngang chính 191 4.2.5. Đơn giản hóa cho phân mảnh ngang dẫn xuất ..............................................192 4.2.6. Đơn giản hóa các quan hệ đƣợc phân mảnh dọc ...........................................194 4.2.7. Sử dụng phép suy diễn cho các phép đơn giản hóa .......................................196 4.2.8. Các chƣơng trình nửa kết nối ........................................................................197 4.3. Gom nhóm phân tán và định trị hàm kết hợp ....................................................... 198 4.3.1. Mở rộng đại số quan hệ .................................................................................199 4.3.2. Các đặc tính của phép gom nhóm..................................................................199 4.4. Các truy vấn có tham số ....................................................................................... 202 4.4.1. Đơn giản hóa các truy vấn tham số và mở rộng đại số quan hệ ....................203 4.4.2. Sử dụng vùng nhớ tạm thời khi sử dụng nhiều lần các truy vấn tham số .....205 CHƢƠNG 5 TỐI ƢU HÓA CÁC CHIẾN LƢỢC TRUY XUẤT .............................. 207 5.1. Một số cơ cấu cho tối ƣu hóa truy vấn .................................................................207 5.1.1. Các vấn đề của tối ƣu hóa truy vấn ............................................................... 207 5.1.2. Các mục tiêu của tối ƣu hóa truy vấn ............................................................ 209 5.1.3. Một mô hình mới của các truy vấn ............................................................... 211 5.1.4. Tóm lƣợc các giả sử dùng cho tối ƣu hóa truy vấn phân tán ........................ 218 iii
  4. Tập bài giảng Cơ sở dữ liệu phân tán 5.1.5. Tầm quan trọng của tối ƣu hóa truy vấn trong cơ sở dữ liệu phân tán ......... 218 5.2. Các truy vấn kết nối ............................................................................................. 220 5.2.1. Sử dụng các chƣơng trình nửa kết nối cho các truy vấn kết nối ................... 220 5.2.2. Xác định các chƣơng trình nửa kết nối trong SDD-1.................................... 224 5.2.3. Xác định các chƣơng trình nửa kết nối bằng các giải thuật .......................... 228 5.2.4. Xử lý truy vấn bằng cách sử dụng các phép nối .......................................... 231 5.3. Các truy vấn tổng quát ......................................................................................... 235 CÂU HỎI VÀ BÀI TẬP ............................................................................................. 239 PHỤ LỤC .................................................................................................................... 277 TÀI LIỆU THAM KHẢO ................................................................................................I iv
  5. Tập bài giảng Cơ sở dữ liệu phân tán CÁC DANH MỤC HÌNH Hình 1.1. Xử lý dữ liệu truyền thống ............................................................................. 3 Hình 1.2. Xử lý cơ sở dữ liệu ......................................................................................... 3 Hình 1.3. Một cơ sở dữ liệu phân tán trên một mạng phân tán địa lý ........................... 4 Hình 1.4. Một cơ sở dữ liệu phân tán trên một mạng cục bộ ......................................... 5 Hình 1.5. Một hệ thống đa xử lý (multiprossor system) ................................................ 6 Hình 1.6. Sơ đồ lƣu trữ phân tán .................................................................................... 8 Hình 1.7. Một lƣợc đồ CSDL Codasyl ....................................................................... 13 Hình 1.8. Một chƣơng trình tựa Codasyl-DBMS để tìm kiếm các mặt hàng đƣợc cung cấp bởi nhà cung cấp S1. .............................................................................................. 13 Hình 1.9. Sự phân tán của tập SUPPLIER-PART ...................................................... 14 Hình 1.10. Ví dụ về kế hoạch truy xuất ....................................................................... 15 Hình 1.11. Một kiến trúc tham chiếu dùng cho các CSDL phân tán ........................... 18 Hình 1.12. Các mảnh và các hình ảnh vật lý của một quan hệ toàn cục ...................... 19 Hình 1.13. Các mảnh và các hình ảnh vật lý của quan hệ dự án ................................. 20 Hình 1.14. Mô hình Client-Server nhiều lớp ............................................................... 22 Hình 1.15. Lựa chọn cài đặt hệ quản trị CSDL ............................................................ 23 Hình 1.16. Kiến trúc tham chiếu Client/Server ............................................................ 27 Hình 1.17. Kiến trúc tham chiếu CSDL phân tán ........................................................ 28 Hình 1.18. Sơ đồ chức năng của hệ quản trị CSDL phân tán tích hợp ........................ 29 Hình 1.19. Mô hình kiến trúc của một phức hệ ........................................................... 30 Hình 1.20. Kiến trúc phức hệ CSDL với một lƣợc đồ khái niệm toàn cục .................. 31 Hình 1.21. Kiến trúc phức hệ CSDL không sử dụng GCS .......................................... 32 Hình 1.22. Các thành phần của một phức hệ CSDL .................................................... 33 Hình 1.23. Hệ quản trị CSDL phân tán ........................................................................ 34 Hình 1.24. Các thành phần của một hệ quản trị CSDL phân tán. ................................ 35 Hình 1.25. Các thành phần của DDBMS thƣơng mại hóa ........................................... 36 Hình 1.26. Truy xuất từ xa thông qua các thao tác cơ bản DBMS .............................. 37 Hình 1.27. Truy xuất từ xa thông qua các thao tác cơ bản DBMS .............................. 38 Hình 1.28. Kiến trúc mô hình hệ quản trị CSDL đồng nhất ........................................ 39 Hình 1.29. Kiến trúc mô hình hệ quản trị CSDL không đồng nhất ............................. 39 Hình 2.1. Cây phân mảnh dẫn xuất .............................................................................. 52 Hình 2.2. Cây phân mảnh dẫn xuất của hệ thống quản lý dự án ................................. 52 Hình 2.3. Truy xuất CSDL Quản lý dự án khi DDBMS với trong suốt phân mảnh .... 70 Hình 2.4. Truy xuất CSDL QL Kinh doanh khi DDBMS với trong suốt phân mảnh . 71 Hình 2.5. Truy xuất CSDL QL Dự án khi DDBMS với trong suốt vị trí .................... 74 Hình 2.6. Truy xuất CSDL QL kinh doanh khi DDBMS với trong suốt vị trí ............ 76 Hình 2.7. Truy xuất CSDL QL Dự án khi DDBMS với trong suốt ánh xạ cục bộ ...... 80 Hình 2.8. Truy xuất CSDL QL kinh doanh khi DDBMS với trong suốt ánh xạ cục bộ ...................................................................................................................................... 82 Hình 2.9. Một số ứng dụng trên một CSDL phân tán không đồng nhất không có trong suốt ............................................................................................................................... 85 v
  6. Tập bài giảng Cơ sở dữ liệu phân tán Hình 2.10. Cây con cập nhật cho thuộc tính MAP trong cây phân mảnh của quan hệ NV ................................................................................................................................ 87 Hình 2.11. Cây con cập nhật khác cho thuộc tính MaP trong cây phân mảnh của quan hệ NV ........................................................................................................................... 88 Hình 3.1. Sơ đồ thiết kế tổng CSDL phân tán ........................................................... 108 Hình 3.2. Chiến lƣợc thiết kế từ trên xuống .............................................................. 112 Hình 3.3. Sơ đồ thiết kế tổng CSDL phân tán ........................................................... 138 Hình 4.1. Đồ thị toán tử của chƣơng trình nửa kết nối .............................................. 197 Hình 5.1. Một chƣơng trình rút gọn hoàn toàn cho quan hệ R .................................. 223 Hình 5.2. Hậu tối ƣu hóa trong giải thuật SDD-1 ...................................................... 227 Hình 5.3. kế hoạch cho quan hệ T ............................................................................. 229 Hình 5.4. Giao hoán phép kết nối và phép hợp ......................................................... 236 Hình 5.5. Tối ƣu hóa độc lập của một đồ thị kết nối phân tách ................................. 237 Hình 5.6. Các đồ thị tối ƣu hoá khác nhau cho cùng một truy vấn ........................... 237 vi
  7. Tập bài giảng Cơ sở dữ liệu phân tán LỜI NÓI ĐẦU Ngày nay, với sự phát triển nhanh chóng của công nghệ truyền thông và mạng Internet, cùng với xu thế toàn cầu hoá trong mọi lĩnh vực, dữ liệu không đơn giản chỉ đƣợc lƣu trữ tập trung ở một nơi mà nó có thể đƣợc lƣu trữ tại nhiều nơi. Do đó, cơ sở dữ liệu phân tán đã trở thành lĩnh vực nghiên cứu của ngành CNTT. Môn học Cơ sở dữ liệu phân tán là môn học không chỉ đề cập đến những vấn đề cơ sở lý thuyết mà còn cung cấp một số kỹ năng cần thiết để thiết kế và cài đặt các hệ cơ sở dữ liệu phân tán cụ thể. Để giúp sinh viên các ngành thuộc lĩnh vực Công nghệ thông tin trƣờng Đại học Sƣ phạm Kỹ thuật Nam Định học tốt hơn môn học này và vận dụng để phân tích và thiết kế cơ sở dữ liệu phân tán thì việc xuất bản “Tập bài giảng Cơ sở dữ liệu phân tán” là rất cần thiết. Tập bài giảng đƣợc chia làm 5 chƣơng: Chƣơng 1. Tổng quan về Cơ sở dữ liệu phân tán Chƣơng 2. Các mức trong suốt phân tán Chƣơng 3. Thiết kế cơ sở dữ liệu phân tán Chƣơng 4. Biến đổi truy vấn toàn cục thành các truy vấn mảnh Chƣơng 5. Tối ƣu hóa các chiến lƣợc truy xuất Mỗi chƣơng trong tập bài giảng đều hệ thống hóa các kiến thức cơ bản, cần thiết. Tƣơng ứng với mỗi nội dung kiến thức đều có các ví dụ minh họa cụ thể, gán với các ứng dụng thực tiễn. Đặc biệt, cuối tập bài giảng, tác giả đƣa ra các câu hỏi lý thuyết, các câu hỏi trắc nghiệm và một số bài tập để sinh viên vận dụng củng cố lại kiến thức và kỹ năng. Với phần lý thuyết chi tiết, đầy đủ đƣợc trình bày một cách khoa học, logic và phần bài tập để củng cố kiến, chúng tôi hy vọng rằng tập bài giảng này sẽ mang lại cho bạn đọc nhiều điều bổ ích. Trong quá trình biên soạn, tập bài giảng không tránh khỏi những sai sót, rất mong đồng nghiệp và các em sinh viên góp ý kiến để tập bài giảng ngày càng đƣợc hoàn thiện hơn. Mọi sự đóng góp ý kiến xin gửi về Văn phòng Khoa Công nghệ thông tin-Trƣờng Đại học Sƣ phạm Kỹ thuật Nam Định-Phƣờng Lộc Hạ-Tp Nam Định. Nhóm biên soạn Phạm Hùng Phú- Nguyễn Văn Thẩm vii
  8. Tập bài giảng Cơ sở dữ liệu phân tán Chƣơng 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN Với việc phân bố ngày càng rộng rãi của các công ty, xí nghiệp, dữ liệu bài toán là rất lớn và không tập trung đƣợc. Các cơ sở dữ liệu (CSDL) thuộc thế hệ một và hai không giải quyết đƣợc các bài toán trong môi trƣờng mới không tập trung mà phân tán, song song với các dữ liệu và hệ thống không thuần nhất, thế hệ thứ ba của hệ quản trị CSDL ra đời vào những năm 80 trong đó có CSDL phân tán để đáp ứng những nhu cầu mới. Ngày nay, CSDL phân tán đã trở thành một lĩnh vực quan trọng của xử lý thông tin và tầm quan trọng của nó ngày càng tăng nhanh. Có hai lý do về mặt công nghệ và về mặt tổ chức để đi theo hƣớng này: - Các CSDL phân tán khắc phục nhiều thiếu sót của các CSDL tập trung (centralized database). - Thích hợp một cách tự nhiên với các cấu trúc không tập trung (decentralized structure) của nhiều tổ chức (organization). 1.1. Các khái niệm cơ bản Nguyên lý các hệ cơ sở dữ liệu phân tán đƣợc xây dựng dựa trên sự hợp nhất của hai hƣớng tiếp cận đối với quá trình xử lý dữ liệu, đó là lý thuyết các hệ cơ sở dữ liệu và công nghệ mạng máy tính. Một trong những động lực thúc đẩy sự phát triển nhanh việc sử dụng các hệ CSDL là nhu cầu tích hợp các loại dữ liệu, cung cấp đa dạng các loại hình dịch vụ và các dịch vụ đa phƣơng tiện cho ngƣời sử dụng. Mặt khác, kết nối máy tính thành mạng với mục tiêu chia sẻ tài nguyên, khai thác có hiệu quả các tài nguyên thông tin, nâng cao khả năng tích hợp và trao đổi các loại dữ liệu giữa các thành phần trên mạng. Nhu cầu thu thập, lƣu trữ xử lý và trao đổi thông tin ngày càng tăng, các hệ thống xử lý tập trung đã bộc lộ những nhƣợc điểm sau: - Tăng khả năng lƣu trữ thông tin là khó khăn, bởi bị giới hạn tối đa của thiết bị nhớ. - Độ sẵn sàng phục vụ của CSDL không cao khi số ngƣời sử dụng tăng. - Khả năng tính toán của các máy tính đơn lẻ đang dần tới giới hạn vật lý. - Mô hình tổ chức lƣu trữ, xử lý dữ liệu tập trung không phù hợp cho những tổ chức kinh tế, xã hội có hoạt động rộng lớn, đa quốc gia. Những nhƣợc điểm này đã đƣợc khắc phục khá nhiều trong hệ thống phân tán. Những sản phẩm của các hệ thống phân tán đã xuất hiện nhiều trên thị trƣờng và từng bƣớc chứng minh tính ƣu việt của nó hơn hẳn các hệ thống tập trung truyền thống. Các hệ thống phân tán sẽ thay thế dần các hệ thống tập trung. 1
  9. Tập bài giảng Cơ sở dữ liệu phân tán 1.1.1. Xử lý phân tán Thuật ngữ xử lý phân tán có thể là thuật ngữ đƣợc lạm dụng nhiều nhất trong khoa học máy tính trong những năm vừa qua. Nó thƣờng đƣợc dùng để chỉ những hệ thống gồm nhiều loại thiết bị khác nhau chẳng hạn nhƣ: hệ đa bộ vi xử lý, xử lý dữ liệu phân tán, mạng máy tính Có hai khái niệm xử lý phân tán liên quan với nhau. - Khái niệm liên quan đến việc tính toán trên Client/Server. Trong đó ứng dụng đƣợc chia ra thành hai phần, phần của Server và phần của Client và đƣợc vận hành ở hai nơi. Trong tính toán phân tán này cho phép truy nhập trực tiếp dữ liệu và xử lý dữ liệu trên Server và Client. - Khái niệm thứ hai là việc thực hiện các tác vụ xử lý phức tạp trên nhiều hệ thống. Không gian nhớ và bộ xử lý của nhiều máy cùng hoạt động chia nhau tác vụ xử lý. Máy trung tâm sẽ giám sát và quản lý các tiến trình này. Có trƣờng hợp thông qua Internet, hàng nghìn máy cùng xử lý một tác vụ. Có thể định nghĩa hệ xử lý phân tán nhƣ sau: Hệ xử lý phân tán là một tập hợp các phần tử xử lý tự trị (không nhất thiết đồng nhất) đƣợc kết nối với nhau bởi một mạng máy tính và cùng phối hợp thực hiện những công việc gán cho chúng. Phần tử xử lý ở đây để chỉ một thiết bị tính toán có khả năng thực hiện chƣơng trình trên nó. 1.1.2. Hệ thống phân tán Hệ thống phân tán là tập hợp các máy tính độc lập kết nối với nhau thành một mạng máy tính đƣợc cài đặt các hệ cơ sở dữ liệu và các phần mềm hệ thống phân tán tạo khả năng cho nhiều ngƣời sử dụng truy nhập chia sẻ nguồn thông tin chung. Các máy tính trong hệ thống phân tán có kết nối phần cứng lỏng lẻo, có nghĩa là không chia sẻ bộ nhớ, chỉ có một hệ điều hành trong toàn bộ hệ thống phân tán Các mạng máy tính đƣợc xây dựng dựa trên kỹ thuật Web. Ví dụ nhƣ mạng Internet, mạng Intranet… là các mạng phân tán. 1.1.3. Hệ cơ sở dữ liệu phân tán Công nghệ các hệ CSDL phát triển từ mô hình dữ liệu, trong đó mỗi ứng dụng định nghĩa một hay nhiều tệp dữ liệu riêng của nó đƣợc mô tả nhƣ hình 1.1, sang mô hình định nghĩa và quản lý dữ liệu tập trung. Điều đó dẫn đến khái niệm độc lập dữ liệu, nghĩa là tính bất biến của các hệ ứng dụng đối với sự thay đổi cấu trúc lƣu trữ và các chiến lƣợc truy nhập dữ liệu. 2
  10. Tập bài giảng Cơ sở dữ liệu phân tán Hình 1.1. Xử lý dữ liệu truyền thống Trong ngữ cảnh hệ xử lý phân tán thì hệ cơ sở dữ liệu phân tán có thể đƣợc xem nhƣ những công cụ làm cho quá trình xử lý dữ liệu phân tán dễ dàng hơn và hiệu quả hơn. Khái niệm hệ CSDL phân tán bao gồm cả khái niệm CSDL phân tán và hệ quản trị CSDL phân tán. Hình 1.2. Xử lý cơ sở dữ liệu Một CSDL phân tán là sự tập hợp dữ liệu mà về mặt logic chúng thuộc cùng một hệ thống nhƣng đƣợc trải rộng ở nhiều nơi (site) của một mạng máy tính. Khái niệm này nhấn mạnh hai khía cạnh quan trọng nhƣ nhau của một CSDL phân tán là: - Sự phân tán (distribution): nghĩa là dữ liệu không tập trung ở cùng một nơi (hiểu theo nghĩa bộ xử lý - processor), điều này giúp ta có thể phân biệt một CSDL phân tán với một CSDL tập trung, đơn lẻ. - Sự tƣơng quan logic (logical correlation): nghĩa là dữ liệu có những mối liên hệ mật thiết với nhau, điều này giúp ta có thể phân biệt một CSDL phân tán với một tập hợp các CSDL cục bộ (local database) hoặc các tập tin tập trung ở những nơi khác nhau của một mạng máy tính. Một vấn đề nảy sinh từ khái niệm trên là sự phân tán và sự tƣơng quan logic đƣợc đƣa ra một cách quá mơ hồ để có thể luôn phân biệt đƣợc những trƣờng hợp thực sự là CSDL phân tán và những trƣờng hợp không phải là những CSDL phân tán. Để có một khái niệm rõ ràng hơn, ta xét một số ví dụ sau: Ví dụ 1.1: Xét một ngân hàng có ba chi nhánh ở các vị trí địa lý khác nhau đƣợc mô tả trong hình 1.3. 3
  11. Tập bài giảng Cơ sở dữ liệu phân tán Hình 1.3. Một cơ sở dữ liệu phân tán trên một mạng phân tán địa lý Tại mỗi chi nhánh có máy tính kiểm soát các máy rút tiền của chi nhánh, và một CSDL tài khoản (account database) của chi nhánh. Mỗi máy tính với CSDL tài khoản cục bộ ở một chi nhánh tạo thành một nơi (site) của CSDL phân tán; các máy tính đƣợc nối với nhau thông qua mạng máy tính truyền thông (communication network). Khi hoạt động bình thƣờng, các ứng dụng đƣợc chạy tại các thiết bị đầu cuối của chi nhánh chỉ cần truy nhập CSDL ở chi nhánh đó. Những ứng dụng này đƣợc thực hiện hoàn tất bởi máy tính của chi nhánh, nơi mà chúng đƣợc chạy, và đƣợc gọi là các ứng dụng cục bộ (local application). Một ví dụ của ứng dụng cục bộ là ứng dụng “ghi nợ” hoặc “ghi có” trên một tài khoản đƣợc lƣu trữ trong cùng một chi nhánh mà tại đây chạy ứng dụng này. Nếu chúng ta thử áp dụng định nghĩa của CSDL phân tán cho trƣờng hợp này, thì chúng ta nhận thấy rằng khó nói là có tính tƣơng quan logic hay không. Có phải các chi nhánh chỉ chứa thông tin về các tài khoản của cùng một ngân hàng là đủ? Có nên xem điều này là một ví dụ của một CSDL phân tán hoặc một tập hợp CSDL cục bộ? Để trả lời cho câu hỏi này, chúng ta tập chung vào cái gì làm cho một tập hợp các CSDL cục bộ khác với một CSDL phân tán có cùng dữ liệu. Về quan điểm công nghệ (technological viewpoint), có một khía cạnh thực sự quan trọng là sự tồn tại của một 4
  12. Tập bài giảng Cơ sở dữ liệu phân tán vài ứng dụng truy xuất dữ liệu tại hai chi nhánh trở lên. Các ứng dụng này đƣợc gọi là ứng dụng toàn cục (global application) hoặc ứng dụng phân tán (distributed application). Sự tồn tại của các ứng dụng toàn cục là đặc điểm phân biệt của các CSDL phân tán so với một tập hợp các CSDL cục bộ. Một ứng dụng toàn cục tiêu biểu là một sự chuyển quĩ của một tài khoản trong một chi nhánh này vào tài khoản trong một chi nhánh khác. Ứng dụng này cập nhật dữ liệu tại hai chi nhánh khác nhau. Lƣu ý ứng dụng này thực hiện hai cập nhật cục bộ tại hai chi nhánh riêng biệt (ghi nợ và ghi có), bởi vì cũng cần phải đảm bảo cả hai cập nhật này đƣợc thực hiện hoặc đều không đƣợc thực hiện. Do đó, việc đảm bảo yêu cầu này của các ứng dụng toàn cục là một công việc khó khăn. Trong ví dụ 1.1, các máy tính đƣợc đặt tại các vị trí địa lý khác nhau. Tuy nhiên, các CSDL phân tán cũng có thể đƣợc xây dựng trên các mạng cục bộ. Ví dụ 1.2: Xét cùng một ngân hàng của ví dụ 1.1, với cùng các ứng dụng. Tuy nhiên hệ thống có một cấu hình đƣợc chỉ ra trong hình 1.4. Hình 1.4. Một cơ sở dữ liệu phân tán trên một mạng cục bộ Cùng các bộ xử lý các CSDL của chúng đã đƣợc di chuyển từ các chi nhánh về một toà nhà chung và bây giờ đƣợc kết nối với nhau bởi một mạng cục bộ băng thông cao (high-bandwidth local network). Các máy rút tiền của các chi nhánh đƣợc kết nối với các máy tính tƣơng ứng bởi các tuyến điện thoại. Mỗi bộ xử lý và CSDL của nó tạo thành một nơi của mạng máy tính cục bộ. Chúng ta thấy rằng cấu trúc vật lý của các kết nối đã đƣợc thay đổi so với ví dụ 1.1; tuy nhiên các khía cạnh đặc trƣng của kiến trúc vẫn không thay đổi. Đặc biệt cùng các máy tính thực hiện cùng các ứng dụng truy xuất trên cùng các CSDL. Một ứng dụng là cục bộ trong ví dụ 1.1 thì vẫn là cục bộ, miễn là tính cục bộ (locality) không đƣợc định 5
  13. Tập bài giảng Cơ sở dữ liệu phân tán nghĩa đối với sự phân tán địa lý của các máy tính thực hiện ứng dụng này, nhƣng chỉ đối với một máy tính và CSDL riêng của nó. Nếu có các ứng dụng toàn cục thì ví dụ này đƣợc xem là CSDL phân tán, vì hầu hết các điểm đặc trƣng của ví dụ trƣớc vẫn còn hợp lệ. Tuy nhiên, CSDL phân tán đƣợc thực hiện trên một mạng cục bộ (LAN) thay vì trên một mạng diện rộng (WAN), với độ tin cậy (reliability) và thông lƣợng (throughput) của nó cao hơn, trong một số trƣờng hợp sẽ thay đổi các giải pháp cho trƣớc đối với một số vấn đề. Chúng ta xét một ví dụ của một hệ thống mà chúng ta không xem là một CSDL phân tán. Ví dụ 1.3: Xét cùng một ngân hàng của ví dụ 1.1, nhƣng với cấu hình của hệ thống đƣợc chỉ ra trong hình 1.5. Hình 1.5. Một hệ thống đa xử lý (multiprossor system) Dữ liệu của các chi nhánh khác nhau đƣợc phân tán trên ba máy tính phía sau (backend conputer), mà chúng thực hiện các chức năng quản trị cơ sở dữ liệu. Chƣơng trình ứng dụng đƣợc thực hiện bởi một máy tính khác, mà máy tính này yêu cầu các dịch vụ truy xuất CSDL tại các máy tính phía sau khi cần thiết. Lý do mà hệ thống máy tính này không đƣợc xem là một CSDL phân tán, bởi vì mặc dù dữ liệu đƣợc phân tán về mặt vật lý trên các bộ xử lý khác nhau, nhƣng sự phân tán của chúng là không thích hợp trên quan điểm ứng dụng. Điều mà chúng ta không có ở đây chính là sự tồn tại của các ứng dụng cục bộ, bởi vì không có một máy tính nào mà chính nó có khả năng thực hiện một ứng dụng. Từ các ví dụ trên, ta có một phát biểu về cơ sở dữ liệu phân tán nhƣ sau: 6
  14. Tập bài giảng Cơ sở dữ liệu phân tán Một CSDL phân tán, là sự tập hợp dữ liệu đƣợc phân tán trên các máy tính khác nhau của một mạng máy tính. Mỗi nơi của mạng máy tính có khả năng xử lý tự trị (autonomous processing capability) và có thể thực hiện các ứng dụng cục bộ. Mỗi nơi cũng tham gia vào sự thực hiện của ít nhất một ứng dụng toàn cục, mà nơi này yêu cầu truy xuất dữ liệu ở nhiều nơi bằng cách dùng hệ thống truyền thông con (communication subsystem). Định nghĩa này nhấn mạnh ba khía cạnh quan trọng của một CSDL phân tán, đó là: - Sự phân tán dữ liệu: Dữ liệu phải đƣợc phân tán ở nhiều nơi. - Ứng dụng cục bộ: Mỗi nơi phải thực hiện ít nhất một ứng dụng cục bộ. - Ứng dụng toàn cục: Mỗi nơi phải tham gia vào sự thực hiện của ít nhất một ứng dụng toàn cục . Ví dụ 1.5: Xét hệ thống quản lý dự án trong một công ty phát triển phần mềm. Để quản lý, công ty có một CSDL với lƣợc đồ toàn cục nhƣ sau: - NV(MANV, TENNV, CV): Quan hệ này chứa thông tin về nhân viên của công ty gồm: mã nhân viên, tên nhân viên, chức vụ của nhân viên. - TL(CV, LUONG): Quan hệ này chứa thông tin về lƣơng trả theo chức vụ của nhân viên. - DA(MADA, TENDA, NS, VT): Quan hệ này chứa thông tin về các dự án mà công ty đang thực hiện gồm: mã dự án, tên dự án, ngân sách dành cho dự án, nơi thực hiện dự án. - HS(MANV, MADA, NHIEMVU, THOIGIAN): Quan hệ này chứa thông tin về việc phân công các nhân viên thực hiện các dự án gồm mã nhân viên, mã dự án, nhiệm vụ trong dự án, thời gian thực hiện trong dự án. Giả sử công ty có văn phòng ở Nam Định, Hà Nội, Đà Nẵng, Cần Thơ; mỗi nơi đều thực hiện một số dự án. Giả sử hệ thống có các ứng dụng sau: - Ứng dụng 1: Truy xuất DA theo vị trí là “Hà Nội” - Ứng dụng 2: Truy xuất các bộ của DA có ngân sách lớn hơn 20000 - Ứng dụng 3: Truy xuất các bộ của DA có ngân sách nhỏ hơn hoặc bằng 20000. Do tính phân tán của các văn phòng nên tại mỗi văn phòng có lƣu trữ dữ liệu tác nghiệp của chính văn phòng đó, các nhân viên tại và các dự án mà văn phòng đó đang quản lý. Với các yêu cầu nhƣ trên, sử dụng thiết kế và cài đặt CSDL phân tán là hợp lý. Trong đó 3 khía cạnh quan trọng của một CSDL phân tán: - Sự phân tán dữ liệu: Dữ liệu đƣợc phân tán tại 4 nơi: Nam Định, Hà Nội, Đà Nẵng, Cần Thơ 7
  15. Tập bài giảng Cơ sở dữ liệu phân tán - Ứng dụng cục bộ: Với 3 ứng dụng trên thì mỗi nơi đều phải thực hiện ít nhất một ứng dụng cục bộ. - Ứng dụng toàn cục: Với 3 ứng dụng trên thì thì mỗi nơi đều tham gia vào sự thực hiện của ít nhất một ứng dụng toàn cục . Hình 1.6. Sơ đồ lưu trữ phân tán 1.2. Mục đích của việc sử dụng cơ sở dữ liệu phân tán Trong những năm gần đây, công nghệ CSDL phân tán đã trở thành một lĩnh vực quan trọng của công nghệ thông tin, tính cần thiết của nó ngày càng nâng cao. Có rất nhiều nguyên nhân thúc đẩy sự phát triển của CSDL phân tán. Các động cơ thúc đẩy chính là: - Sự phát triển tổ chức (organizational) kinh tế (economic) - Kết nối lẫn nhau (interconnection) của các CSDL hiện tại - Sự lớn mạnh gia tăng (incremental growth) - Giảm chi phí truyền thông (communication overhead) - Hiệu quả công việc (performance consideration) - Độ tin cậy (reliability) và tính sẵn sàng (availability) 1.2.1. Sự phát triển của các cơ cấu tổ chức kinh tế Cùng với sự phát triển của xã hội, nhiều cơ quan, xí nghiệp có cơ cấu tổ chức không đƣợc tập trung hoá, hoạt động phân tán trên phạm vi rộng. Vì vậy thiết kế và cài đặt CSDL phân tán là phù hợp, đáp ứng mọi nhu cầu truy xuất và khai thác dữ liệu. Với sự phát triển hiện nay của công nghệ máy tính, các động cơ giảm bớt chi phí để có 8
  16. Tập bài giảng Cơ sở dữ liệu phân tán các trung tâm máy tính tập trung lớn trở lên có vấn đề. Tuy nhiên, các động cơ thúc đẩy về tổ chức và kinh tế có thể là lý do quan trọng nhất để phát để phát triển CSDL phân tán. 1.2.2. Sự kết nối lẫn nhau của CSDL hiện tại Các CSDL phân tán là giải pháp tự nhiên khi có nhiều CSDL đã tồn tại trong một tổ chức và cần phải thực hiện nhiều ứng dụng toàn cục hơn. Trong trƣờng hợp này, CSDL đƣợc tạo từ dƣới lên từ các CSDL cục bộ đã đƣợc tạo từ trƣớc. Tiến trình này đòi hỏi cấu trúc lại các cơ sở dữ liệu cục bộ ở một mức nhất định. Tuy nhiên, việc tái cấu trúc này sẽ cần sự nỗ lực ít hơn so với việc tái tạo mới hoàn toàn một CSDL tập trung. 1.2.3. Sự lớn mạnh gia tăng Khi một tổ chức lớn mạnh lên do có thêm các đơn vị tổ chức tƣơng đối độc lập (các chi nhánh mới, các kho mới,…), thì cách tiếp cận CSDL phân tán hỗ trợ sự lớn mạnh tăng dần với một mức độ ảnh hƣởng tối thiểu đến các đơn vị đã tồn tại. Với cách tiếp cận tập trung, quy mô ban đầu của hệ thống cần phải thận trọng để mở rộng trong tƣơng lai, mà điều này cũng khó nhìn thấy trƣớc và tốn kém nhiều cho việc thực hiện, hoặc sự lớn mạnh sẽ ảnh hƣởng nhiều đến các ứng dụng mới và các ứng dụng đang tồn tại. 1.2.4. Giảm chi phí truyền thông Trong thực tế, sử dụng một số ứng dụng mang tính cục bộ sẽ làm giảm chi phí truyền thông. Trong một CSDL phân tán về mặt địa lý, chẳng hạn nhƣ CSDL của ví dụ 1.1, rõ ràng nhiều ứng dụng cục bộ làm giảm đi chi phí truyền thông so với CSDL tập trung. Do đó, việc tối ƣu hóa hoá tính cục bộ của các ứng dụng là một trong các mục tiêu chính trong thiết kế CSDL phân tán. 1.2.5. Hiệu quả công việc Vì có nhiều bộ xử lý độc lập, do đó hiệu xuất đƣợc nâng cao thông qua một cơ chế song song hóa mức độ cao. Nghiên cứu này có thể áp dụng cho bất kỳ hệ thống đa xử lý (multiprocesor system), chứ không chỉ áp dụng cho các CSDL phân tán. Chẳng hạn, cấu hình của ví dụ 1.3 cũng cho phép song song hoá, nhƣng nó không đƣợc xem là một CSDL phân tán. Tuy nhiên, các CSDL phân tán có ƣu điểm trong trƣờng hợp sự phân rã dữ liệu phản ánh các tiêu chí phụ thuộc ứng dụng, mà các tiêu chí này làm cực đại hoá tính cục bộ của ứng dụng . Bằng cách này, các bộ xử lý sẽ ít liên lạc với nhau hơn. Tải đƣợc dùng chung giữa các bộ xử lý khác nhau, và các hiện tƣợng thắt cổ chai nguy kịch, chẳng hạn nhƣ mạng truyền thông hoặc các dịch vụ chung của toàn bộ hệ thống, sẽ đƣợc tránh khỏi. Hiệu quả này là kết quả của khả năng xử lý tự trị đối với các ứng dụng cục bộ mà đã đƣợc nói đến trong định nghĩa của CSDL phân tán. 9
  17. Tập bài giảng Cơ sở dữ liệu phân tán 1.2.6. Độ tin cậy và tính sẵn sàng Cách tiếp cận CSDL phân tán, nhất là đối với dữ liệu dƣ thừa, có thể đƣợc sử dụng để có tính sẵn sàng và độ tin cậy cao. Tuy nhiên, để có đƣợc mục tiêu này là điều không phải dễ dàng, và cần phải sử dụng các kỹ thuật mà hoàn toàn vẫn còn chƣa đƣợc thoả thuận với nhau. Khả năng tự trị của các nơi khác nhau tuy không thể đảm bảo toàn bộ độ tin cậy cao của hệ thống, nhƣng nó đảm bảo đặc tính suy biến (degradation property). Nói cách khác, các hƣ hỏng trong CSDL phân tán có thể xảy ra nhiều hơn so với trong CSDL tập trung, bởi vì số thành phần nhiều hơn, nhƣng ảnh hƣởng của mỗi hƣ hỏng bị hạn chế đối với các ứng dụng sử dụng dữ liệu của nơi hƣ hỏng và rất hiếm khi hệ thống bị ngƣng hoàn toàn. Các động cơ thúc đẩy ở trên đối với CSDL phân tán không phải là mới. Tại sao sự phát triển của các hệ thống CSDL chỉ mới bắt đầu? Có hai lý do chính: Thứ nhất, sự phát triển hiện nay của máy tính nhỏ, cung cấp nhiều khả năng có mức chi phí thấp so với các máy tính lớn trƣớc đây, sẽ hỗ trợ các phần cứng cần thiết để phát triển các hệ thống thông tin phân tán. Thứ hai, công nghệ CSDL phân tán dựa trên hai công nghệ khác nhau đã đƣợc phát triển thành một nền tảng đủ vững chắc trong những thập niên 1970 là: công nghệ mạng máy tính, và công nghệ CSDL. Đó là một công việc phức tạp để xây dựng một CSDL phân tán ở trên một mạng máy tính, và một tập hợp các hệ quản trị CSDL cục bộ tại mỗi nơi; nó sẽ không khả thi nếu không có các khối xây dựng sẵn này. 1.3. Các đặc điểm chính của cơ sở dữ liệu phân tán Các CSDL phân tán không đơn giản là sự thực hiện phân tán của các CSDL tập trung, bởi vì chúng cho phép thiết kế các hệ thống biểu thị các đặc điểm khác so với các hệ thống tập trung truyền thống. Do đó, chúng ta sẽ xét các đặc điểm tiêu biểu của các CSDL truyền thống, và so sánh chúng với các đặc điểm tƣơng ứng của các CSDL phân tán. Các đặc điểm đặc trƣng cho cách tiếp cận CSDL truyền thống là: - Điều khiển tập trung (centralized control). - Độc lập dữ liệu (data independence). - Giảm dƣ thừa (reduction of redundancy). - Các cấu trúc vật lý phức tạp dùng để truy xuất hiệu quả. - Tính toàn vẹn (integrity). - Phục hồi (recovery). - Điều khiển đồng thời (concurrency control). - Tính riêng biệt (privacy) và tính bảo mật (security). 1.3.1. Điều khiển tập trung Khả năng cung cấp điều khiển tập trung trên các tài nguyên thông tin (information resourecs) của toàn bộ xí nghiệp (hoặc một tổ chức) đƣợc xem nhƣ là một trong những 10
  18. Tập bài giảng Cơ sở dữ liệu phân tán động cơ thúc đẩy tốt nhất cho việc giới thiệu các CSDL; chúng đƣợc phát triển nhƣ là một cuộc cách mạng của các hệ thống thông tin mà trong đó mỗi ứng dụng có các tệp tin riêng biệt của nó. Chức năng cơ bản của ngƣời quản trị CSDL (DBA-Database Administrator) là đảm bảo sự an toàn dữ liệu; bản thân dữ liệu đã đƣợc công nhận là sự đầu tƣ quan trọng của xí nghiệp mà dữ liệu cần phải đƣợc tập trung. Trong các CSDL phân tán, ý tƣởng điều khiển tập trung không nhấn mạnh. Điều này còn tuỳ thuộc vào kiến trúc, nhƣ chúng ta có thể thấy trong các ví vụ 1.1 và 1.2. Ví dụ 1.2 thích hợp với điều khiển tập trung hơn so với ví dụ 1.1. Nói chung, trong các CSDL phân tán chúng ta có thể nhận biết một cấu trúc điều khiển phân cấp (hierarchical control structure) gồm có ngƣời quản trị CSDL cục bộ (global database administrator), mà ngƣời này có trách nhiệm về CSDL cục bộ của họ. Tuy nhiên, cần phải nhấn mạnh là những ngƣời quản trị CSDL cục bộ có thể có một mức độ tự trị cao, cao đến mức mà hoàn toàn không cần có ngƣời quản trị CSDL toàn cục, và sự phối hợp giữa các nơi (intersite coordination) đƣợc thực hiện bởi chính những ngƣời quản trị cục bộ. Đặc tính này thƣờng đƣợc gọi là tính tự trị vị trí (site autonomy). Các CSDL phân tán có thể khác nhau rất nhiều về mức độ tự trị vị trí: từ tính tự vị trí hoàn toàn (complete site autonony) không có ngƣời quản trị CSDL tập trung, đến điều khiển tập trung hầu nhƣ hoàn toàn. 1.3.2. Độc lập dữ liệu Độc lập dữ liệu cũng đƣợc xem nhƣ là một trong những động cơ thúc đẩy chính cho việc giới thiệu cách tiếp cận CSDL. Về cơ bản, độc lập dữ liệu có nghĩa là tổ chức hiện tại của dữ liệu là trong suốt đối với ngƣời lập trình ứng dụng. Các chƣơng trình đƣợc viết dựa trên một khung nhìn khái niệm (conceptual view) về dữ liệu, đƣợc gọi là lƣợc đồ khái niệm (conceptual schema). Ƣu điểm chính của độc lập dữ liệu, là các chƣơng trình không bị ảnh hƣởng bởi những thay đổi về tổ chức vật lý của dữ liệu. Trong các CSDL phân tán, độc lập dữ liệu có cùng tầm quan trọng nhƣ trong các CSDL truyền thống. Tuy nhiên, một khía cạnh mới đƣợc đƣa vào trong khái niệm thông thƣờng của độc lập dữ liệu, đƣợc gọi là tính trong suốt phân tán (distributation transparency). Nhờ tính trong suốt phân tán mà các chƣơng trình có thể đƣợc viết giống nhƣ khi CSDL không đƣợc phân tán. Do đó, tính đúng đắn của các chƣơng trình không bị ảnh hƣởng bởi việc di chuyển dữ liệu từ một nơi này đến một nơi khác, nhƣng tốc độ thực hiện thì có bị ảnh hƣởng. Độc lập dữ liệu đã đƣợc cung cấp cho các CSDL truyền thống thông qua nhiều mức (multilevel architecture), có các mô tả khác nhau về dữ liệu và ánh xạ giữa chúng; các khái niệm của lƣợc đồ khái niệm, lƣợc đồ lƣu trữ (storage schema) đã đƣợc phát 11
  19. Tập bài giảng Cơ sở dữ liệu phân tán triển nhằm mục đích này. Một cách tƣơng tự, tính trong suốt phân tán có đƣợc trong CSDL phân tán bằng cách nêu ra các mức độ và những lƣợc đồ mới. 1.3.3. Giảm dƣ thừa Trong các CSDL truyền thống, dƣ thừa dữ liệu đƣợc giảm càng nhiều càng tốt với hai lý do: Thứ nhất, những sự không nhất quán (inconsistency) giữa các bản sao của cùng dữ liệu sẽ tự động đƣợc tránh khỏi bằng cách chỉ có một bản sao. Thứ hai, vùng nhớ lƣu trữ đƣợc tiết kiệm bằng cách loại bỏ dƣ thừa. Giảm dƣ thừa có đƣợc bằng cách dùng chung dữ liệu (data sharing), nghĩa là cho phép nhiều ứng dụng truy xuất đến cùng các tập tin và các mẩu tin. Tuy nhiên, trong các CSDL phân tán, có nhiều lý do để xem dƣ thừa dữ liệu là một đặc điểm cần thiết: Thứ nhất, tính cục bộ (locality) của các ứng dụng có thể đƣợc gia tăng nếu dữ liệu đƣợc nhân bản tại tất cả các nơi mà ứng dụng cần dữ liệu này; Thứ hai, tính sẵn sàng (availability) của hệ thống có thể đƣợc gia tăng, bởi vì một nơi bị hỏng sẽ không làm ngƣng thực hiện của các ứng dụng tại các nơi khác nếu dữ liệu không đƣợc nhân bản. Nói chung, các lý do về sự dƣ thừa này đối với môi trƣờng truyền thống vẫn còn có giá trị, mà do đó muốn đánh giá mức độ dƣ thừa tối ƣu thì cần phải đánh giá về sự thoả hiệp phức tạp hơn. Lợi ích của việc nhân bản một mục dữ liệu sẽ tăng theo tỉ số giữa các lần truy xuất lấy dữ liệu (retrieval access), với các lần truy xuất cập nhật dữ liệu (update access), đƣợc thực thực hiện bởi các ứng dụng truy xuất đến mục dữ liệu này. Lợi ích của nhân bản dữ liệu đƣợc gia tăng, bởi vì nếu chúng ta có nhiều bản sao của một mục dữ liệu thì việc lấy dữ liệu sẽ đƣợc thực hiện trên bất kỳ bản sao nào, trong khi việc cập nhật dữ liệu sẽ đƣợc thực hiện một cách nhất quán trên tất cả các bản sao. Do đó nhân bản dữ liệu cần phải xem xét kỹ lƣỡng dựa vào hai loại ứng dụng cơ bản, đó là ứng dụng chỉ đọc và ứng dụng cập nhật. Nhân bản dữ liệu giúp cho các ứng dụng chỉ đọc đƣợc thực hiện nhanh hơn, nhƣng nó làm cho các ứng dụng cập nhật bị thực hiện lâu hơn vì phải cập nhật dữ liệu tại các nơi đƣợc nhân bản. Nhƣ vậy, nhân bản dữ liệu sẽ là một ƣu điểm nếu hệ thống có rất nhiều ứng dụng chỉ đọc và có rất ít ứng dụng cập nhật. Trong trƣờng hợp ngƣợc lại thì sự nhân bản dữ liệu là một nhƣợc điểm. 1.3.4. Các cấu trúc vật lý phức tạp dùng để truy xuất hiệu quả Các cấu trúc truy xuất phức tạp, chẳng hạn nhƣ các chỉ mục thứ cấp (secondary index), các chuỗi kết nối giữa các tệp tin (interfile chain),…, là một khía cạnh chính của các CSDL truyền thống. Sự hỗ trợ cho các cấu trúc này là một phần quan trọng 12
nguon tai.lieu . vn