6. Cỏc kết quả dự kiến
3.2. Cài đặt thử nghiệm thuật toỏn
Thuật toỏn R* đó được mụ tả dưới dạng mó giả phần trờn, sau đõy là phần ứng dụng cài đặt sử dụng thuật toỏn R*
3.2.1. Cấu trỳc của CSDL
Bảng: KHOA
Tờn cột Kiểu dữ liệu Giải thớch
ID int
MaKhoa nchar(3) Mó khoa
TenKhoa nvarchar(50) Tờn khoa
Bảng: LỚP
Tờn cột Kiểu dữ liệu Giải thớch
ID int
MaLop nchar(5) Mó lớp
TenLop nvarchar(50) Tờn lớp
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
Bảng: Sinh viờn
Tờn cột Kiểu dữ liệu Giải thớch
ID int
MaSV nchar(9) Mó sinh viờn
TenSV nvarchar(50) Tờn sinh viờn
NgaySinh datetime Ngày sinh
GioiTinh Bit Giới tớnh
Dantoc nvchar(50) Dõn tộc
Diachi nvchar(200) Địa chỉ
SoCMTND nvchar(9) Số chứng minh thư
DiemTB decimal(3,2) Điểm trung bỡnh
ID_LOP int Khoỏ ngoại
* Sơ đồ quan hệ giữa cỏc bảng như sau:
3.2.2. Xõy dựng ứng dụng
Ứng dụng cài đặt với 3 trạm: Trạm 1, trạm 2 và trạm 3 Diễn giải cỏc bước thực hiện của thuật toỏn.
Bước 1: Phõn tỏch cõu hỏi truy vấn thành cỏc cõu hỏi truy vấn trờn từng
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
Bước 2: Tỡm chi phớ lớn nhất khi truyền dữ liệu (bỏ qua tốc độ băng thụng
mạng)
Chi phớ truyền dữ liệu mạng chủ yếu là dung lượng bytes cần truy vấn. Để giảm chi phớ truyền thụng, chi phớ trờn mỏy trạm lớn nhất sẽ khụng truyền đị Thay vào đú cỏc chi phớ nhỏ hơn sẽ được truyền đi để thực hiện quỏ trỡnh tớch hợp dữ liệụ
*)Giao diện chớnh
* Giao diện kết nối trạm 1
Thụng tin để kết nối trạm 1 bao gồm: Tờn mỏy trạm (hoặc IP mỏy trạm), Loại kết nối CSDL (như SQL Server, Mysql, Microsoft Access, Oracle, …), Tờn truy cập CSDL, tờn đăng nhập, Mật khẩu kết nốị
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
Giao diện kết nối trạm 2
Thụng tin để kết nối trạm 1 bao gồm: Tờn mỏy trạm (hoặc IP mỏy trạm), Loại kết nối CSDL (như SQL Server, Mysql, Microsoft Access, Oracle, …), Tờn truy cập CSDL, tờn đăng nhập, Mật khẩu kết nốị
Giao diện kết nối trạm 3
Thụng tin để kết nối trạm 1 bao gồm: Tờn mỏy trạm (hoặc IP mỏy trạm), Loại kết nối CSDL (như SQL Server, Mysql, Microsoft Access, Oracle, …), Tờn truy cập CSDL, tờn đăng nhập, Mật khẩu kết nốị
3.2.3. Thử nghiệm 1
Truy vấn với cõu hỏi như sau:
Select Malop, Tenlop, Tenkhoa From LOP, KHOA
Where LOP.ID_khoa=KHOẠID And
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
From SV
Where SV.ID_lop=LOP.ID And SV.DiemTB<5)<200
Thực hiện truy vấn chưa tối ưu húa: - Tổng số bản ghi : 341
- Thời gian thực hiện: 2249 ms Thực hiện truy vấn đó tối ưu húa:
- Tổng số bản ghi: 341
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
3.2.4. Thử nghiệm 2.
Truy vấn với cõu hỏi như sau:
Select MaSV, TenSV, TenLop,TenKhoa From LOP,KHOA,SV
Where LOP.ID_Khoa=KHOẠID And LOP.ID=SV.ID_Lop And SV.DiemTB<5
And
SV.ID_Lop In ( Select ID_Lop From SV
Where MaSV= „SV0307364‟)
Thực hiện truy vấn chưa tối ưu: - Tổng số bản ghi : 147
- Thời gian thực hiện: 1011 ms Thực hiện truy vấn đó tối ưu húa:
- Tổng số bản ghi: 147
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
3.3 Kết luận
Đề tài đó cài đặt thuật toỏn R* để xử lý phõn tỏn cõu truy vấn và lựa chọn được phương ỏn xử lý cõu truy vấn phõn tỏn với chi phớ tối ưu từ cỏc mỏy trạm.
Ứng dụng cho phộp thực hiện:
- Thực hiện cỏc cõu truy vấn trờn từng mỏy trạm - Thực hiện cỏc cõu truy vấn trờn một CSDL phõn tỏn
- Cho phộp thực hiện cỏc cõu truy vấn đơn giản phõn tỏn trờn 3 mỏy trạm thực hiện cài đặt với thuật toỏn R *
- Đưa ra thời gian thực hiện cỏc cõu truy vấn trờn CSDL phõn tỏn khi chưa dựng thuật toỏn để tối ưu húa và khi sử dụng tối ưu húa truy vấn lồng nhaụ
Quỏ trỡnh tớch hợp dữ liệu cú được từ cỏc mỏy trạm hiện tại đó được tối ưu, nờn thời gian thực hiện cỏc cõu truy vấn trờn cơ sở dữ liệu phõn tỏn khi dựng thuật toỏn tối ưu nhanh hơn so với cõu truy vấn trờn cơ sở dữ liệu phõn tỏn khi chưa dựng thuật toỏn tối ưụ
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Kết luận
Việc lựa chọn một giải phỏp khả thi để thực hiện phõn tỏn cơ sở dữ liệu sao cho phự hợp với yờu cầu thực tế là một bước quan trọng khởi đầu khi xõy dựng một hệ phõn tỏn. Một giải phỏp phõn tỏn dữ liệu phự hợp sẽ làm tăng tốc độ xử lý dữ liệu và mang lại hiệu quả kinh tế caọ
Trờn mụ hỡnh thực tế và cỏc lý thuyết về cơ sở dữ liệu phõn tỏn thỡ việc tỡm hiểu cỏc biện phỏp tối ưu hoỏ cỏc truy vấn là một vấn đề hết sức cần thiết. Luận văn đó phần nào đỏp ứng được nhu cầu đú.
Những kết quả chớnh của luận văn bao gồm:
- Trỡnh bày nguyờn lý chung của tối ưu hoỏ cõu truy vấn bao gồm: Cỏc chiến lược tối ưu tổng quỏt, cỏc kỹ thuật tối ưu hoỏ cõu truy vấn cơ bản là sắp thứ tự cỏc phộp toỏn trong biểu thức đại số quan hệ và phõn ró cõu truy vấn thành cỏc cõu truy vấn con.
- Đỏnh giỏ cỏc cõu truy vấn trong cơ sở dữ liệu phõn tỏn bao gồm cỏc giai đoạn phõn ró cỏc cõu truy vấn, định vị dữ liệu và tối ưu hoỏ cõu truy vấn phõn tỏn.
- Giới thiệu cỏc thuật toỏn tối ưu húa truy vấn trong cơ sở dữ liệu phõn tỏn: Thuật toỏn INGRES phõn tỏn, thuật toỏn R*, thuật toỏn SĐ-1 và thuật toỏn AHỴ
- Cài đặt thử nghiệm thuật toỏn R*.
Hƣớng phỏt triển của đề tài
Phõn tớch sõu sắc hơn về cỏc thuật toỏn INGRES phõn tỏn, R*, SĐ-1, AHY để cú thể cho một đỏnh giỏ về độ phức tạp của cỏc thuật toỏn đú và khuyến cỏo trong trường hợp nào nờn dựng thuật toỏn nào sẽ cú hiệu quả.
Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn
TÀI LIỆU THAM KHẢO Tiếng Việt:
[1] Nguyễn Kim Anh (2000), Nguyờn lý cỏc hệ cơ sở dữ liệu, NXB Giỏo dục.
[2] Nguyễn Xuõn Huy (2000), Giỏo trỡnh về cơ sở dữ liệu, Đại học Quốc Gia Hà
Nộị
[3] Vũ Đức Thi (1997), Cơ sở dữ liệu - Kiến thức và thực hành, NXB Thống kờ. [4] Nguyễn Bỏ Tường (2005), Nhập mụn cơ sở dữ liệu phõn tỏn, NXB Khoa học kỹ thuật.
[5] Khoa CNTT ĐH KHTN ĐH Quốc Gia Hà Nội (2008), Hệ cơ sở dữ liệu phân tán.
Tiếng Anh:
[6] M.TAMER OZSU - PATRICK VALDURIEZ (1998), Principles of Distributed
Database Systems, Hill Book companỵ
[7] STEFANO CERI - GIUSEPPE PELAGATTI (1998), Distributed Database Principles and Systems, McGraw Hill Book companỵ
[8] JULIAN BUNN (2001), Distributed Databases, Center for Advanced
Computing Research Caltech.
[9] DILSAT ABDULLAH (2003), Query Optimization in Distributed Databases,