Tải bản đầy đủ (.pdf) (79 trang)

(Luận văn thạc sĩ) tối ưu hóa cơ sở dữ liệu phân tán 04

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.5 MB, 79 trang )


Số phiếu khám
Sổ bệnh án
Bệnh phụ
Bệnh chính
Số ngày điều trị
BHYT duyệt khơng
Kết luận khám
Lời dặn bác sĩ
Lý do khám
Ngày đón tiếp
Ngày kết luận
Đối tượng
Phòng kết luận
Nơi giới thiệu
Y tá điều dưỡng
Bác sĩ kết luận
Cấp cứu
Trạng thái
Khoa điều trị
Thẻ BHYT

 LichSuPhongKham: Lưu thơng tin các phịng khám mà bệnh nhân đã đến
trong một lần khám bệnh.
Tên trường dữ liệu
LichSuPhongKham_ID
KhamBenh_ID
Phong_ID
KetLuan
STT


Kiểu dữ liệu
int
numeric
nvarchar
nvarchar
tinyint

 Mơ hình quan hệ giữa các bảng như Hình 3.1.

Mơ tả
ID (khóa chính)
ID lần khám bệnh
Phịng khám
Kết luận
STT


70

Hình 3.1: Mối quan hệ giữa các bảng dữ liệu
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 tốn áp dụng
Chương trình sẽ cài đặt thử nghiệm thuật tố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
- Kết quả thực hiện tại trạm 1:


71

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:


72

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 số bản ghi kết quả: 105179



73

+ 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 tố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 tố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 tốn INGRES phân tán và R* đều có ưu nhược điểm riêng. Thuật tố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 tố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.


74
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 tố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 tố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ế.


75
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.



×