Multitable clustering file organization là gì?

Noun Database

Trong multitable clustering file organization, một file riêng biệt hoặc tập hợp các file được sử dụng để lưu trữ các bản ghi (record) của mỗi bảng (table). Tuy nhiên, trong multitable clustering file organization, các bản ghi của một số b khác nhau được lưu trữ trong cùng một file và trên thực tế trong cùng một khối (block) trong một file, để giảm chi phí (cost) của một số hoạt động join nhất định.

Hầu hết các hệ cơ sở dữ liệu quan hệ (relational database system) đều lưu trữ từng bảng trong một file riêng biệt hoặc một tập hợp các file riêng biệt. Do đó, mỗi khối (block) lưu trữ các bản ghi của một quan hệ duy nhất.

Tuy nhiên, trong một số trường hợp, nó có thể hữu ích khi lưu trữ các bản ghi của nhiều hơn một bảng trong một khối (block) duy nhất. Để thấy lợi ích của việc lưu trữ các bản ghi của nhiều bảng trong một khối (block), hãy xem xét truy vấn (query) SQL sau cho cơ sở dữ liệu trường đại học:


select dept name, building, budget, ID , name, salary from department natural join instructor;

Truy vấn này tính toán một phép join của các bảng giữa department và instructor. Vì vậy, đối với mỗi tuple của department, hệ thống phải xác định vị trí các tuple của instructor có cùng giá trị dept name. Lý tưởng nhất là các bản ghi này sẽ được định vị với sự trợ giúp của các chỉ mục (index). Tuy nhiên, bất kể các bản ghi này được định vị như thế nào, chúng cần được chuyển từ đĩa vào bộ nhớ chính (main memory). Trong trường hợp xấu nhất, mỗi bản ghi sẽ nằm trên một khối (block) khác nhau, buộc chúng ta phải đọc một khối (block) cho mỗi bản ghi theo yêu cầu của truy vấn.

Nếu sử dụng multitable clustering file organization thì một tuple của bảng department được đọc, toàn bộ khối (block) chứa tuple đó được sao chép từ đĩa vào bộ nhớ chính. Vì các tuple của bảng instructor tương ứng được lưu trữ trên đĩa gần tuple của bảng department, khối (block) chứa tuple của bảng department chứa các tuple của bảng structor cần thiết để xử lý truy vấn. Do đó multitable clustering file organization sẽ cho phép xử lý nhanh các phép toán join.

Learning English Everyday