1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI GIẢNG cơ sở dữ LIỆU PHÂN tán

193 46 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cơ Sở Dữ Liệu Phân Tán
Tác giả TS. Tân Hạnh
Trường học Học viện Công nghệ Bưu chính Viễn thông
Thể loại bài giảng
Năm xuất bản 2010
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 193
Dung lượng 1,33 MB

Cấu trúc

  • 1.1 Giới thiệu (8)
  • 1.2 Định nghĩa về cơ sở dữ liệu phân tán (10)
  • 1.3 Các điểm đặc trưng của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung (10)
  • 1.4 Tại sao cần có cơ sở dữ liệu phân tán? (12)
    • 1.4.1 Lý do tổ chức và kinh tế (12)
    • 1.4.2 Lý do kết nối các cơ sở dữ liệu hiện có (12)
    • 1.4.3 Lý do tăng trưởng tổ chức (12)
    • 1.1.4 Lý do tải truyền thông (13)
    • 1.4.5 Đánh giá về hiệu suất (13)
    • 1.4.6 Độ tin cậy và tính hiệu quả (13)
    • 1.4.7 So sánh ưu và nhược điểm của việc phân tán dữ liệu (13)
  • Chương 2 KIẾN TRÚC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN 8 (0)
    • 2.1 Kiến trúc tham khảo cho cơ sở dữ liệu phân tán (15)
    • 2.2 Các thành phần của hệ quản trị cơ sở dữ liệu phân tán (0)
    • 2.3 Kiến trúc của hệ quản trị cơ sở dữ liệu phân tán (0)
      • 2.3.1 Các hệ khách/chủ (Client/Server) (22)
      • 2.3.2 Hệ quản trị cơ sở dữ liệu phân tán (22)
      • 2.3.3 Kiến trúc của hệ quản trị cơ sở dữ liệu phân tán (0)
  • CHƯƠNG 3 THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 20 (27)
    • 3.1 Các vấn đề về thiết kế cơ sở dữ liệu phân tán (28)
      • 3.1.1 Các lý do phân mảnh (28)
      • 3.1.2 Các kiểu phân mảnh (29)
    • 3.2 Thiết kế phân mảnh (34)
      • 3.2.2 Các tiếp cận để thiết kế sự phân tán dữ liệu (37)
      • 3.2.3 Thiết kế sự phân mảnh dữ liệu (38)
    • 3.3 Sự cấp phát các phân mảnh (68)
      • 3.3.1 Bài toán cấp phát (68)
      • 3.3.2 Yêu cầu về thông tin (68)
      • 3.3.3. Mô hình cấp phát (70)
  • Chương 4 SỰ TRONG SUỐT PHÂN TÁN 67 (0)
    • 4.1 Sự trong suốt phân tán của ứng dụng chỉ đọc (74)
    • 4.2 Sự trong suốt phân tán đối với các ứng dụng cập nhật (80)
    • 4.3 Các nguyên tắc truy xuất cơ sở dữ liệu phân tán (86)
  • Chương 5 TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 83 5.1. Biểu thức chuẩn tắc của truy vấn (0)
    • 5.1.1. Truy vấn (91)
    • 5.1.2. Biểu thức chuẩn tắc của truy vấn (92)
    • 5.2. Tối ưu hóa truy vấn trong cơ sở dữ liệu tập trung (93)
      • 5.2.1. Bước 1- Kiểm tra ngữ pháp (syntax Checking) (93)
      • 5.2.2. Bước 2- Kiểm tra sự hợp lệ (Validation) (94)
      • 5.2.3. Bước 3 – Dịch truy vấn (Translation) (95)
      • 5.2.4. Bước 4- Tối ưu hóa biểu thức đại số quan hệ (relational Algebra Optimization) (96)
      • 5.2.5. Bước 5- Chọn lựa chiến lược truy xuất (strategy selection) (97)
      • 5.2.6. Bước 6- Tạo sinh mã (code Generation) (97)
    • 5.3. Tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (97)
      • 5.3.1. Bước 1- Phân rã truy vấn (Query Decomposition) (99)
      • 5.3.2. Bước 2 Cục bộ hóa dữ liệu (118)
      • 5.3.3 Bước 3 Tối ưu hoá truy vấn toàn cục (125)
    • 6.1 Định nghĩa giao tác (130)
      • 6.1.1 Tình huống kết thúc giao tác (132)
      • 6.1.2 Đặc trưng hoá các giao tác (133)
      • 6.1.3. Hình thức hoá khái niệm giao tác (134)
    • 6.2 Các tính chất của giao tác (0)
      • 6.2.1 Tính nguyên tử (138)
      • 6.2.2 Tính nhất quán (138)
      • 6.2.3 Tính biệt lập (139)
      • 6.2.4 Tính bền vững (143)
    • 6.3 Các loại giao tác (143)
      • 6.3.1 Giao tác phẳng (143)
      • 6.3.2 Giao tác lồng (143)
    • 6.4 Điều khiển đồng thời phân tán (144)
      • 6.4.1 Lý thuyết khả tuần tự (144)
      • 6.4.2 Phân loại các cơ chế điều khiển đồng thời (151)
      • 6.4.3 Các thuật toán điều khiển đồng thời bằng khóa chốt (153)
      • 6.4.4 Nghi thức 2PL tập quyền (165)
      • 6.4.5 Thuật toán 2PL bản chính (0)
      • 6.4.6 Thuật toán 2PL phân quyền (171)
  • CHƯƠNG 7 CÁC HỆ CƠ SỞ DỮ LIỆU 166 (0)
    • 7.1 Cơ sở dữ liệu song song (173)
      • 7.1.1 Giới thiệu (173)
      • 7.1.2 Kiến trúc hệ cơ sở dữ liệu song song (174)
      • 7.1.3 Lợi ích của hệ cơ sở dữ liệu song song (175)
    • 7.2 Hệ cơ sở dữ liệu mobile (175)
      • 7.2.2 Định nghĩa hệ cơ sở dữ liệu mobile (0)
      • 7.2.3 Các kiểu di động (177)
      • 7.2.4 Kiến trúc hệ cơ sở dữ liệu mobile (178)

Nội dung

Giới thiệu

Thông tin ngày càng trở nên quan trọng và tầm ảnh hưởng của nó đang gia tăng Các tổ chức và công nghệ đang chuyển mình để phát triển theo xu hướng này, với cơ sở dữ liệu phân tán nổi bật như một giải pháp Nó khắc phục những hạn chế của cơ sở dữ liệu tập trung, chẳng hạn như tình trạng quá tải server, nghẽn cổ chai khi truy xuất dữ liệu, và cải thiện độ tin cậy cũng như khả năng chịu lỗi Hơn nữa, cơ sở dữ liệu phân tán còn phù hợp hơn với các tổ chức dữ liệu phi tập trung và các ứng dụng phân tán.

Cơ sở dữ liệu phân tán là tập hợp dữ liệu của một hệ thống thông tin, được phân bố trên nhiều địa điểm trong mạng máy tính (intranet) Khái niệm này nhấn mạnh hai khía cạnh quan trọng: sự phân tán của dữ liệu và khả năng truy cập từ nhiều vị trí khác nhau.

1 Sự phân tán: dữ liệu không lưu trữ trên cùng một địa điểm vì thế chúng ta có thể phân biệt nó với cơ sở dữ liệu tập trung.

Mối tương quan luận lý giữa các dữ liệu thể hiện sự ràng buộc giữa các thuộc tính từ các cơ sở dữ liệu cục bộ, được lưu trữ tại nhiều địa điểm khác nhau trên mạng.

Một ngân hàng có ba chi nhánh ở các vị trí khác nhau, mỗi chi nhánh được trang bị một hệ thống máy tính để quản lý các giao dịch thu và rút tiền cùng với cơ sở dữ liệu tài khoản Mỗi hệ thống này sở hữu một cơ sở dữ liệu cục bộ, được kết nối qua mạng truyền thông Trong các hoạt động thông thường, các yêu cầu từ các trạm chỉ cần truy cập vào cơ sở dữ liệu tại chi nhánh tương ứng, do đó ứng dụng này được gọi là ứng dụng cục bộ.

Ví dụ trên làm nảy sinh hai câu hỏi sau:

1) Mỗi chi nhánh chỉ lưu trữ cơ sở dữ liệu cục bộ có đủ đáp ứng các ứng dụng chưa?

Cơ sở dữ liệu phân tán không chỉ đơn thuần là tập hợp các cơ sở dữ liệu cục bộ Để hiểu rõ sự khác biệt giữa xử lý dữ liệu trên cơ sở dữ liệu cục bộ và phân tán, cần xem xét các ứng dụng truy xuất dữ liệu từ nhiều nhánh khác nhau Những ứng dụng này được gọi là ứng dụng toàn cục hay ứng dụng phân tán, cho phép quản lý và xử lý dữ liệu hiệu quả hơn trong môi trường phân tán.

Một ví dụ điển hình về ứng dụng toàn cục là quá trình chuyển tiền giữa hai tài khoản, yêu cầu cập nhật cơ sở dữ liệu đồng thời ở cả hai nhánh.

Cơ sở dữ liệu phân tán của ngân hàng bao gồm ba chi nhánh, cho phép truy cập dữ liệu một cách nhanh chóng và hiệu quả Tính trong suốt của dữ liệu trong hệ thống phân tán giúp ứng dụng toàn cục truy cập dữ liệu cục bộ nhanh hơn so với việc truy cập từ xa Điều này chứng tỏ rằng việc nhân bản dữ liệu tại các chi nhánh không chỉ cải thiện tốc độ truy xuất mà còn nâng cao hiệu suất xử lý chương trình.

Định nghĩa về cơ sở dữ liệu phân tán

Cơ sở dữ liệu phân tán là tập hợp các dữ liệu quan hệ được tổ chức một cách hợp lý trên cùng một hệ thống, nhưng lại được phân bố rộng rãi trên nhiều địa điểm trong một mạng máy tính.

Mỗi site có quyền quản lý cơ sở dữ liệu cục bộ và thực thi các ứng dụng địa phương Đồng thời, mỗi vị trí cũng cần tham gia vào việc thực hiện ít nhất một ứng dụng toàn cầu, yêu cầu truy xuất dữ liệu từ nhiều địa điểm qua mạng.

Cơ sở dữ liệu phân tán, như minh họa trong hình 1.2, thể hiện mối liên hệ chặt chẽ với môi trường kết nối mạng máy tính và các ứng dụng phân tán Để hiểu rõ hơn về đặc điểm của cơ sở dữ liệu phân tán, cần so sánh nó với cơ sở dữ liệu tập trung trong phần tiếp theo.

Hình 1.2 Mối liên hệ giữa mạng máy tính, cơ sở dũ liệu phân tán và ứng dụng phân tán

Các điểm đặc trưng của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung

Cơ sở dữ liệu phân tán không chỉ đơn thuần là việc chia nhỏ các cơ sở dữ liệu tập trung, mà còn cho phép thiết kế các hệ thống với những đặc tính khác biệt so với hệ thống tập trung truyền thống Do đó, cần xem xét lại các đặc điểm nổi bật của cơ sở dữ liệu tập trung để hiểu rõ hơn về sự khác biệt này.

Cơ sở dữ liệu phân tán Ứng dụng phân tán Tầng lưu trữ dữ liệu

Tầng kết nối trong cơ sở dữ liệu tập trung đóng vai trò quan trọng trong việc điều khiển dữ liệu một cách độc lập và chuẩn hóa, giúp loại bỏ sự dư thừa dữ liệu Nó cũng đảm bảo các cấu trúc lưu trữ vật lý phức tạp được tối ưu hóa cho việc truy xuất hiệu quả, bảo toàn toàn vẹn dữ liệu, phục hồi thông tin, điều khiển đồng thời và đảm bảo an toàn cho dữ liệu.

Dưới đây là bảng so sánh các tính chất đặc trưng của cơ sở dữ liệu tập trung và cơ sở dữ liệu phân tán:

Cơ sở dữ liệu tập trung cho phép điều khiển tài nguyên thông tin một cách tập trung, trong khi cơ sở dữ liệu phân tán mang lại sự linh hoạt hơn trong việc quản lý và truy cập dữ liệu Tính chất đặc trưng của cơ sở dữ liệu tập trung là khả năng cung cấp sự kiểm soát đồng nhất, trong khi cơ sở dữ liệu phân tán có thể cải thiện hiệu suất và độ tin cậy thông qua việc phân phối thông tin trên nhiều nút khác nhau.

- Cần có người quản trị cơ sở dữ liệu.

Cấu trúc điều khiển phân cấp bao gồm quản trị cơ sở dữ liệu toàn cục và quản trị cơ sở dữ liệu cục bộ phân tán Độc lập dữ liệu cho phép tổ chức dữ liệu một cách rõ ràng và dễ hiểu cho các lập trình viên, giúp các chương trình được phát triển với cái nhìn “quan niệm” về dữ liệu.

- Lợi điểm: các chương trình không bị ảnh hưởng bởi sự thay đổi tổ chức vật lý của dữ liệu

Cơ sở dữ liệu không chỉ có tính chất độc dữ liệu như trong môi trường tập trung mà còn sở hữu tính chất trong suốt phân tán, cho phép các chương trình hoạt động mà không cần phải phân tán dữ liệu.

Sự dư thừa dữ liệu Giảm thiểu sự dư thừa dữ liệu do:

- Tính nhất quán dữ liệu.

- Tiết kiệm dung lượng nhớ.

- Giảm thiểu sự dư thừa dữ liệu đảm bảo tính nhất quán.

Việc nhân bản dữ liệu đến các địa điểm cần thiết giúp các ứng dụng tiếp tục hoạt động ổn định ngay cả khi một địa điểm gặp sự cố, từ đó nâng cao hiệu quả quản lý.

Các cấu trúc vật lý phức tạp và truy xuất hiệu quả

Các cấu trúc vật lý phức tạp giúp cho việc truy xuất dữ liệu được hiệu quả.

Các cấu trúc vật lý phức tạp giúp liên lạc dữ liệu trong cơ sở dữ liệu phân tán

Tính toàn vẹn, phục hồi, đồng thời

Dựa vào giao tác Dựa vào giao tác phân tán.

Việc lựa chọn cơ sở dữ liệu phân tán là sự lựa chọn tối ưu cho các ứng dụng phát triển trong hệ thống mạng diện rộng, nhờ vào khả năng giảm chi phí truyền thông khi truy xuất dữ liệu.

Tại sao cần có cơ sở dữ liệu phân tán?

Lý do tổ chức và kinh tế

Trong những năm gần đây, sự phát triển mạnh mẽ của công nghệ máy tính và sự mở rộng của các tổ chức kinh tế toàn cầu đã đặt ra yêu cầu cần xem xét lại hiệu quả của việc lưu trữ thông tin trên cơ sở dữ liệu tập trung.

Lý do kết nối các cơ sở dữ liệu hiện có

Cơ sở dữ liệu phân tán là giải pháp hiệu quả cho các tổ chức đã có sẵn cơ sở dữ liệu và muốn mở rộng cho các ứng dụng đa dạng hơn Phương pháp xây dựng cơ sở dữ liệu phân tán thường được thực hiện từ dưới lên, dựa trên các cơ sở dữ liệu cục bộ hiện có Mặc dù có thể cần phải cấu trúc lại cơ sở dữ liệu cục bộ, nhưng quy trình này thường đơn giản hơn so với việc xây dựng một cơ sở dữ liệu tập trung hoàn toàn mới.

Lý do tăng trưởng tổ chức

Cách tiếp cận theo cơ sở dữ liệu phân tán cho các chi nhánh và kho bãi giúp tối ưu hóa quá trình tăng trưởng cơ sở dữ liệu với ảnh hưởng tối thiểu Ngược lại, các phương pháp khác có thể gây ra hậu quả nghiêm trọng cho cả ứng dụng mới và hệ thống hiện có.

Lý do tải truyền thông

chi phí truyền thông so với cơ sở dữ liệu tập trung.

Đánh giá về hiệu suất

Sự tồn tại của các bộ xử lý tự quản nâng hiệu suất lên nhờ mức độ xử lý song song.

Cơ sở dữ liệu phân tán mang lại lợi ích lớn nhờ việc phân tán dữ liệu ở nhiều địa điểm khác nhau, cho phép các ứng dụng hoạt động độc lập tại từng vị trí Điều này giúp giảm thiểu sự giao tiếp giữa các bộ xử lý, nâng cao hiệu suất và khả năng mở rộng của hệ thống.

Độ tin cậy và tính hiệu quả

Cơ sở dữ liệu phân tán mang lại độ tin cậy và tính hiệu quả cao hơn so với cơ sở dữ liệu tập trung, mặc dù việc đạt được điều này không dễ dàng và đòi hỏi các kỹ thuật phức tạp Trong khi sự hỏng hóc có thể xảy ra thường xuyên hơn do số lượng địa điểm tăng lên, nó không ảnh hưởng đến toàn bộ hệ thống, điều này giúp nâng cao độ tin cậy và hiệu suất của cơ sở dữ liệu phân tán.

So sánh ưu và nhược điểm của việc phân tán dữ liệu

Chia sẻ dữ liệu và điều khiển phân tán cho phép người dùng truy xuất dữ liệu từ nhiều vị trí khác nhau, đồng thời quản trị cơ sở dữ liệu có thể được thực hiện một cách tự quản tại từng vị trí Hệ thống đảm bảo độ tin cậy và tính sẵn sàng cao, vì nếu một vị trí gặp sự cố, các vị trí còn lại vẫn hoạt động bình thường Việc nhân bản dữ liệu ở nhiều vị trí giúp các giao dịch không bị ảnh hưởng khi cần truy xuất thông tin từ một vị trí cụ thể.

Để tăng tốc độ xử lý truy vấn, có thể chia một truy vấn lớn thành nhiều truy vấn con và thực hiện chúng song song tại các vị trí cần dữ liệu.

Chi phí phát triển phần mềm: Việc phát triển một hệ thống cơ sở dữ liệu phân tán khá phức tạp vì thế cần chi phí lớn.

Khó phát hiện lỗi: Việc phát hiện lỗi và đảm bảo tính đúng đắn của các thuật toán song song sẽ rất khó khăn.

Chi phí xử lý trong các hệ thống tập trung sẽ tăng lên do sự trao đổi thông báo và phối hợp giữa các vị trí.

KIẾN TRÚC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN 8

Kiến trúc tham khảo cho cơ sở dữ liệu phân tán

Kiến trúc tham khảo cho cơ sở dữ liệu phân tán được mô tả trong Hình 2.1, tuy không áp dụng cho tất cả các loại cơ sở dữ liệu phân tán, nhưng các mức của nó giúp chúng ta hiểu rõ hơn về tổ chức của một cơ sở dữ liệu phân tán Do đó, việc phân tích và tìm hiểu các thành phần trong kiến trúc này là rất cần thiết.

Mỗi quan hệ toàn cục có thể được chia thành các thành phần không trùng nhau, gọi là các phân mảnh Có nhiều phương pháp phân mảnh khác nhau, và ánh xạ từ các quan hệ toàn cục đến các phân mảnh được xác định trong lược đồ phân mảnh Phép ánh xạ này là một-nhiều, nghĩa là có nhiều phân mảnh tương ứng với một quan hệ toàn cục, nhưng chỉ có một quan hệ toàn cục ứng với mỗi phân mảnh Các phân mảnh được xác định bởi tên quan hệ toàn cục kèm theo chỉ mục phân mảnh, ví dụ R i chỉ phân mảnh thứ i của quan hệ toàn cục R.

Hình 2.1 Kiến trúc tham khảo cho một cơ sở dữ liệu

Các phân mảnh là thành phần của các quan hệ toàn cục được lưu trữ tại một hoặc nhiều địa điểm, với lược đồ cấp phát xác định vị trí của mỗi phân mảnh Kiểu ánh xạ trong lược đồ cục bộ quyết định tính dư thừa của cơ sở dữ liệu phân tán: ánh xạ một-nhiều cho thấy sự dư thừa, trong khi ánh xạ một-một không có dư thừa Tất cả các phân mảnh tương ứng với cùng một quan hệ toàn cục R và được lưu trữ tại địa điểm j tạo thành ảnh vật lý của R tại địa điểm đó Có một ánh xạ một-một giữa ảnh vật lý và cặp (quan hệ toàn cục, địa điểm), với các ảnh vật lý được chỉ định bằng tên quan hệ toàn cục và chỉ số địa điểm Để phân biệt các mảnh, sử dụng chỉ số mũ, ví dụ, Rj đại diện cho ảnh vật lý của quan hệ toàn cục R tại địa điểm j.

Hình 2.2 minh họa mối quan hệ giữa các kiểu đối tượng đã được định nghĩa Lược đồ quan hệ R được chia thành bốn phần: R1, R2, R3 và R4.

Bốn phân mảnh này được lưu trữ dư thừa tại ba địa điểm trên mạng máy tính, vì thế tạo ra ba ảnh vật lý R 1 , R 2 , R 3

Local database at site 1 Local database at site 2 schema

Chú thích dữ liệu bằng tên của quan hệ toàn cục cùng với hai chỉ số, bao gồm chỉ số phân mảnh và chỉ số địa điểm Ví dụ, trong hình 2.2, chú thích R 3 2 chỉ ra rằng có một bản sao của phân mảnh R 2 được lưu trữ tại địa điểm 3.

Hình 2.2 Các phân mảnh và các ảnh vật lý đối với một quan hệ toàn cục

Cuối cùng, hai ảnh vật lý bất kỳ có thể được phân biệt, và trong trường hợp này, một ảnh vật lý được coi là bản sao của ảnh vật lý khác Ví dụ, trong hình 2.2, R1 là bản sao của R2.

Kiến trúc tham khảo mô tả mối quan hệ giữa các đối tượng tại ba mức độc lập, không phụ thuộc vào mô hình dữ liệu của các hệ quản trị cơ sở dữ liệu cục bộ Ở mức thấp hơn, cần thực hiện ánh xạ các ảnh vật lý đến các đối tượng mà các hệ quản trị cơ sở dữ liệu cục bộ thao tác Ánh xạ này, được gọi là lược đồ ánh xạ cục bộ, phụ thuộc vào kiểu của hệ quản trị cơ sở dữ liệu cục bộ, dẫn đến việc trong hệ thống không đồng nhất có nhiều kiểu ánh xạ cục bộ tại các vị trí khác nhau.

R Ảnh vật lý Lược đồ phân mảnh

Lược đồ toàn cục trong kiến trúc phân tán tập trung vào ba yếu tố chính: tách biệt giữa phân mảnh và cục bộ hóa dữ liệu, kiểm soát sự dư thừa dữ liệu, và đảm bảo tính độc lập cho các hệ quản trị cơ sở dữ liệu cục bộ.

Sự tách biệt giữa quan niệm phân mảnh dữ liệu và quan niệm định vị dữ liệu giúp phân biệt hai mức độ khác nhau của sự trong suốt phân tán: sự trong suốt phân tán và sự trong suốt định vị Sự trong suốt phân tán là mức độ cao nhất, cho phép người sử dụng và lập trình viên làm việc trên các quan hệ toàn cục Ngược lại, sự trong suốt định vị yêu cầu họ làm việc trên các phân mảnh mà không cần biết vị trí lưu trữ của chúng Việc phân biệt hai khái niệm này rất quan trọng trong thiết kế cơ sở dữ liệu phân tán, giúp xác định các thành phần dữ liệu phù hợp từ bài toán định vị tối ưu.

Kiến trúc tham khảo cung cấp một phương pháp điều khiển tường minh cho sự dư thừa dữ liệu ở mức phân mảnh, giúp tối ưu hóa quản lý dữ liệu hiệu quả hơn.

2.2 hai ảnh vật lý R 2 2 và R 3 2 trùng lắp nghĩa là chúng chứa chung dữ liệu Định nghĩa các phân mảnh một cách tách biệt khi xây dựng các khối vật lý cho phép tham khảo tường minh đến từng phần trùng lắp này tức phân mảnh nhân bản R 2 Điều khiển sự dư thừa dữ liệu rất hữu dụng trong một số khía cạnh quản trị cơ sở dữ liệu phân tán.

Tính độc lập trong các hệ quản trị cơ sở dữ liệu cục bộ, được gọi là sự trong suốt ánh xạ cục bộ, cho phép nghiên cứu các vấn đề quản trị cơ sở dữ liệu mà không cần quan tâm đến mô hình dữ liệu cụ thể.

Sự trong suốt nhân bản là một khái niệm liên quan chặt chẽ đến sự trong suốt định vị, cho phép người sử dụng không nhận thấy sự nhân bản của các phân mảnh.

Hệ quản trị cơ sở dữ liệu phân tán hỗ trợ việc tạo và duy trì cơ sở dữ liệu phân tán.

Các hệ quản trị cơ sở dữ liệu phân tán hiện nay được phát triển từ các hệ quản trị cơ sở dữ liệu tập trung, với các thành phần bổ sung nhằm mở rộng khả năng của chúng Những thành phần này hỗ trợ truyền thông và cộng tác giữa các hệ quản trị cơ sở dữ liệu đặt tại các địa điểm khác nhau thông qua mạng máy tính Để xây dựng một cơ sở dữ liệu phân tán, cần thiết phải có các thành phần cơ bản phù hợp.

1 Thành phần quản trị cơ sở dữ liệu (DB Database Management)

2 Thành phần truyền dữ liệu (DC Data Communication)

3 Tự điển dữ liệu (DD (Data Dictionnary) mở rộng để biểu diễn thông tin về sự phân tán dữ liệu trên mạng.

4 Thành phần cơ sở dữ liệu phân tán (DDB Distributed Database)

Hình 2.3 Các thành phần của hệ quản trị cơ sở dữ liệu Các thành phần này được minh họa ở hình 2.3 đối với hai địa điểm trên mạng.

Các dịch vụ được hỗ trợ cho hệ thống trên thông thường là:

T T T T nhất và được cung cấp bởi tất cả các hệ thống có thành phần cơ sở dữ liệu phân tán.

Mức độ trong suốt của sự phân tán là yếu tố quan trọng, được hỗ trợ bởi nhiều hệ thống khác nhau, nhằm đạt được sự cân bằng tối ưu giữa tính trong suốt và hiệu suất.

Kiến trúc của hệ quản trị cơ sở dữ liệu phân tán

các hệ cơ sở dữ liệu phân tán và các phức hệ cơ sở dữ liệu.

2.3.1 Các hệ khách/chủ (Client/Server) Trong hệ khách/chủ, ta phân biệt chức năng cần được cung cấp và chia những chức năng này thành hai lớp: chức năng chủ, chức năng khách Nó cung cấp một kiến trúc hai mức, tạo dễ dàng cho việc quản lý mức độ phức tạp của các hệ quản trị cơ sở dữ liệu hiện đại và độ phức tạp của việc phân tán dữ liệu.

Nghiên cứu sự khác biệt giữa chức năng khách và chức năng chủ cho thấy rằng máy chủ thực hiện phần lớn công việc quản lý dữ liệu Tất cả các hoạt động như xử lý và tối ưu hóa thông tin, quản lý giao tác và thiết bị lưu trữ đều diễn ra tại máy chủ Trong khi đó, khách chỉ đảm nhận giao diện và ứng dụng, cùng với một module quản trị cơ sở dữ liệu, chịu trách nhiệm quản lý dữ liệu được gửi đến và đôi khi cũng quản lý các khoá chốt giao tác.

Kiến trúc khách/chủ, như thể hiện trong hình 2.5, là một mô hình phổ biến trong các hệ thống cơ sở dữ liệu quan hệ Trong kiến trúc này, khách hàng gửi các câu lệnh SQL đến máy chủ mà không cần tối ưu hóa chúng Máy chủ sẽ thực hiện hầu hết các tác vụ và trả về kết quả cho khách hàng.

2.3.2 Hệ quản trị cơ sở dữ liệu phân tán Chúnh ta bắt đầu mô tả kiến trúc này bằng cách xem xét hình ảnh tổ chức dữ liệu.

Tổ chức dữ liệu vật lý trên mỗi máy có thể khác nhau, do đó cần có lược đồ nội tại cục bộ (LIS) tại mỗi vị trí Hình ảnh của mô hình dữ liệu toàn cục được thể hiện qua lược đồ quan niệm toàn cục (GCS) Để giải quyết vấn đề nhân bản và phân mảnh, việc tổ chức logic của dữ liệu tại mỗi vị trí cần được mô tả thông qua lược đồ quan niệm cục bộ (LCS), là hợp của các quan niệm cục bộ Cuối cùng, các ứng dụng và truy xuất cơ sở dữ liệu được hỗ trợ bởi lược đồ ngoài (ES) Mô hình kiến trúc này được minh họa trong hình 2.6.

Hành Phần mềm truyền thông

Server Phần mềm truyền thông

Hệ Bộ điều khiển ngữ nghĩa dữ liệu

Bộ tối ưu hóa câu hỏi

Bộ quản lý giao tác Điều Bộ phục hồi

Bộ xử lý hỗ trợ run time Hành

Hình 2.5 Kiến trúc máy khách/chủ

Chúnh ta bắt đầu mô tả kiến trúc này bằng cách xem xét hình ảnh tổ chức dữ liệu.

Tổ chức dữ liệu vật lý trên mỗi máy có sự khác biệt, do đó cần có lược đồ nội tại cục bộ (LIS) tại mỗi vị trí Hình ảnh của mô hình dữ liệu toàn cục được thể hiện qua lược đồ quan niệm toàn cục (GCS) Để giải quyết vấn đề nhân bản và phân mảnh, việc tổ chức logic của dữ liệu tại mỗi vị trí cần được mô tả thông qua lược đồ quan niệm cục bộ (LCS).

Trong mô hình kiến trúc cơ sở dữ liệu, lược đồ quan niệm toàn cục được hình thành từ sự kết hợp của các quan niệm cục bộ Các ứng dụng và truy xuất cơ sở dữ liệu được thực hiện thông qua lược đồ ngoài ES Mô hình kiến trúc này được minh họa trong hình 2.6.

ES 1 ES 2 ES n ES : External Schema

GCS GCS : Global Conceptual schema LCS 1 LCS 2 LCS n Local Conceptual Schema

LiS 1 LiS 2 LiS 3 Local internal Schema

Hình 2.6 Kiến trúc tham khảo cơ sở dữ liệu phân tán

Hệ quản trị cơ sở dữ liệu phân tán bao gồm hai thành phần chính: bộ phận giao tiếp người sử dụng (user processor) và bộ phận xử lý dữ liệu (data processor), như được minh họa trong hình 2.7.

Các thành phần của bộ phận giao tiếp người sử dụng gồm:

Bộ phận giao tiếp, hay còn gọi là user interface handler, có vai trò quan trọng trong việc dịch các câu lệnh từ người sử dụng và định dạng dữ liệu kết quả để gửi lại cho họ Đồng thời, nó cũng đảm nhận việc kiểm tra các ràng buộc toàn vẹn và thông tin quyền hạn, được xác định trong lược đồ quan niệm toàn cục, nhằm đảm bảo rằng các câu truy vấn được xử lý một cách chính xác và hiệu quả.

Bộ phận phân rã và tối ưu hoá vấn tin toàn cục đóng vai trò quan trọng trong việc giảm thiểu chi phí bằng cách chuyển đổi các câu vấn tin toàn cục thành các câu vấn tin cục bộ Quá trình này sử dụng các lược đồ quan niệm toàn cục và cục bộ cùng với thư mục toàn cục Ngoài ra, bộ phận này còn đảm nhiệm việc tạo ra chiến lược thực thi tối ưu nhằm hỗ trợ việc kết nối phân tán hiệu quả.

Bộ phận giám sát hoạt động phân tán, hay còn gọi là bộ quản lý giao tác phân tán, có vai trò quan trọng trong việc điều phối thực hiện các yêu cầu của người sử dụng một cách phân tán.

Thành phần chủ yếu thứ hai của hệ quản trị cơ sở dữ liệu phân tán là bộ xử lý dữ liệu (data processor), bao gồm các thành phần:

Bộ phận tối ưu hóa truy vấn cục bộ (local query optimizer) đóng vai trò quan trọng trong việc chọn lựa đường truy xuất dữ liệu, giúp xác định đường đi hiệu quả nhất để truy xuất các mục dữ liệu cần thiết.

Bộ phận khôi phục cục bộ (local recovery manager) đóng vai trò quan trọng trong việc duy trì tính nhất quán cho các cơ sở dữ liệu cục bộ, ngay cả khi xảy ra sự cố.

Bộ phận hỗ trợ lúc thực thi, hay còn gọi là run-time support processor, có nhiệm vụ truy xuất cơ sở dữ liệu dựa trên các lệnh trong lịch biểu do bộ phận tối ưu vấn tin tạo ra Đây là bộ giao tiếp chính với hệ điều hành, bao gồm bộ quản lý vùng đệm cơ sở dữ liệu, chịu trách nhiệm quản lý vùng đệm và việc truy xuất dữ liệu, nhằm đáp ứng yêu cầu của người dùng trong hệ thống.

Bộ điều khiển giao tiếp User

ES bộ điều khiển ngữ nghiã dữ liệu

Bộ tối ưu hóa Câu hỏi toàn cục

Thực thi toàn cục Từ điển dữ liệu

Hình 2.7 Kiến trúc của hệ quản trị cơ sở dữ liệu phân tán

Bộ xử lý Câu hỏi cục bộ

Bộ quản lý phục hồi cục bộ

Bộ xử lý hỗ trợ thời ian chạ

LCS nhật ký hệ thống LiS

Bộ xử lý dữ liệu

THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 20

Các vấn đề về thiết kế cơ sở dữ liệu phân tán

Để đạt được hiệu quả trong việc phân mảnh, việc lựa chọn một đơn vị phân mảnh phù hợp là điều cần thiết Cần lưu ý rằng một quan hệ không thể được coi là một đơn vị đáp ứng các yêu cầu này.

Khung nhìn của các ứng dụng thường chỉ bao gồm một tập con của quan hệ, do đó, đơn vị truy xuất không phải là toàn bộ quan hệ mà chỉ là các tập con Vì vậy, việc xem các tập con này như là đơn vị phân tán là phương pháp phù hợp nhất.

Khi các ứng dụng có khung nhìn định nghĩa trên một quan hệ nằm ở các vị trí khác nhau, có hai lựa chọn cho đơn vị phân tán: toàn bộ quan hệ hoặc quan hệ không được nhân bản Lựa chọn đầu tiên có thể dẫn đến nhiều truy xuất không cần thiết đến dữ liệu xa, trong khi lựa chọn thứ hai có thể gây ra việc nhân bản không cần thiết và vấn đề trong cập nhật, đồng thời lãng phí không gian lưu trữ Do đó, phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện nhiều giao tác đồng thời.

Việc phân mảnh các quan hệ cho phép thực hiện song song nhiều câu truy vấn bằng cách chia chúng thành các câu truy vấn con hoạt động trên từng mảnh Điều này không chỉ tăng cường mức độ hoạt động song hành mà còn nâng cao lưu lượng hoạt động của hệ thống.

Tuy nhiên cũng cần chỉ rõ những khiếm khuyết của việc phân mảnh:

- Nếu ứng dụng cần phải truy xuất dữ liệu từ hai mảnh rồi nối hoặc hợp chúng lại thì chi phí rất cao.

Vấn đề thứ hai liên quan đến tính toàn vẹn dữ liệu là do phân mảnh, các thuộc tính tham gia vào một phụ thuộc hàm có thể bị phân tán ra nhiều mảnh khác nhau và được lưu trữ ở các vị trí khác nhau Điều này dẫn đến việc kiểm tra các phụ thuộc hàm cần phải truy xuất dữ liệu từ nhiều vị trí, gây khó khăn trong việc duy trì tính toàn vẹn của dữ liệu.

Có ba kiểu phân mảnh chính bao gồm phân mảnh theo chiều dọc, phân mảnh theo chiều ngang và phân mảnh hỗn hợp, sẽ được giải thích chi tiết ở phần sau.

3.1.2.1 Phân mảnh ngang Phân mảnh ngang chia một quan hệ theo các bộ Vì vậy mỗi mảnh là một tập con của quan hệ Có hai loại phân mảnh ngang: phân mảnh ngang nguyên thủy và phân mảnh ngang dẫn xuất.

Phân mảnh ngang nguyên thủy (primary horizontal fragmentation) là sự phân mảnh một quan hệ dựa trên một vị từ được định nghĩa trên một quan hệ.

Phân mảnh ngang dẫn xuất (derived horizontal fragmentation) là phân rã một quan hệ dựa vào các vị từ được định nghĩa trên một quan hệ khác.

Trước khi trình bày thuật toán hình thức cho phân mảnh ngang, chúng ta sẽ thảo luận một cách trực quan về quá trình phân mảnh.

Cho quan hệ R, các mảnh ngang R ilà :

R i =σ Fi (R) Trong đó F i là công thức chọn để có được mảnh R i F i có dạng chuẩn hội.

Ví dụ: xét lược đồ quan hệ toàn cục :

SUPPLIER(SNUM,NAME,CITY)Chúng ta có thể có hai phân mảnh ngang sau:

SUPPLIER 1 =σ CITY= “SF” (SUPPLIER) SUPPLIER 1 =σ CITY= “LA” (SUPPLIER)

Sự phân mảnh chỉ xảy ra đầy đủ khi "SF" và "LA" là những giá trị duy nhất của thuộc tính CITY; nếu không, chúng ta sẽ không xác định được các mảnh tương ứng với những giá trị CITY khác.

- Điều kiện tái thiết được kiểm tra dễ dàng vì chúng ta luôn luôn có thể tái thiết lại quan hệ toàn cục SUPPLIER bằng phép toán hội:

- Điều kiện tách biệt cũng được kiểm tra một cách rõ ràng.

3.1.2.2 Phân mảnh ngang dẫn xuất Trong một số trường hợp sự phân mảnh ngang được dẫn ra từ một phân mảnh ngang của một quan hệ khác.

Ví dụ: Một quan hệ toàn cục

SUPPLY(SNUM, PNUM, DEPTNUM, QUAN)

Mã số người cung cấp (SNUM) được sử dụng để phân chia quan hệ, nhằm tạo ra các bộ cho những nhà cung cấp ở một thành phố cụ thể Tuy nhiên, thành phố không phải là thuộc tính của quan hệ SUPPLY mà thuộc về quan hệ SUPPLIER Do đó, cần thực hiện phép kết để xác định các bộ liên quan.

SUPPLY tướng ứng với những người cung cấp trong một thành phố cho trước Sự phân mảnh dẫn xuất của SUPPLY có thể được định nghĩa như sau:

SUPPLY 1 = SUPPLY ►< SUPPLIER 1 SUPPLY 2 = SUPPLY ►< SUPPLIER 2

Với ►< là phép toán nửa kết (Semi Join)

- Tính tái thiết quan hệ toàn cục SUPPLY có thể được thể hiện qua phép hội.

Sự đầy đủ của phân mảnh yêu cầu rằng mã số người cung cấp phải không có trong quan hệ SUPPLY nhưng lại không tồn tại trong quan hệ SUPPLIER Đây là một ràng buộc toàn vẹn về khoá ngoại trong cơ sở dữ liệu.

Điều kiện tách biệt được đáp ứng khi một bộ trong quan hệ SUPPLY không tương ứng với hai bộ của quan hệ SUPPLIER thuộc về hai mảnh khác nhau Trường hợp này dễ dàng kiểm tra do mã số người cung cấp là khoá duy nhất của quan hệ.

SUPPLIER; tuy nhiên, trong trường hợp tổng quát thì khó có thể chứng minh điều kiện này hơn.

Sự phân mảnh dọc của một quan hệ toàn cục là quá trình chia các thuộc tính thành nhiều nhóm, trong đó mỗi nhóm nhận được một phần của quan hệ toàn cục Để phân mảnh này hợp lệ, mỗi thuộc tính phải được ánh xạ vào ít nhất một thuộc tính của các phân mảnh và có thể tái thiết lại quan hệ nguyên thủy thông qua việc kết nối các phân mảnh Đặc biệt, mỗi phân mảnh dọc cần chứa khóa của quan hệ toàn cục Có hai loại phân mảnh dọc: phân mảnh dọc dư thừa và phân mảnh dọc không dư thừa.

Phân mảnh dọc dư thừa (redundant fragmentation):

Phân mảnh dọc dư thừa là các phân mảnh dọc chứa một hoặc nhiều thuộc tính chung không khóa.

Quan hệ toàn cục nhân viên (EMP) bao gồm các thông tin quan trọng như mã nhận viên (EMPNUM), tên nhân viên (NAME), lương (SAL), thuế thu nhập (TAX), mã nhà quản lý (MNRNUM) và mã phòng ban (DEPTNUM) mà nhân viên đang làm việc.

EMP(EMPNUM, NAME, SAL, TAX, MNRNUM, DEPTNUM)

Quan hệ toàn cục này được phân mảnh dọc dư thừa (thuộc tính NAME ) như sau :

EMP1 = ΠEMPNUM, NAME, MGRNUM, DETPNUM (EMP)

EMP2 = ΠEMPNUM, NAME ,SAL, TAX (EMP)

Phân mảnh dọc không dư thừa (non-redundant fragmentation):

Phân mảnh dọc không dư thừa là các phân mảnh dọc không chứa thuộc tính chung không khóa nào cả.

Ví dụ : Quan hệ toàn cục :

EMP(EMPNUM, NAME, SAL, TAX, MNRNUM, DEPTNUM)

Quan hệ toàn cục này được phân mảnh dọc không dư thừa (thuộc tính ) như sau :

EMP1 = ΠEMPNUM, NAME, MGRNUM, DETPNUM (EMP)

EMP2 = ΠEMPNUM, SAL, TAX(EMP)

Phân mảnh này phản ánh lương và thuế của các nhân viên được quan lý riêng Việc tái thiết lại quan hệ EMP có thể nhận được từ :

EMP = EMP1JNN EMP2 (với JNN là phép kết nối tự nhiên hai quan hệ)

Khóa EMPNUM là yếu tố quan trọng trong quan hệ EMP, và việc tích hợp khóa toàn cục vào từng phần là phương pháp hiệu quả nhất để đảm bảo tính tái thiết của dữ liệu.

Từ đó chúng ta thấy sự phân mảnh cũng thỏa tính đầy đủ và tính tách biệt.

Ví dụ : Xét quan hệ toàn cục

EMP(EMPNUM, NAME, SAL, TAX, MNRNUM, DEPTNUM)

Một sự phân mảnh dọc của quan hệ này được định nghĩa:

EMP 1 =πEMPNUM, NAME, MGRNUM, DETPNUM(EMP) EMP2=πEMPNUM, SAL, TAX(EMP)

Phân mảnh này phản ánh lương và thuế của các nhân viên được quan lý riêng Việc tái thiết lại quan hệ EMP có thể nhận được từ :

EMP = EMP1JNN EMP2 (với JNN là phép kết nối tự nhiên hai quan hệ)

Khóa EMPNUM đóng vai trò quan trọng trong mối quan hệ EMP, và việc tích hợp khóa toàn cục vào từng mảnh là phương pháp hiệu quả nhất để đảm bảo tính tái thiết của dữ liệu.

Từ đó chúng ta thấy sự phân mảnh cũng thỏa tính đầy đủ và tính tách biệt.

Thiết kế phân mảnh

Thiết kế cơ sở dữ liệu tập trung tập trung vào hai vấn đề chính, bao gồm việc quản lý dữ liệu một cách hiệu quả và đảm bảo tính bảo mật cho thông tin Dữ liệu phân tán cần được xem xét kỹ lưỡng để tránh những rủi ro liên quan đến việc lưu trữ và truy xuất thông tin.

Thiết kế lược đồ quan niệm: lược đồ cơ sở dữ liệu mô tả các thông tin và mối quan hệ của chúng cần lưu trữ;

Thiết kế cơ sở dữ liệu vật lý là quá trình ánh xạ lược đồ quan niệm vào các vùng lưu trữ vật lý, đồng thời xác định các phương pháp truy xuất dữ liệu hiệu quả.

Trong cơ sở dữ liệu phân tán, hai vấn đề chính cần giải quyết là thiết kế lược đồ phổ quát và thiết kế các cơ sở dữ liệu cục bộ tại mỗi site Sự phân tán của cơ sở dữ liệu không chỉ làm gia tăng những vấn đề này mà còn tạo ra hai thách thức mới.

Thiết kế sự phân tán, nghĩa là xác định các quan hệ phổ quát được phân mảnh ngang, dọc hay hỗn hợp như thế nào?

Thiết kế sự cấp phát các phân mảnh liên quan đến việc xác định cách các phân mảnh được ánh xạ đến các ảnh vật lý, bao gồm cả việc xác định sự nhân bản dữ liệu.

Vấn đề mới này hoàn toàn phản ánh thiết kế phân tán dữ liệu, trong đó thiết kế phân mảnh được coi là tiêu chuẩn luận lý, trong khi thiết kế cấp phát tập trung vào việc tổ chức dữ liệu vật lý tại các địa điểm khác nhau.

Mặc dù thiết kế chương trình ứng dụng được thực hiện sau khi lược đồ được xây dựng, nhưng hiểu rõ các yêu cầu của ứng dụng lại rất quan trọng, vì lược đồ cần phải hỗ trợ hiệu quả cho các ứng dụng này Các yêu cầu của ứng dụng là yếu tố quyết định trong quá trình thiết kế lược đồ.

Site mà ứng dụng được đưa ra (còn được gọi là site gốc của ứng dụng)

Tần số hoạt động của ứng dụng, tức là số lượng yêu cầu hoạt động trong một khoảng thời gian nhất định, là yếu tố quan trọng cần xem xét Trong bối cảnh các ứng dụng có thể phát sinh từ nhiều trang web khác nhau, việc xác định tần số hoạt động của từng ứng dụng tại mỗi trang là cần thiết để tối ưu hóa hiệu suất và quản lý tài nguyên hiệu quả.

Số lượng, kiểu và sự thống kê phân tán của các truy xuất được tạo bởi các ứng dụng đến mỗi đối tượng dữ liệu được yêu cầu.

3.2.1 Các mục tiêu của việc thiết kế phân tán dữ liệu

Mục tiêu của việc phân tán dữ liệu là tối ưu hóa khả năng truy xuất dữ liệu cục bộ cho các ứng dụng, nhằm giảm thiểu số lượng truy xuất dữ liệu từ xa.

Thiết kế phân tán dữ liệu nhằm tối ưu hóa truy xuất cục bộ có thể đạt được bằng cách tăng cường số lượng tham khảo cục bộ và tham khảo từ xa cho từng phân mảnh dự tuyển và cấp phát phân mảnh, từ đó lựa chọn giải pháp tối ưu nhất.

Tính sẵn sàng và khả tín của dữ liệu phân tán là những ưu điểm nổi bật so với cơ sở dữ liệu tập trung Để đảm bảo mức độ sẵn sàng cao cho các ứng dụng chỉ đọc, hệ thống lưu trữ nhiều bản sao của thông tin, cho phép chuyển đổi sang bản sao thích hợp khi một bản sao không thể truy xuất Đồng thời, độ khả tín cũng được nâng cao thông qua việc lưu trữ nhiều bản sao, giúp hệ thống phục hồi nhanh chóng khi một số bản sao bị hỏng.

Sự phân bố tải là một yếu tố quan trọng trong các hệ thống máy tính phân tán, giúp tối ưu hóa sức mạnh của việc sử dụng nhiều máy tính Mục tiêu của việc phân tán này là tối đa hóa khả năng xử lý song song các lệnh thực thi của ứng dụng, từ đó nâng cao hiệu suất tổng thể của hệ thống.

Vì sự phân bố tải có thể ảnh hưởng xấu đến sự truy xuất cục bộ nên cần xem xét để cân bằng hai mục tiêu này.

Chi phí lưu trữ dữ liệu phản ánh sự phân tán của cơ sở dữ liệu tại các vị trí khác nhau Mặc dù chi phí này không lớn so với chi phí xuất nhập và chi phí truyền thông của các ứng dụng, nhưng cần phải xem xét kỹ lưỡng giới hạn của bộ lưu trữ.

3.2.2 Các tiếp cận để thiết kế sự phân tán dữ liệu

Có hai cách tiếp cận cho sự thiết kế cơ sở dữ liệu: tiếp cận từ trên - xuống và tiếp cận từ dưới - lên.

Trong phương pháp tiếp cận từ trên xuống, chúng ta bắt đầu bằng cách thiết kế lược đồ phổ quát, tiếp theo là thiết kế sự phân mảnh của cơ sở dữ liệu, và cuối cùng là phân bổ các mảnh dữ liệu đến các site, tạo ra các bản sao vật lý của chúng.

Cách tiếp cận này tối ưu cho việc phát triển hệ thống từ đầu, cho phép thiết kế một cách hợp lý Chương này sẽ không đề cập đến lược đồ phổ quát và lược đồ vật lý, mà tập trung vào thiết kế phân mảnh và cấp phát các phân mảnh trong cơ sở dữ liệu phân tán.

Khi phát triển cơ sở dữ liệu phân tán từ các cơ sở dữ liệu hiện có, việc áp dụng phương pháp tiếp cận từ trên - xuống gặp nhiều khó khăn Trong tình huống này, lược đồ phổ quát thường được hình thành thông qua sự thoả hiệp giữa các mô tả dữ liệu có sẵn.

Từ đó cách tiếp cận từ dưới-lên có thể được sử dụng để thiết kế sự phân tán dữ liệu.

Cách thiết kế từ dưới lên yêu cầu:

Chọn một mô hình cơ sở dữ liệu chung để mô tả lược đồ phổ quát của cơ sở dữ liệu.

Chuyển dịch mỗi lược đồ cục bộ vào trong mô hình dữ liệu chung.

Tổ hợp lại lược đồ cục bộ vào trong lược đồ phổ quát chung.

Sự cấp phát các phân mảnh

Giả sử đã có một tập các mảnh F={F1, F2, ,Fn} và một mạng bao gồm các vị trí

S={S 1 , S 2 , ,S m } trên đó có một tập các ứng dụng Q={q 1 , q 2 , ,q q } đang chạy.

Bài toán cấp phát là tìm một phân phối “tối ưu” của F cho S.

Tính tối ưu có thể được định nghĩa ứng với hai số đo:

- Chi phí nhỏ nhất:Hàm chi phí có chi lưu mảnh F i vào vị trí S j , chi phí vấn tin mảnh

Khi đưa F i vào vị trí S j, cần tính toán chi phí cập nhật F i tại tất cả các vị trí chứa nó và chi phí truyền dữ liệu Do đó, bài toán cấp phát hướng tới việc tìm kiếm một lược đồ cấp phát tối ưu với hàm chi phí tổ hợp nhỏ nhất.

Chiến lược cấp phát được tối ưu hóa nhằm nâng cao hiệu suất hệ thống, giảm thiểu thời gian phản hồi và tối đa hóa lưu lượng tại từng vị trí.

Nói chung bài toán cấp phát tổng quát là một bài toán phức tạp và có độ phức tạp là

NP-đầy đủ (NP-complete) Vì thế các nghiên cứu đã được dành cho việc tìm ra các thuật giải heuristec tốt để có lời giải gần tối ưu.

3.3.2 Yêu cầu về thông tin Ở giai đoạn cấp phát, chúng ta cần các thông tin định lượng về CSDL, về các ứng dụng chạy trên đó, về cấu trúc mạng, khả năng xử lý và giới hạn lưu trữ của mỗi vị trí trên mạng.

CSDL Độ tuyển của một mảnh F j liên quan đến câu truy vấn q i, thể hiện số lượng bộ dữ liệu của F j cần được truy xuất để xử lý câu hỏi này Giá trị này được ký hiệu là seli(F j).

Kích thước của một mảnh F jđược cho bởi

Size (F j) = card (F j)* length(F j) Trong đó: Length(F j) là chiều dài (tính theo byte) của một bộ trong mảnh F j.

Thông tin về ứng dụng

Hai số liệu quan trọng trong quá trình truy xuất dữ liệu là số lượng truy xuất đọc (RR ij) và số lượng truy xuất cập nhật (UR ij) do câu truy vấn thực hiện trên mảnh F j trong mỗi lần chạy Những số liệu này có thể được sử dụng để đếm số truy xuất khối cần thực hiện theo yêu cầu của câu truy vấn.

Chúng ta định nghĩa hai ma trận UM và RM với các phần tử tương ứng u ij và r ij được đặc tả tương ứng như sau:

1 nếu vấn tin q i có cập nhật mảnh F j uij= 0 trong trường hợp ngược lại

1 nếu vấn tin qicó cập nhật mảnh F j r ij = 0 trong trường hợp ngược lại

Một véctơ O gồm các giá trị o(i) cũng được định nghĩa, với o(i) đặc tả vị trí đưa ra câu vấn tin qi.

Thông tin về vị trí

Mỗi trạm cần được đánh giá về khả năng lưu trữ và xử lý thông tin Những giá trị này có thể được tính toán thông qua các hàm phù hợp hoặc bằng các phương pháp đánh giá đơn giản.

+ Chi phí đơn vị tính để lưu dữ liệu tại vị trí S k sẽ được ký hiệu là USC k

Chi phí LPC k được định nghĩa là chi phí để xử lý một đơn vị công việc tại vị trí S k Để đảm bảo tính chính xác, đơn vị công việc này cần phải tương thích với đơn vị của RR và UR.

Giả sử có một mạng đơn giản, trong đó gij biểu thị chi phí truyền mỗi bó dữ liệu giữa hai vị trí S i và S j Để tính toán số lượng thông báo, chúng ta sử dụng fsize để xác định kích thước (tính theo byte) của một bó dữ liệu.

Mô hình cấp phát nhằm giảm thiểu chi phí tổng thể trong việc xử lý và lưu trữ dữ liệu, đồng thời đảm bảo đáp ứng các yêu cầu về thời gian phản hồi.

Min (Total Cost) ứng với ràng buộc thời gian đáp ứng, ràng buộc lưu trữ, ràng buộc xử lý.

Biến quyết định x ij được định nghĩa là

1 nếu mảnh Fiđược lưu tại vị trí S j xij= 0 trong trường hợp ngược lại

Hàm tổng chi phí có hai thành phần: phần xử lý vấn tin và phần lưu trữ Vì thế nó có thể được biểu diễn là:

∀ qi ∈ Q ∀ Sk ∈ S ∀ Fj ∈ F với QPC i là chi phí xử lý câu vấn tin ứng dụng q i , và STC jk là chi phí lưu mảnh F j tại vị trí Sk

Chúng ta hãy xét chi phí lưu trữ trước Nó được cho bởi

STC jk = USCk * size(F j) *x jk

Chi phí xử lý vấn tin là một yếu tố quan trọng nhưng khó xác định, thường được phân tách thành chi phí xử lý chỉ đọc và chi phí xử lý chỉ cập nhật trong các mô hình cấp phát tập tin FAP Tuy nhiên, trong mô hình DAP, chúng tôi đã áp dụng một cách tiếp cận khác, xác định chi phí xử lý vấn tin bao gồm chi phí xử lý (PC) và chi phí truyền (TC) Do đó, chi phí xử lý vấn tin QPC cho ứng dụng q i được tính toán dựa trên hai thành phần này.

Thành phần xử lý PC bao gồm ba hệ số chi phí quan trọng: chi phí truy xuất AC, chi phí duy trì toàn vẹn IE và chi phí điều khiển đồng thời CC.

Mỗi hệ số chi phí được xác định dựa trên thuật toán sử dụng để thực hiện các tác vụ, nhưng trong bài viết này, chúng tôi sẽ tập trung mô tả chi tiết về hệ số AC.

AC i = ∑ ∑(u ij *UR ij +r ij *RR ij )* x jk *LPC k

Trong công thức trên, hai số hạng đầu tính toán số truy xuất của thông tin q_i đến mảnh F_j, với (UR_ij + RR_ij) đại diện cho tổng số truy xuất đọc và cập nhật Chúng ta giả định rằng chi phí xử lý cho cả hai loại truy xuất này là như nhau Ký hiệu tổng thể chỉ ra tổng số truy xuất cho tất cả các mảnh mà q_i tham chiếu Khi nhân với LPC_k, chúng ta sẽ có chi phí của truy xuất tại vị trí đó.

S k Chúng ta lại dùng x jk để chỉ chọn các giá trị chi phí cho các vị trí có lưu các mảnh.

Một khía cạnh quan trọng cần lưu ý là hàm chi phí truy xuất giả định rằng quá trình xử lý một câu truy vấn bao gồm việc phân tách nó thành các truy vấn con, hoạt động trên một mảnh dữ liệu được lưu trữ tại vị trí đó, và sau đó là việc truyền kết quả trở lại vị trí đã gửi truy vấn.

Hệ số chi phí duy trì tính toàn vẹn tương tự như thành phần xử lý, nhưng cần điều chỉnh chi phí xử lý cục bộ của một đơn vị để phản ánh chính xác chi phí thực tế cho việc duy trì tính toàn vẹn.

SỰ TRONG SUỐT PHÂN TÁN 67

TỐI ƯU HÓA TRUY VẤN PHÂN TÁN 83 5.1 Biểu thức chuẩn tắc của truy vấn

CÁC HỆ CƠ SỞ DỮ LIỆU 166

Ngày đăng: 17/03/2022, 21:27

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w