Mối quan hệ giữa các bảng dữ liệu

Một phần của tài liệu (LUẬN văn THẠC sĩ) tối ưu hóa cơ sở dữ liệu phân tán 04 (Trang 74)

3.2. Mô hình phân tán CSDL, công cụ, ngôn ngữ lập trình

 CSDL được phân tán trên 3 trạm, sử dụng hệ quản trị CSDL SQL Server 2008.

+ Trạm 1 chứa bảng BenhNhan (20005 bản ghi).

+ Trạm 2 chứa 2 bảng: KhamBenh (101627 bản ghi) và LichSuPhongKham (105179 bản ghi).

+ Trạm 3 chứa 2 bảng: CLS (57 bản ghi) và CLSKhamBenh (697118 bản ghi)

 Chương trình được viết trên ngôn ngữ lập trình C#. 3.3. Thuật toán áp dụng

Chương trình sẽ cài đặt thử nghiệm thuật toán INGRES phân tán và R* được trình bày ở mục 2.3.1 và 2.3.2.

3.4. Kết quả thực nghiệm

 Thử nghiệm 1: Xét câu truy vấn

SELECT BenhNhan.*, KhamBenh.ngaydontiep, LichSuPhongKham.phong_id, LichSuPhongKham.Ketluan,CLSKhamBenh.CLS_ID, CLSKhamBenh.KetLuan, CLS.TenChuyenMon

FROM BenhNhan, KhamBenh, LichSuPhongKham, CLSKhamBenh, CLS WHERE BenhNhan.benhnhan_ID = KhamBenh.benhnhan_ID

and KhamBenh.khambenh_ID = LichSuPhongKham.khambenh_id

and LichSuPhongKham.lichsuphongkham_ID = CLSKhamBenh.lichsuphongkham_id and CLS.CLS_ID=CLSKhamBenh.CLS_ID

Hình 3.2: Kết quả thực hiện câu truy vấn tại trạm 1.

+ Tổng số bản ghi kết quả: 697118

+ Tổng thời gian thực hiện truy vấn áp dụng Thuật toán INGRES phân tán: 26301 ms

+ Tổng thời gian thực hiện truy vấn khi áp dụng Thuật toán R*: 28818 ms - Kết quả thực hiện tại trạm 2:

Hình 3.3: Kết quả thực hiện câu truy vấn trên trạm 2

+ Tổng số bản ghi kết quả: 697118

+ Tổng thời gian thực hiện truy vấn áp dụng Thuật toán INGRES phân tán: 25702 ms

+ Tổng thời gian thực hiện truy vấn khi áp dụng Thuật toán R*: 28655 ms - Kết quả thực hiện tại trạm 3:

Hình 3.4: Kết quả thực hiện truy vấn tại trạm 3

+ Tổng số bản ghi kết quả: 697118

+ Tổng thời gian thực hiện truy vấn áp dụng Thuật toán INGRES phân tán: 17875 ms

+ Tổng thời gian thực hiện truy vấn khi áp dụng Thuật toán R*:19788 ms

Các kết quả trên cho thấy: Tổng thời gian thực hiện truy vấn trên trạm 3 là ngắn nhất trong ba trạm với cả hai thuật toán. Do lượng dữ liệu tại trạm 3 lớn hơn nhiều so với dữ liệu ở trạm 1 và trạm 2 nên khi thực hiện truy vấn trên trạm 3, chi phí truyền thông sẽ ít hơn so với 2 trạm còn lại. Trong thử nghiệm này, sử dụng thuật toán INGRES phân tán sẽ hiệu quả hơn.

 Thử nghiệm 2: Xét câu truy vấn

SELECT Benhnhan.*, KhamBenh.ngaydontiep, LichSuPhongKham.phong_id, LichSuPhongKham.ketluan

FROM BenhNhan, KhamBenh, LichSuPhongKham

WHERE BenhNhan.benhnhan_ID= KhamBenh.benhnhan_ID and KhamBenh.khambenh_ID = LichSuPhongKham.khambenh_id

- Kết quả thực hiện tại trạm 1:

Hình 3.5: Kết quả thực hiện câu truy vấn tại trạm 1

+ Tổng thời gian thực hiện truy vấn áp dụng Thuật toán INGRES phân tán: 2603 ms

+ Tổng thời gian thực hiện truy vấn khi áp dụng Thuật toán R*: 2605 ms - Kết quả thực hiện trên trạm 2:

Hình 3.6: Kết quả thực hiện truy vấn trên trạm 2.

+ Tổng số bản ghi kết quả: 105179

+ Tổng thời gian thực hiện truy vấn áp dụng Thuật toán INGRES phân tán: 2515 ms

+ Tổng thời gian thực hiện truy vấn khi áp dụng Thuật toán R*: 2537 ms

Kết quả thực nghiệm cho thấy: Thời gian thực hiện truy vấn ở trạm 2 nhanh hơn trạm 1 với cả hai thuật toán và tổng thời gian xử lý truy vấn khi áp dụng thuật toán INGRES phân tán nhanh hơn so với thuật toán R* nhưng không đáng kể.

3.5. Kết luận

Chương 3 trình bày về chương trình cài đặt 2 thuật toán INGRES phân tán và R* bao gồm: Thiết kế CSDL phân tán, lựa chọn ngôn ngữ lập trình, hệ quản trị CSDL và kết quả thực nghiệm chạy một số truy vấn để so sánh thời gian chạy khi truy vấn tối ưu sử dụng 2 thuật toán trên các trạm khác nhau. Qua kết quả thực nghiệm ta thấy, với câu truy vấn có 3 quan hệ tham gia kết nối trong thử nghiệm 2, thời gian thực hiện khá nhanh với cả hai thuật toán (trung bình 2.5 giây). Nhưng với câu truy vấn có 5 quan hệ tham gia kết nối trong thử nghiệm 1, thời gian thực hiện chậm với cả 2 thuật toán (trung bình khoảng 26 giây). Do đó, với những câu truy vấn có nhiều quan hệ tham gia kết nối nên sử dụng thuật toán tối ưu truy vấn khác như thuật toán DP-ACO trình bày ở mục 2.3.4 để rút ngắn thời gian thực hiện.

Thuật toán INGRES phân tán và R* đều có ưu nhược điểm riêng. Thuật toán R* không hỗ trợ hệ thống phân tán theo kiểu phân mảnh và bản sao, thuật toán INGRES phân tán có hỗ trợ phân mảnh nhưng chỉ với phân mảnh ngang. Do đó, tùy vào cách thiết kế hệ thống phân tán mà ta lựa chọn thuật toán áp dụng cho phù hợp.

KẾT LUẬN

Hệ thống phân tán là một hệ thống cơ sở dữ liệu phức tạp hơn, đòi hỏi việc tổ chức vật lý, mô hình mạng phức tạp, việc tìm hiểu và lựa chọn giải pháp thiết kế CSDL phân tán phù hợp với yêu cầu thực tế, tối ưu hóa truy vấn phân tán có ý nghĩa quan trọng quyết định đến hiệu năng hệ thống và hiệu quả kinh tế mang lại.

Với đề tài ”Tối ưu hóa cơ sở dữ liệu phân tán”, luận văn đã đạt được một số kết quả sau:

- Trình bày khái quát về cơ sở dữ liệu phân tán, phân tích các đặc điểm của CSDL phân tán, hệ quản trị CSDL phân tán và một số phương pháp thiết kế CSDL phân tán.

- Giới thiệu các bước trong quá trình xử lý câu truy vấn, xác định thời điểm tối ưu và các phương pháp, thuật toán tối ưu hóa truy vấn phân tán, phân tích ưu nhược điểm của từng phương pháp để lựa chọn cho phù hợp với yêu cầu thực tế của từng hệ thống.

- Cài đặt, đánh giá tính hiệu quả của hai thuật toán: INGRES phân tán và R*. Hướng phát triển của luận văn:

Tiếp tục nghiên cứu các phương pháp tối ưu hóa truy vấn CSDL phân tán khác như phương pháp dựa trên phép nửa kết nối, kết hợp giữa thuật toán tối ưu đàn kiến với một số thuật toán khác như thuật toán di truyền, thuật toán tối ưu bầy đàn, ...Trên cơ sở đó đưa ra đánh giá ưu nhược điểm của từng phương pháp để áp dụng cho từng bài toán cụ thể trong thực tế.

TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt

[1] Nguyễn Văn Nhuận, Phạm Việt Bình (2009), “Giáo trình hệ cơ sở dữ liệu phân tán

& suy diễn: Lý thuyết và thực hành”, NXB Khoa học và kỹ thuật.

[2] Phạm Thế Quế (2009), “Giáo trình Cơ sở dữ liệu phân tán”, NXB Thông tin và

Truyền thông.

[3] Nguyễn Bá Tường (2005), ”Nhập môn cơ sở dữ liệu dữ liệu phân tán”, NXB Khoa

học và kỹ thuật. Tài liệu tiếng Anh

[4] Alaa Aljanaby, Emad Abuelrub, and Mohammed Odeh (2005), “A Survey of

Distributed Query Optimization”, The International Arab Journal of Information

Technology, Vol. 2, No. 1.

[5] Tansel Dokeroglu, Ahmet Cosar (2011), “Dynamic Programming with Ant Colony Optimization Metaheuristic for optimization of Distributed Database

Queries”, ISCIS:26th International Symposium on Computer and Information

Sciences, IEEE, Vol 2, pp.107-113.

[6] Marco Dorigo, Thomas Stutzle (2003), The Ant Colony Optimization

Metaheuristic, Algorithms, Applications, and Advances - Handbook of Metaheuristics, Springer US, pp 250-285.

[7] Marco Dorigo, Thomas Stutzle (2004), Ant Colony Optimization, MIT Press [8] Chhanda Ray (2009), Distributed Database Systems, Pearson Education India.

[9] Sacco, M.P, and Yao, S.B (1982), “Query Optimization in Distributed Database

Systems,” Advances in Computers, Vol. 21, Academic Press.

[10] Preeti Tiwari, Swati V. Chande (2013), “Optimization of Distributed Database

Queries Using Hybrids of Ant Colony Optimization Algorithm”, International

Journal of Advanced Research in Computer Science and Software Engineering 3(6), pp. 609-614.

[11] M. Tamer Özsu, Patrick Valduriez (2011), Principles of Distributed Database

Systems third edition, Springer.

[12] Preeti Tiwari, Swati V. Chande (2013), “Query Optimization Strategies in

Distributed Databases”, International Journal of Advances in Engineering

Sciences Vol.3.

[13] Yasmeen R. M. Umar, Amit R. Welekar (2014), “Query Optimization in

Distributed Database: A Review”, Query Optimization in Distributed Database: A

Review, Vol. 4, No. 6.

Một phần của tài liệu (LUẬN văn THẠC sĩ) tối ưu hóa cơ sở dữ liệu phân tán 04 (Trang 74)

Tải bản đầy đủ (PDF)

(79 trang)