q k∈ Q(Ai, Aj) l∈ Rl
3.3. Phân mảnh hổn hợp
Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ CSDL không đủ đáp ứng các yêu cầu từ ứng dụng. Trong trường hợp đó phân mảnh dọc có thể thực hiện sau một số mảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây. Bởi vì hai chiến lược này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp.
R23R1 R1 R2 R H H R11 R12 R21 R22 V V V
4. Cấp phát
- Bài toán cấp phát
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={S1, S2, ...,Sm} trên đó có một tập các ứng dụng Q={q1, q2, ...,qq} đ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 Fi vào vị trí Sj, chi phí vấn tin mảnh
Fi vào vị trí Sj, chi phí cập nhật Fi tại tất cả mọi vị trí có chứa nó và chi phí tryền dữ liệu. Vì thế bài toán cấp phát cố gắng tìm một lược đồ cấp phát với hàm chi phí tổ hợp nhỏ nhất.
Hiệu năng: Chiến lược cấp phát được thiết kế nhằm duy trì một hiệu quả lớn đó 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í.
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.
- Yêu cầu về thông tin
- Mô hình cấp phát
Mô hình cấp phát có mục tiêu làm giảm thiểu tổng chi phí xử lý và lưu trữ dữ liệu trong khi vẫn cố gắng đáp ứng được các đòi hỏi về thời gian đáp ứng. Mô hình của chúng ta có hình thái như sau:
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 xij được định nghĩa là
1 nếu mảnh Fi được lưu tại vị trí Sj
xij=
0 trong trường hợp ngược lại
Tổng chi phí
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à:
TOC= ∑ QPCi + ∑ ∑ STCjk
với QPCi là chi phí xử lý câu vấn tin ứng dụng qi, và STCjk là chi phí lưu mảnh Fj tại vị trí Sk. Chúng ta hãy xét chi phí lưu trữ trước. Nó được cho bởi
STCjk = USCk * size(Fj) *xjk
Chi phí xử lý vấn tin khó xác định hơn. Hầu hết các mô hình cho bài toán cấp phát tập tin FAP tách nó thành hai phần: Chi phí xử lý chỉ đọc và chi phí xử lý chỉ cập nhật. Ở đây chúng tỗi đã chọn một hướng tiếp cận khác trong mô hình cho bài toán DAP và xác định nó như là chi phí xử lý vấn tin bao gồm chi phí xử lý là PC và chi phí truyền là TC. Vì thế chi phí xử lý vấn tin QPC cho ứng dụng qi là
QPCi=PCi+TCi
Thành phần xử lý PC gồm có ba hệ số chi phí, 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:
PCi=ACi+IEi+CCi
Mô tả chi tiết cho mỗi hệ số chi phí phụ thuộc vào thuật toán được dùng để hoàn tất các tác vụ đó. Tuy nhiên để minh hoạ chúng tôi sẽ mô tả chi tiết về AC:
ACi= ∑ ∑(uij*URij+rij*RRij)* xjk*LPCk
∀Sk∈S ∀Fj∈F
Hai số hạng đầu trong công thức trên tính số truy xuất của vấn tin qi đến mảnh Fj. Chú ý rằng (URij+RRij) là tổng số các truy xuất đọc và cập nhật. Chúng ta giả thiết rằng các chi phí xử lý chúng là như nhau. Ký hiệu tổng cho biết tổng số các truy xuất cho tất cả mọi mảnh được qi tham chiếu. Nhân với LPCk cho ra chi phí của truy xuất này tại vị trí Sk. Chúng ta lại dùng xjk để chỉ chọn các giá trị chi phí cho các vị trí có lưu các mảnh.
Một vấn đề rất quan trọng cần đề cập ở đây. Hàm chi phí truy xuất giả sử rằng việc xử lý một câu vấn tin có bao gồm cả việc phân rã nó thành một tập các vấn tin con hoạt tác trên một mảnh được lưu tại vị trí đó, theo sau là truyền kết quả trở lại về vị trí đã đưa ra vấn tin.
Hệ số chi phí duy trì tính toàn vẹn có thể được mô tả rất giống thành phần xử lý ngoại trừ chi phí xử lý cục bộ một đơn vị cần thay đổi nhằm phản ánh chi phí thực sự để duy trì tính toàn vẹn.
Hàm chi phí truyền có thể được đưa ra giống như cách của hàm chi phí truy xuất. Tuy nhiên tổng chi phí truyền dữ liệu cho cập nhật và cho yêu cầu chỉ đọc sẽ khác nhau
hoàn toàn. Trong các vấn tin cập nhật, chúng ta cần cho tất cả mọi vị trí biết nơi có các bản sao còn trong vấn tin chỉ đọc thì chỉ cần truy xuất một trong các bản sao là đủ. Ngoài ra vào lúc kết thúc yêu cầu cập nhật thì không cần phải truyền dữ liệu và ngược lại, cho vị trí đưa ra vấn tin ngoài một thông báo xác nhận, còn trong vấn tin chỉ đọc có thể phải có nhiều thông báo tryền dữ liệu.
Thành phần cập nhật của hàm truyền dữ liệu là:
TCUi = ∑ ∑uịj*xjk*go(i),k + ∑ ∑uịj*xjk*g k,o(i)