Đầu vào bộ tối ưu hóa câu truy vấn 1 Mô hình chi phí

Một phần của tài liệu Tìm hiểu về tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 48)

- Dạng chuẩn tuyển là tuyển (∨) của những phép hội (∧):

3.2.1.Đầu vào bộ tối ưu hóa câu truy vấn 1 Mô hình chi phí

3.2.1.1. Mô hình chi phí

Chi phí của một chiến lược thực hiện phân tán có thể được biểu diễn ho c theo tổng chi phí (total cost) ho c theo thời gian trả lời. Tổng chi phí là tổng của tất cả các thành phần chi phí, còn thời gian trả lời tính từ lúc bắt đầu đến lúc kết thúc câu truy vấn. Công thức chung để tính tổng chi phí như sau:

Total_cost = CCPU*#insts + CI/O*#I/Os + CMSG*#msgs + CTR*#bytes

Trong đó: Total_cost - là tổng chi phí; CCPU - chi phí của một lệnh CPU;

CI/O - chi phí của một truy xuất/nhập đĩa; CMSG - chi phí cố định của việc

khởi đầu và nhận một thông báo; CTR - chi phí truyền một đơn vị dữ liệu từ trạm này tới trạm khác, ta xem CTR là hằng số; #insts, #I/Os, #msgs, #byte: Tương ứng là tổng trên các trạm của tất cả các số lệnh CPU, số lần truy xuất/nhập đĩa, số thông báo, kích thước của tất cả các thông báo.

Trong công thức trên, hai thành phần chi phí đầu (CCPU, CI/O) là chi phí địa phương, hai thành phần sau (CMSG, CTR) là chi phí truyền thông. Chi phí truyền thông để chuyển #bytes dữ liệu từ trạm này đến trạm khác được giả thiết là một hàm tuyến tính của #bytes, được xác định bởi công thức:

CC(#bytes) = CMSG + CTR*#bytes

Chi phí được biểu diễn theo đơn vị thời gian và từ đó có thể chuyển qua các đơn vị khác.

Cấu hình của mạng ảnh hưởng lớn đến các thành phần chi phí. Trong một mạng diện rộng như ARPANET (10kbps), do truyền thông chậm hơn xử lý địa phương nên chi phí truyền thông là yếu tố trọng yếu. Tỷ lệ giữa chi phí truyền thông và chi phí I/O cho một trạng thái nhớ khoảng 20:1. Do đó, hầu hết các hệ quản trị CSDL phân tán được thiết kế cho mạng WAN bỏ qua chi phí xử lý địa phương và tập trung vào tối thiểu hoá chi phí truyền trông. Trong một mạng cục bộ như Ethernet (10Mbps), chi phí xử lý địa phương góp phần đáng kể vào tổng chi phí. Tỷ lệ giữa chi phí truyền thông và chi phí I/O là 1:1.6. Do đó, các hệ quản trị CSDL phân tán được thiết kế cho mạng LAN coi như gồm cả ba thành phần chi phí.

Khi thời gian trả lời của câu truy vấn là hàm mục tiêu của bộ tối ưu th các xử lý địa phương song song và truyền thông song song phải được xét. Công thức tổng quát tính thời gian trả lời (response time) là:

Response_time = CCPU*seq_#insts + CI/O*seq_#I/Os + CMSG *seq_#msgs + CTR*seq_#bytes

Trong đó: seq_#x (x có thể là các lệnh CPU, I/O, các thông báo, các byte) là số lớn nhất của x phải được thực hiện tuần tự đối với sự thực thi của câu truy vấn. Như vậy có thể bỏ qua bất kỳ xử lý và truyền thông được thực hiện song song.

Ví dụ 3.7: Minh hoạ sự khác nhau giữa tổng chi phí và thời gian trả lời, trong đó máy tính trả lời câu truy vấn tại trạm 3 với dữ liệu từ trạm 1 và trạm 2, ở đây chi phí truyền thông được xét.

Giả sử, CMSG và CTR được biểu thị theo đơn vị thời gian. Tổng chi phí truyền x đơn vị dữ liệu từ trạm 1 đến 3 và y đơn vị dữ liệu từ trạm 2 đến trạm 3 là:

Total_cost = 2CMSG + CTR*(x+y)

Vì việc truyền dữ liệu có thể thực hiện song song nên thời gian trả lời câu truy vấn là: Response_time = max{CMSG + CTR*x, CMSG + CTR*y}

Thời gian trả lời tối thiểu đạt được bằng cách tăng mức độ xử lý song song, tuy nhiên không có nghĩa tổng chi phí là tối thiểu. Ngược lại, tổng chi phí có thể tăng khi có nhiều xử lý địa phương và truyền song song hơn.

Một phần của tài liệu Tìm hiểu về tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 48)