2. Thế nào là ảnh vật lý? Cho ví dụ
3.5 Cấp phát tài nguyên trong hệ phân tán
Giả sử có một tập các mảnh F = {F1, F2, ..., Fk } và một mạng máy tính 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 thực thi.
Hãy tìm một phân phối tối ưu các mảnh F cho các vị trí S.
Một phân phối được gọi là tối ưu nếu thỏa mãn hai yếu tố sau:
Chi phí nhỏ nhất: hàm chi phí bao gồm chi phí lưu mỗi mảnh dữ liệu 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ả các vị trí có chứa nó, và chi phí truyền dữ liệu. Vì thế bài toán cấp phát sẽ tìm một lược đồ cấp phát với hàm chi phí là cực tiểu.
Hiệu quả: chiến lược cấp phát được thiết kế nhằm cực tiểu hóa thời gian thực hiện và
tăng tối đa lưu lượng hệ thống tại mỗi vị trí.
Bài toán cấp phát tổng quát, ký hiệu DAP (database allocation problem), là một bài toán NP-đầy đủ. Vì thế hầu hết các nghiên cứu đã được dành cho việc tìm ra được các thuật giải heuristic để có được lời giải tối ưu cho loại bài toán này.
Hiện nay chưa có một mô hình heuristic tổng quát nào nhận một tập các mảnh và sinh ra một chiến lược cấp phát gần tối ưu ứng với các ràng buộc cho trước mà chỉ mới đưa ra một số giả thiết đơn giản hóa và dễ áp dụng cho một số cách đặt vấn đề đơn giản.
3.5.2 Thông tin cấp phát
Ở giai đoạn cấp phát, chúng ta cần các thông tin định lượng về cơ sở dữ liệu, về các ứng dụng chạy trên đó, về cấu trúc mạng, về khả năng xử lý và giới hạn lưu trữ của mỗi vị trí trên mạng.
- Thông tin về cơ sở dữ liệu - Thông tin về ứng dụng - Thông tin về vị trí - Thông tin về mạng
Bài tập
Cho Cơ sở dữ liệu của một công ty máy tính như sau:
Bài 1:
SƠ ĐỒ PHÂN MẢNH:
- Quan hệ DUAN được phân thành 3 mảnh:
Phân mảnh dọc thành các quan hệ DUAN1(MADA, TENDA, DIADIEM) và DUAN2 gồm các thuộc tính còn lại. DUAN2 lại được phân mảnh theo mức ngân sách >=20.000 và ngân sách nhỏ hơn 20.000 (thành 2 quan hệ DUAN3, DUAN4)
- Quan hệ HOSO được phân thành 2 mảnh (Hoso1, Hoso2) theo thời gian>=1 năm và nhỏ hơn 1 năm.
- Quan hệ NHANVIENđược phân mảnh theo các chức vụ (4 mảnh: NV1, NV2, NV3, NV4)
Có các trạm làm việc Site 1, site 2, site 3. Giả sử cho sơ đồ định vị sau:
Tại Site 1: DUAN1, 3; HOSO1, NV1, NV2, TLUONG Tại Site 2: DUAN1, 4; HOSO2, NV3, NV4
Yêu cầu:
1. Vẽ đồ thị phân mảnh
2. Vẽ ảnh vật lý của quan hệ tổng thể
3. Viết truy vấn để tạo ra các đoạn và truy vấn để tái thiết lại các quan hệ tổng thể từ các mảnh đã bị phân mảnh bằng đại số quan hệ và Sql.
4. Giả sử hệ thống cung cấp tính trong suốt phân đoạn, hãy tìm những nhân viên làm việc tại dự án có ngân sách lớn hơn 30,000
5. Giả sử hệ thống cung cấp trong suốt về vị trí nhưng không trong suốt phân đoạn, hãy viết truy vấn để tìm tên các nhân viên có chức vụ là “Phân tích HT”.
6. Giả sử hệ thống không cung cấp trong suốt ánh xạ địa phương, hãy tìm mã dự án có thời gian thực hiện lớn hơn 24 tháng.
Bài 2
1. Cho quan hệ NHANVIEN như trên,
gọi p1: CHUCVU < “Phân tích HT” và p2: CHUCVU > “Phân tích HT” là hai vị từ đơn giản. Giả sử chuỗi ký tự được sắp theo thứ tự chữ cái.
a) Thực hiện phân mảnh ngang cho quan hệ NHANVIEN ứng với {p1, p2} thành NV1, NV2.
b) Giải thích tại sao phân mảnh kết quả NV1, NV2 không đáp ứng được quy tắc đúng đắn của phân mảnh.
c) Sửa lại p1 và p2 để chúng đáp ứng được quy tắc của phân mảnh. 2. Cho quan hệ TLUONG như trên,
gọi p3: LUONG < 30000 và p4: LUONG >= 30000 là hai vị từ đơn giản. a) Hãy thực hiện phân mảnh ngang cho TLUONG ứng với những vị từ này để có
được hai mảnh TLUONG1 và TLUONG2.
b) Sử dụng phân mảnh của TLUONG để thực hiện phân mảnh ngang dẫn xuất cho NHANVIEN.
c) Chứng tỏ tính đầy đủ, tính tái thiết được và tính tách biệt của phân mảnh cho NHANVIEN.
3. Giả sử hệ thống cung cấp trong suốt phân đoạn, hãy tìm nhân viên làm việc ở dự án có ngân sách cao nhất
4. Giả sử NHANVIEN không bị phân mảnh, TLUONG phân mảnh thành TLUONG1 và TLUONG2.
Giả sử hệ thống cung cấp trong suốt định vị, không cung cấp tính trong suốt phân đoạn. Hãy tìm nhân viên có mức lương 3.000
5. Làm lại câu 4 nếu NHANVIEN bị phân thành 2 mảnh NV1 và NV2; TLUONG phân mảnh thành TLUONG1 và TLUONG2.
Bài 3: Cơ sở dữ liệu gồm các quan hệ tổng thể sau:
- NHANVIEN (MaNV, HoTen, NgSinh, Luong, MaDV): chứa thông tin về nhân viên: mã nhân viên, họ tên, ngày sinh, lương và mã đơn vị
- DONVI (MaDV, TenDV, DienThoai, NguoiQuanLy): Chứa thông tin về đơn vị gồm: mã đơn vị, tên đơn vị, số điện thoại và người quản lý
- NHACC (MaNCC, TenNCC, ThanhPho): Chứa thông tin về nhà cung cấp, gồm Mã nhà cung cấp, tên nhà cung cấp, thành phố
- CUNGCAP (MaNCC, MaTB, MaDV, SoLuong): chứa thông tin về cung cấp thiết bị, gồm: Mã nhà cung cấp, Mã thiết bị, Mã đơn vị, số lượng
1. Giả sử quan hệ NHANVIEN được phân mảnh thành NV1, NV2 theo các vị từ p1: year(NgSinh)>1980 và p2: year(NgSinh)<=1980) .
- Quan hệ NV2 lại được phân mảnh thành NV3, NV4 theo các vị từ p3: tên đơn vị =“Hà Nội” và p4: tên đơn vị <>”Hà Nội”.
- Hãy viết các truy vấn SQL và đại số qua hệ để tạo các mảnh trên. Chứng tỏ quá trình phân mảnh này đảm bảo tính tái thiết được
2. Giả sử hệ thống cung cấp trong suốt phân đoạn, hãy tìm những nhân viên làm việc ở những đơn vị có nhà cung cấp cung cấp nhiều thiết bị nhất.
3. Giả sử quan hệ CUNGCAP được phân thành 2 mảnh thành CC1 và CC2 theo các vị từ p1: SoLuong >1000 và p2: SoLuong<=1000.
- Hãy phân mảnh ngang dẫn xuất quan hệ NHACC theo quan hệ CUNGCAP 4. Các mảnh được phân như câu 1 và câu 3. Giả sử hệ thống cung cấp trong suốt
định vị, không trong suốt phân đoạn, hãy tìm những nhân viên làm việc ở những đơn vị có cung cấp số lượng thiết bị > 500
CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN