Bài toán cấp phát

Một phần của tài liệu bài giảng cơ sở dữ liệu nâng cao (Trang 81 - 83)

2. Thiết kế cơ sở dữ liệu phân tán

2.4.1.Bài toán cấp phát

Giả sử có tập các mảnh FF = {F1, ... , Fn} và mạng bao gồm các vị trí SS = {S1,... , Sm} trên ñó có tập ứng dụng QQ = {q1 ,..., ql } ñang chạy.

Bài toán cấp phát (allocation problem) là tìm phân phối tối ưu của FF cho SS.

Một trong các ñiểm quan trọng là ñịnh nghĩa khái niệm tối ưu (optimality).

Khái niệm tối ưu có thểñịnh nghĩa ứng với hai sốño:

(1) Chi phí nhỏ nhất: Hàm chi phí gồm có chi phí lưu mỗi mảnh Fi tại vị trí Sj, chi phí vấn tin Fi tại vị trí Sj , chi phí cập nhật Fi tại tất cả mọi vị trí chứa nó và chi phí truyền dữ liệu. Bài toán cấp phát cố gắng tìm lược ñồ cấp phát với hàm chi phí tổ hợp thấp nhất.

(2) Hiệu năng: Chiến lược cấp phát ñược thiết kế nhằm duy trì hiệu năng hữu lượng. Các chiến lược ñã biết là hạ thấp thời gian ñáp ứng và tăng tối ña lưu lượng hệ thống tại mỗi vị trí.

Một lược ñồ cấp phát hoàn hảo là trả lời câu vấn tin trong thời gian ngắn nhất mà vẫn duy trì chi phí xử lý thấp nhất. Do tính phức tạp của bài toán, nên người ta mới chỉ giải quyết những trường hợp ñơn giản.

Chúng ta xét một trường hợp ñơn giản. Cố ñịnh mảnh F ∈FF. Chúng ta ñưa ra một số giả thiết và ñịnh nghĩa nhằm mô hình hoá bài toán cấp phát này.

(1) Giả sử có thể sửa ñổi QQ ñể xác ñịnh ñược các vấn tin cập nhật (update query) và vấn tin chỉ ñọc (retrieval-only query), và ñể ñịnh nghĩa các ñại

lượng sau ñây cho mảnh F

T = {t1,...,tm}

với ti là lưu lượng chỉñọc ñược sinh ra tại Si cho mảnh F và U = {u1,...,um}

SS S I

I

với ui là lưu lượng cập nhật ñược sinh ra tại Si cho mảnh F .

(2) Giả sử chi phí truyền giữa hai vị trí Si và Sj là cố ñịnh với mỗi ñơn vị

truyền. Ngoài ra cũng giả sử rằng chúng khác nhau khi cập nhật và khi truy

xuất chỉñọc. Ta ñịnh nghĩa

cij là chi phí truyền 1 ñơn vịñối với các yêu cầu chỉñọc giữa vị trí Si và Sj (i,j=1, ..., m);

c’ij là chi phí truyền 1 ñơn vịñối với các yêu cầu cập nhật giữa vị trí Si

Sj (i, j=1, ..., m); và ký hiệu C(T) = {c12, ..., c1m , ..., cm1,m } C’(U) = {c’12, ..., c’1m , ..., c’m 1,m } (3) Gọi chi phí lưu trữ mảnh F tại vị trí Si là di và ký hiệu D = {d1, ..., dm}

(4) Giả thiết không có ràng buộc về khả năng lưu trữ cho các vị trí hoặc cho các ñường truyền.

Khi ñó bài toán cấp phát có thể ñược ñặc tả là bài toán cực tiểu hoá chi phí, trong ñó ta tìm tập I ⊆ SS các vị trí lưu các bản sao của mảnh F. Ký hiu xi

biến quyết ñịnh (decision variable) chọn nơi ñặt sao cho

xi = 1, nếu F phân cho Si

0, nếu ngược lại

Bài toán cấp phát ñược phát biểu chính xác như sau

min  m     ' min  ∑ ∑x ju j c ij + ti cij +∑x j d j i =1 S j I j S j I

Số hạng thứ nhất tương ứng với chi phí truyền các cập nhật từ các vị trí (Si)

ñến mọi vị trí có giữ bản sao của mảnh F và với chi phí thực hiện các yêu cầu chỉñọc tại vị trí ñó (Si ) nhưng với chi phí truyền dữ liệu thấp nhất. Số hạng thứ (adsbygoogle = window.adsbygoogle || []).push({});

hai tính tổng chi phí lưu tất cả bản sao của mảnh F.

Cách ñặt vấn ñề hết sức ñơn giản và không phù hợp lắm với thực tế thiết kế cơ

sở dữ liệu phân tán. ðây thực chất là mô hình bài toán cấp phát tập tin - FAP (file allocation problem) cho mạng máy tính. ðể phân biệt với bài toán trên, ta gọi bài toán cấp phát mảnh trong thiết kế cơ sở dữ liệu phân tán là bài toán cấp phát cơ sở dữ liệu - DAP (database allocation problem). Trong thực tế, vì bài toán quá phức tạp nên ta chỉ nghiên cứu các phương pháp heuristic ñể tìm lời giải gần tối ưu.

Một phần của tài liệu bài giảng cơ sở dữ liệu nâng cao (Trang 81 - 83)