CƠ SỞ DỮ LIỆU PHÂN TÁN DISTRIBUTED DATABASES

41 101 1
CƠ SỞ DỮ LIỆU PHÂN TÁN  DISTRIBUTED DATABASES

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

3/14/2014 THÔNG TIN VỀ HỌC PHẦN Tên học phần: CSDL Phân tán- Distributed Database Mã học phần: TIN4112 Số tín chỉ: (30 tiết) Yêu cầu học phần: Bắt buộc CƠ SỞ DỮ LIỆU PHÂN TÁN Các học phần tiên quyết: DISTRIBUTED DATABASES Ngơn ngữ lập trình bậc cao Nhập môn sở liệu Thiết kế sở liệu PGS.TS Nguyễn Mậu Hân Mạng máy tính Khoa CNTT-ĐHKH HUẾ NỘI DUNG THÔNG TIN VỀ HỌC PHẦN Phân tín hoạt động: + Nghe giảng lý thuyết: 20 + Kiểm tra, làm tập lớp: (=3) + Tự học tập nhóm: 21 (=7) Chính sách học phần yêu cầu Giảng viên: Học viên bắt buộc phải tham gia hoạt động sau: Nghe giảng lý thuyết, Kiểm tra định kỳ Thi cuối kỳ Phương pháp, hình thức kiểm tra Kiểm tra – Tiểu luận- Chuyên cần : 50 % Thi cuối kỳ : 50 % Chương TỔNG QUAN VỀ DDB Chương CÁC MỨC TRONG SUỐT TRONG DDB Chương THIẾT KẾ CSDL PHÂN TÁN Chương TỐI ƯU HÓA TRUY VẤN TRONG DDB ĐỊA CHỈ LIÊN HỆ TÀI LIỆU THAM KHẢO [1] Andrew S Tanenbaum and Maarten Van Steen, Distributed Systems Principles and Paradigms, 2002 Pentice-Hall [2] M.TAMER OZSU and PATRICK VALDURIEZ, Principles of Distributed Database Systems, Prentice Hall, 2004 [3] Weiyi Meng and Clement T.Yu, Principles of Database Query Processing for Advanced Applications, Morgan Kaufman Inc., 2003 [4] William Buchanan, Distributed Systems and Networks, Mc Graw-Hill Book International 2002 [5] Stefano Ceri and Giuseppe Pelagatti, Distributed Databases Principles and Systems, Mc Graw-Hill Book International [6] Jeffrey D.Ullman (biên dịch: Trần Đức Quang), Nguyên lý hệ CSDL sở tri thức, tập 1&2 NXB Thống kê, 1998 [7] Nguyễn Mậu Hân, Giáo trình Cơ sở liệu phân tán, 2012 PGS.TS NGUYỄN MẬU HÂN, KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC KHOA HỌC - ĐẠI HỌC HUẾ 77, NGUYEN HUỆ – HUẾ ĐIỆN THOẠI: CQ: 054 382 6767 DĐ: 090 559 1515 EMAIL: nmhan2005@yahoo.com 3/14/2014 CHƯƠNG TỔNG QUAN VỀ CSDL PHÂN TÁN CHƯƠNG TỔNG QUAN VỀ CSDL PHÂN TÁN Tại phải phân tán? NỘI DUNG 1.1 Sơ lược mạng máy tính • Nhu cầu dùng chung liệu hợp 1.2 Các hình thức tổ chức hệ thống phân tán • Các tổ chức kinh tế có nhiều trụ sở phân tán 1.3 Các đặc trưng hệ thống phân tán nhiều vị trí địa lý khác 1.4 Cơ sở liệu phân tán • Giảm chi phí truyền thơng cơng việc 1.5 Các loại truy xuất CSDL phân tán • Quản lý luồng liệu sử dụng chung liệu, chương trình tổ chức 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH CHƯƠNG TỔNG QUAN VỀ CSDL PHÂN TÁN Phân tán gì? •Một mạng máy tính tập máy tính tự vận hành, kết nối lại có khả trao đổi thơng tin với •Các máy tính mạng thường gọi nút hay trạm (site), chúng tạo phần cứng mạng kết nối lại vói đường truyền • Một mạng máy tính trường hợp đặc biệt hệ thống xử lý phân tán, máy tính thiết bị kết nối vào kênh truyền liệu • Phần cứng-Mạng máy tính • Phần mềm  Hệ quản trị CSDL  Csdl phân tán  Các ứng dụng 10 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH Những loại mạng máy tính Mạng hình (star) •Thường dùng tổ chức có nhiều chi nhánh nằm nhiều vùng khác • Máy tính trung tâm đặt văn phịng trung tâm vùng • Nhược điểm: - độ tin cậy thấp - giao tiếp hai máy tính phụ thuộc vào máy tính trung tâm - tải trọng cao máy tính trung tâm Mạng vịng (circle) • Các máy tính nối với theo vịng khép kín • Mỗi trạm đóng vai trị chuyển tiếp • Truyền liệu quanh vịng thường theo chiều • Việc điều khiển truyền tin mạng xoay vịng thường thực thẻ điều khiển • Nhược điểm: -nếu đường nối bị cắt đứt làm ngừng tồn hoạt động mạng -Lượng thông tin di chuyển đường truyền lớn Mạng hình 11 12 3/14/2014 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH Mạng bus: • Có kênh chung để chuyền liệu, máy tính thiết bị đầu cuối gắn vào Mạng hỗn hợp (hybrid): •Các mạng truyền thơng thường có đường nối vơ định •Các đường nối khơng có tính hệ thống khơng tn theo khn mẫu •Có thể gặp nút nối với nút khác nút nối với nhiều nút khác •Các nối kết máy tính mạng Internet thuộc loại Mạng bus 13 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH 14 1.1 SƠ LƯỢC VỀ MẠNG MÁY TÍNH Mạng thảm (Mesh): •Mỗi nút nối kết với nút lại •Có độ tin cậy cao khả hoạt động tốt cấu trúc nói •Cấu trúc có chi phí cao HUB Hub Hub Bộ chuyển đổi cáp Mng hn hp 15 1.2 Các hình thức tổ chức hệ thống phân tán 16 1.2 Các hình thức tổ chức hệ thống phân tán peer-to-peer (mơ hình nhóm làm việc):  Các máy tính cá nhân máy trạm sử dụng hệ thống độc lập trợ giúp ứng dụng địa phương  peer-to-peer  Mỗi thành viên mạng có vai trị ngang nhau, tự quản lý tài ngun chia sẻ tài ngun cho máy tính khác mạng  File server  Mỗi máy tính mạng vừa đóng vai trị máy chủ (Server), vừa đóng vai trị máy khách (Client)  Client/Server 17 Đây mơ hình mạng đơn giản, phù hợp với hệ thống mạng nhỏ yêu cầu cao bảo mật 18 3/14/2014 1.2 Các hình thức tổ chức hệ thống phân tán 1.2 Các hình thức tổ chức hệ thống phân tán peer-to-peer (mơ hình nhóm làm việc): File server (máy dịch vụ file):  File server Một số máy dịch vụ file gán trực tiếp vào mạng LAN  File server thiết bị quản lý hoạt động file phục vụ máy tính cá nhân kết nối mạng LAN  Mỗi máy cá nhân phân chia dung lượng cố định ổ cứng File server, chương trình máy tính cá nhân tham chiếu đến file phần đĩa tương ứng đặc tả đường dẫn  Những hạn chế File server •Dữ liệu di chuyển mạng q nhiều •Việc kiểm sốt liệu phi tập trung •Các máy trạm phải đủ mạnh 19 20 1.2 Các hình thức tổ chức hệ thống phân tán 1.3 Cơ sở liệu phân tán (Distributed Database) Client/server (mơ hình khách/chủ) Định nghĩa: CSDL phân tán tập hợp liệu, mà mặt logic tập hợp thuộc hệ thống, mặt vật lý liệu phân tán vị trí khác mạng máy tính Có hai điểm quan trọng nêu định nghĩa: a Phân tán: Một số máy dịch vụ file gán trực tiếp vào mạng LAN  server có chức điều khiển, lưu trữ CSDL, xử lý truy vấn quản lý việc khai thác tài nguyên mạng máy tính khác  Thuật ngữ client sử dụng để người khai thác tài nguyên mạng  Dữ liệu không cư trú vị trí mà phân bố rộng khắp nhiều máy tính đặt nhiều vị trí khác 21 1.3 Cơ sở liệu phân tán (Distributed Database)  Đây điểm phân biệt sở liệu phân tán 22 với sở liệu tập trung 1.3 Cơ sở liệu phân tán (Distributed Database) b Tương quan logic:  Dữ liệu hệ phân tán có số thuộc tính ràng buộc chúng với  Điều giúp phân biệt sở liệu phân tán với tập hợp sở liệu tập trung  Các file liệu lưu trữ nhiều vị trí khác nhau, điều thường thấy ứng dụng mà hệ thống phân quyền truy nhập liệu môi trường mạng 23 This illustration shows a homogeneous distributed database The figure shows three databases, HQ.ACME.COM, SALES.ACME.COM and MFG.ACME.COM Each database is connected to a number of client systems at Headquarters and the Sales and Manufacturing divisions, respectively 24 3/14/2014 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán An Oracle Database Distributed Database System Kết nối CSDL (Database Links) database link kết nối vật lý hai server CSDL cho phép NSD truy cập liệu CSDL logic There are two databases located on separate servers: HQ and SALES The figure shows examples of direct and indirect client connections Queries are made to the HQ database directly, and queries are made indirectly to the SALES database, through the HQ database, which then acts as a client Communication between the servers occurs over the network using Oracle Net 25 1.3 Cơ sở liệu phân tán This illustration depicts a database link between user Scott and a remote database The link passes through the local database, and, because the link to the remote database is stored on the local database, a unidirectional link links the remote database to the user 26 Database Link 1.3 Cơ sở liệu phân tán Database Links Chú ý • Database links sử dụng hai dạng: private public • Nếu private có User tạo liên kết có quyền truy cập liệu • Nếu public, User hệ thống truy cập liệu Ứng dụng địa phương (local application) • Các ứng dụng mà không yêu cầu liệu từ site khác Ứng dụng tồn cục (global application) • Các ứng dụng mà có yêu cầu liệu từ site khác Assignment: to learn more database link See also: http://www.stanford.edu/dept/itss/docs/oracle/ 27 1.3 Cơ sở liệu phân tán (Distributed Database) Ví dụ 1:  Một ngân hàng có ba chi nhánh đặt vị trí khác  Tại chi nhánh (site) có máy tính điều khiển số máy giao dịch đầu cuối (teller terminal) sở liệu chi nhánh  Tại site đặt phần sở liệu phân tán  Các máy tính nối với mạng truyền thông  Các nút mạng phân tán có hai chức năng:  Xử lý thơng tin vị trí mà quản lý  Tham gia vào việc xử lý yêu cầu thông tin cần truy cập qua nhiều địa điểm Chẳng hạn, việc lên danh sách tất nhân viên ngân hàng Yêu cầu đòi hỏi tất máy tính chi nhánh cơng ty phải hoạt động để cung cấp thông tin 29 28 1.3 Cơ sở liệu phân tán (Distributed Database) Database Database Server T T T T T Server Terminal T T T T T Network Server Database T T T T T CSDL phân tán mạng phân tán địa lý 30 3/14/2014 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) Ví dụ 2: Branch1 Xet ngân hàng ví dụ Nhưng: T T T T • Các máy tính với CSDL chúng chi nhánh chuyển đến tòa nhà Database Computer Computer Branch2 T T T T Telephone lines • Các máy tính kết nối với mạng Database Telephone lines cục với băng thơng rộng Local Network • Các máy giao dịch đầu cuối kết nối với máy tính tương ứng chúng qua đường dây điện thoại • Mỗi máy tính CSDL tạo nên site mạng Computer Branch3 T T T T cục Database Telephone lines 31 32 CSDL phân tán mạng cục 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) Ví dụ 3: Xét hệ thống ngân hàng Nhưng: Branch1 T T T • Dữ liệu chi nhánh phân tán back-end computers, máy tính thực chức quản trị CSDL Database Database Database Back end Computer Back end Computer Back end Computer • Các chương trình ứng dụng thực Branch2 T T T Local Network máy tính khác (front-end computer), máy tính đóng vai trị giao diện yêu cầu back-end Application computers thực lệnh NSD Front-end Computer Branch3 T T T Hệ thống đa xử lý (multiprocessor system) 33 Các ứng dụng 1.4 Hệ quản trị sở liệu phân tán (DDBMSs) Program n DataBase Management System Operation System DataBase Kiến trúc tổng quát hệ quản trị CSDL tập trung 35 Giao diện người dùng Tầng giao diện Quản lý khung nhìn Phép tính quan hệ Tầng điều khiển Kiểm sốt tồn vẹn ngữ nghĩa Kiểm định cấp quyền Phép tính quan hệ Tầng biên dịch Phân rã tối ưu hóa truy vấn Quản lý hoạch định truy xuất Các kết Communication SubSystems Các tầng chức Hệ QTCSDL quan hệ a Hệ quản trị sở liệu tập trung Program 34 Đại số quan hệ Tầng thực thi Điều khiển thực thi hoạch định truy xuất Thực thi phép toán đại số Truy xuất/Cập nhật Tầng truy xuất liệu Quản lý vùng đệm Các phương pháp truy xuất Truy xuất/Cập nhật Tầng trì quán Điều khiển đồng thời Ghi nhật ký 36 DataBase 3/14/2014 1.4 Hệ quản trị sở liệu phân tán 1.4 Hệ quản trị sở liệu phân tán b Hệ quản trị sở liệu phân tán (DDBMSs) DDBMS có chức hỗ trợ việc tạo bảo trì sở liệu phân tán DDBMS có thành phần tương tự hệ quản trị sở liệu tập trung; thành phần hỗ trợ việc chuyển tải liệu đến trạm ngược lại Các thành phần DDBMS: Quản trị liệu (Database management): DB Truyền thông liệu (Data Communication): DC Từ điển liệu (Data Dictionary): DD dùng để mô tả thông tin phân tán liệu mạng Cơ sở liệu phân tán (Distributed Database): DDB T T T Local database DB DC DDB DD Site Site DD Local database DB T DDB DC T T Các thành phần DDBMS thương mại 37 Application Program Client DBMS Communication Software SQL Query Result Relation Operation System Operation System User Interface Result Relation User Interface Application Program 38 1.3 Cơ sở liệu phân tán (Distributed Database) Client DBMS DDBMS (Homogeneous DDBMS) Communication Software  DBMS địa phương giống SQL Query Communication Software DDBMS không (Heterogeneous DDBMS) Sematic Data Controler  DBMS địa phương khác Query Optimizer Transaction Manager  DDBMS có chức chuyển đổi mơ hình Recovery Manager Kiến trúc tham chiếu DDBMS theo mơ hình Client/Server liệu Runtime Support Processor Operation System DataBase 39 40 41 42 3/14/2014 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) So sánh csdl phân tán csdl tập trung Nhận xét: CSDL phân tán không đơn giản thực phân tán CSDL tập trung, chúng cho phép thiết kế đặc trưng khác với CSDL tập trung truyền thống a Điều khiển tập trung Trong CSDL tập trung:  Mỗi ứng dụng có files riêng  Tính điều kkiển tập trung thể toàn hệ thống Trong CSDL phân tán:  Khái niệm điều khiển tập trung nhấn mạnh phụ thuộc vào kiến trúc CSDL phân tán  CSDL phân tán điều khiển với cấu trúc phân lớp dựa vào hệ quản trị CSDL toàn cục  Hệ quản trị CSDL địa phương có trách nhiệm quản trị CSDL địa phương riêng 44 Các đặc điểm tiêu biểu CSDL truyền thống: • điều khiển tập trung • độc lập liệu • giảm dư thừa • biệt lập bảo mật liệu 43 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) b Độc lập liệu Trong CSDL tập trung:  Chương trình khơng bị ảnh hưởng thay đổi cấu trúc vật lý liệu Trong CSDL phân tán:  Tính độc lập liệu quan trọng giống CSDL truyền thống  Một khía cạnh thêm vào ý niệm độc lập liệu suốt phân tán  Các chương trình ứng dụng sử dụng CSDL khơng tổ chức phân tán  Sự xác chương trình khơng bị ảnh hưởng việc dịch chuyển liệu từ trạm 45 đến trạm khác c Giảm dư thừa liệu Trong CSDL tập trung:  Chuẩn hóa liệu  Sự khơng tương thích nhiều tập liệu  Tiết kiệm không gian lưu trữ cách loại bỏ dư thừa  Việc giảm dư thừa liệu đạt cách chia sẻ liệu, cho phép nhiều ứng dụng truy cập tin ghi 46 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) c Giảm dư thừa liệu d Biệt lập bảo mật stop here Trong CSDL tập trung:  Hệ quản trị CSDL bảo đảm truy cập đến liệu uỷ quyền Trong CSDL phân tán:  Hệ quản trị CSDL địa phương phải bảo đảm vấn đề Biệt lập bảo mật CSDL tập trung  Tuy nhiên, hai khía cạnh đặc biệt sau CSDL phân tán cần phải xem xét: • Trong CSDL phân tán với mức độ tự trị cao địa phương, người chủ liệu địa phương cảm giác bảo vệ tốt họ tự chủ thực bảo vệ thay phụ thuộc vào người quản trị CSDL trung tâm • Bảo mật chất hệ phân tán nói chung, mạng truyền thơng diện rộng cho phép nhiều người cập 48 nhật khai thác liệu Trong CSDL phân tán:  việc giảm dư thừa phức tạp  Hoạt động trình ứng dụng bị tăng lên liệu lại tất vị trí, nơi trình ứng dụng cần  Tính thường trực hệ thống tăng lên, có lổi xẩy trạm khơng dừng việc thực ứng dụng trạm khác liệu chép lại 47 3/14/2014 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3 Cơ sở liệu phân tán (Distributed Database) 1.3.4 Ưu nhược điểm hệ phân tán Ưu điểm • Đáp ứng nhanh hầu hết ứng dụng sử dụng liệu trạm • Tăng cường đơn thể ứng dụng CSDL mà không làm cản trở người sử dụng • Kiểm sốt liệu địa phương theo hướng hồn thiện tích hợp quản trị liệu từ xa • Tăng cường khả hệ thống liên quan đến dư thừa liệu 1.3.4 Ưu nhược điểm hệ phân tán Nhược điểm • Phần mềm đắt phức tạp • Phải xử lý thay đổi thông báo địa điểm • Khó kiểm sốt tính tồn vẹn liệu với nhiều liệu phân bố khắp nơi • Đáp ứng chậm nhu cầu trạm trường hợp phần mềm ứng dụng không phân bố phù hợp với việc sử dụng chung 49 1.5 Các loại truy xuất CSDL phân tán 1.5 Các loại truy xuất CSDL phân tán 1.5.1 Truy xuất từ xa thông qua tác vụ bản: Ứng dụng phát yêu cầu truy xuất CSDL vị trí u cầu hệ quản trị CSDL phân tán gởi đến vị trí chứa liệu Thực xong gửi kết Trình ứng dụng 50 1.5.2 Truy xuất từ xa thơng qua chương trình phụ trợ Một ứng dụng u cầu thực chương trình phụ trợ vị trí từ xa Chương trình phụ trợ truy xuất CSDL từ xa trả lại kết cho ứng dụng yêu cầu Các tác vụ truy xuất CSDL DBMS1 Trình ứng dụng Cơ sở liệu Yêu cầu thực chương trình phụ trợ Cơ sở liệu DBMS1 Site Site Site Site Kết toàn cục Cơ sở liệu DBMS2 DBMS2 Các tác vụ truy xuất CSDL kết Chương trình phụ trợ Kết gửi Cơ sở liệu 51 52 Các lĩnh vực cần quan tâm ASSIGNMENT Distributed Database Design Distributed Database Systems: Oracle8i Distributed Query Processing http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/ a67784/toc.htm Distributed Database Systems: DB2 Distributed Transaction Management http://www.cs.mcgill.ca/~cs577/#Project Distributed Concurrency Control Distributed Deadlock Management Reliability of Distributed DBMS Operating System Support Heterogeneous Database 53 54 3/14/2014 Câu hỏi cuối chương CHƯƠNG Ưu nhược điểm lại mạng máy tính CÁC MỨC TRONG SUỐT TRONG CSDL PHÂN TÁN NỘI DUNG Định nghĩa sở liệu phân tán Hệ quản trị CSDL phân tán Các thành phần yêu cầu DDBMSs thương mại Cho ví dụ CSDL phân tán 2.1 Kiến trúc CSDL phân tán So sánh csdl phân tán csdl tập trung 2.4 Tổ chức hệ thống phân tán 2.2 Các đặc điểm hệ phân tán 2.3 Trong suốt phân tán Ưu nhược điểm hệ phân tán MỤC ĐÍCH Các truy xuất từ xa hệ thống phân tán Cung cấp cho người sử dụng thấy mức suốt khác DDBMS Kết nối sở liệu hệ phân tán 55 2.1 KIẾN TRÚC CƠ BẢN CỦA CSDL PHÂN TÁN 56 2.1 Kiến trúc sở liệu phân tán Sơ đồ tổng thể (Global Schema) Các Sơ đồ độc lập vị trí Sơ đồ phân mảnh (Fragmentation Schema) Sơ đồ định vị (Allocation Schema) Sơ đồ ánh xạ địa phương (Local mapping Schema 1) Hệ quản trị CSDL vị trí (DBMS 1) CSDL địa phương (Local Database 1) a Sơ đồ tổng thể (Global Schema):  Xác định tất liệu lưu trữ sở liệu phân tán liệu không phân tán trạm hệ thống  Sơ đồ tổng thể định nghĩa theo cách CSDL tập trung Sơ đồ ánh xạ địa phương n (Local mapping Schema n) Hệ quản trị CSDL vị trí n (DBMS n)  Trong mơ hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa tập quan hệ tổng thể (Global relation) CSDL địa phương n (Local Database n) Kiến trúc tham khảo dùng cho CSDL phân tán 57 2.1 Kiến trúc sở liệu phân tán 58 2.1 Kiến trúc sở liệu phân tán b Sơ đồ phân đoạn (fragment schema): c Sơ đồ định vị (allocation schema):  Mỗi quan hệ tổng thể chia thành vài phần không  Các đoạn phần logic quan hệ tổng thể định vị vật lý hay nhiều trạm giao gọi phân đoạn (fragment)  Có nhiều cách khác để thực việc phân chia  Sơ đồ phân đoạn mô tả ánh xạ quan hệ tổng thể đoạn định nghĩa sơ đồ phân đoạn (fragmentation Schema),  Các đoạn mô tả tên quan hệ tổng thể với mục đoạn Chẳng hạn, Ri hiểu đoạn thứ i quan hệ R 59  Sơ đồ định vị xác định đoạn liệu định vị trạm mạng  Các đoạn liên kết với quan hệ tổng thể R định vị trạm j cấu thành ảnh vật lý quan hệ tổng thể R trạm j  Do ta ánh xạ một-một ảnh vật lý cặp (quan hệ tổng thể, trạm)  Các ảnh vật lý tên quan 60 hệ tổng thể mục trạm 10 3/14/2014 Các kết nối CSDL •Ở có 11 đường nối: L1, L2, L3, L4, L5, L6, L7, L8, L9, L10 ,L11 Ta có: owner(L1) = SAN_BAY member(L1) = TUYEN_BAY owner(L2) = MAY_BAY member(L2) = GHE owner(L3) = MAY_BAY member(L3) = CHUYEN_BAY owner(L4) = TUYEN_BAY member(L4) = CHUYEN_BAY owner(L5) = MAY_BAY member(L5) = CHI_TIET_HANG_VE owner(L6) = TUYEN_BAY member(L5) = CHI_TIET_HANG_VE owner(L7) = CHUYEN_BAY member(L7) = VE owner(L8) = HANG_VE member(L8) = CHI_TIET_HANG_VE owner(L9) = HANG_VE member(L9) = VE owner(L10) = DAI_LY member(L10) = VE owner(L11) = HANH_KHACH member(L11) = VE Thiết kế phân mảnh liệu Chọn vị trí đặt liệu trung tâm Dựa vào tần suất sử dụng, khoảng cách địa lý hoạt động hệ thống, phương án phân mảnh liệu thực sau: Sử dụng phân mảnh ngang nguyên thủy phân mảnh ngang dẫn xuất để chia quan hệ tổng thể thành ba mảnh đặt ba vị trí dựa vào khoảng cách địa lý ba miền đất nước: Vị trí 1: liệu đặt miền bắc (Hà Nội) Vị trí 2: liệu đặt miền trung (Đà Nẵng) Vị trí 3: liệu đặt miền nam (Sài Gòn) Sơ đồ tổng thể hệ thống •Phân rã quan hệ TUYEN_BAY thành mảnh ngang TUYEN_BAY1, TUYEN_BAY2, TUYEN_BAY3 định nghĩa sau: TUYEN_BAY1 = TUYEN_BAY SAN_BAY1 TUYEN_BAY2 = TUYEN_BAY SAN_BAY2 TUYEN_BAY3 = TUYEN_BAY SAN_BAY3 đó, thuộc tính mã sân bay quan hệ TUYEN_BAY trường để nối tự nhiên với mã sân bay quan hệ SAN_BAY mã sân bay đến quan hệ TUYEN_BAY chọn giá trị từ mảnh SAN_BAY1, SAN_BAY2, SAN_BAY3 IV Thiết kế sở liệu phân tán Thiết kế phân mảnh Bảng phân tích tần suất nhu cầu khai thác liệu THỰC THỂ TRỤ SỞ CHI CHÍNH NHÁNH SAN_BAY L.R H.RWED MAY_BAY L.RWED H.R GHE L.RWED H.R CHUYEN_BAY L.R H.RWED TUYEN_BAY L.RWED H.R HANG_VE L.RWED H.R CHI_TIET_HANG_VE L.R H.RWED VE L.R H.RWED DAI_LY L.R H.RWED HANH_KHACH L.R H.RWED Trong đó: W: Tạo ghi E: Sửa D: Xóa R: Đọc H: Tần suất cao L: Tần suất thấp Thiết kế phân mảnh liệu •Chọn quan hệ tổng thể SAN_BAY làm tiêu chí để phân mảnh Phân thành ba mảnh đặt ba vị trí để quản lý Sân bay vùng lân cận Sau dựa vào mảnh Sân bay dẫn xuất đến phân mảnh quan hệ tổng thể lại Phân rã quan hệ SAN_BAY thành mảnh ngang SAN_BAY1, SAN_BAY2, SAN_BAY3: SAN_BAY1 = MA_SB = ‘Các mã sân bay mà vị trí quản lý’ (SAN_BAY) SAN_BAY2 = MA_SB = ‘Các mã sân bay mà vị trí quản lý’ (SAN_BAY) SAN_BAY3 = MA_SB = ‘Các mã sân bay mà vị trí quản lý’ (SAN_BAY) Thiết kế phân mảnh liệu Phân rã quan hệ CHUYEN_BAY thành mảnh ngang CHUYEN_BAY1, CHUYEN_BAY2, CHUYEN_BAY3 định nghĩa sau: CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY CHUYEN_BAY = CHUYEN_BAY TUYEN_BAY Phân rã quan hệ CHI_TIET_HANG_VE thành mảnh ngang CHI_TIET_HANG_VE1, CHI_TIET_HANG_VE2, CHI_TIET_HANG_VE3, định nghĩa sau: CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY CHI_TIET_HANG_VE = CHI_TIET_HANG_VE TUYEN_BAY 27 3/14/2014 Thiết kế phân mảnh liệu Phân rã quan hệ VE thành mảnh ngang VE1, VE2, VE3 định nghĩa sau: VE1 = VE CHUYEN_BAY1 VE2 = VE CHUYEN_BAY2 VE3 = VE CHUYEN_BAY3 Phân rã quan hệ DAI_LY thành mảnh ngang DAI_LY1, DAI_LY2, DAI_LY3 định nghĩa: DAI_LY1 quầy bán vé CHUYEN_BAY1 DAI_LY2 quầy bán vé CHUYEN_BAY2 DAI_LY3 quầy bán vé CHUYEN_BAY3 Thiết kế định vị liệu Thiết kế phân mảnh liệu Phân rã quan hệ HANH_KHACH thành mảnh ngang HANH_KHACH1, HANH_KHACH2, HANH_KHACH3 định nghĩa sau:  HANH_KHACH1 hành khách mua vé CHUYEN_BAY1 mà DAL_LY1 bán  HANH_KHACH2 hành khách mua vé CHUYEN_BAY2 mà DAL_LY2 bán  HANH_KHACH3 hành khách mua vé CHUYEN_BAY3 mà DAL_LY3 bán Đối với quan hệ MAY_BAY, GHE, HANG_VE dùng chung cho vị trí nên ta không phân mảnh nên ta thường xuyên thêm cập nhật đồng vị trí Thiết kế sơ đồ ánh xạ địa phương Để hệ thống hoạt động tốt môi trường phân tán nên ta phải tạo bảng liệu vị trí sau: Sơ đồ định vị mảnh vị trí Sơ đồ ánh xạ địa phương Trong đó, R: Gồm quan hệ tổng thể SAN_BAY, TUYEN_BAY, CHUYEN_BAY, CHI_TIET_HANG_VE, VE, DAI_LY, HANH_KHACH Còn quan hệ tổng thể MAY_BAY, GHE, HANG_VE dùng chung ba vị trí nên ta thêm cập nhật đồng ba vị trí Các đoạn hình ảnh vật lý quan hệ tổng thể V Thiết kế vật lý trạm Do sử dụng phân mảnh ngang để phân tán liệu nên cấu trúc vật lý bảng liệu trạm giống Các bảng liệu tương ứng với thực thể mối quan hệ có hệ thống sau: Các ký hiệu: NULL: N (No, khơng rỗng), Y (Yes, rỗng) PK (Primary key – khóa chính) FK (Foreign key – khóa ngoại) 28 3/14/2014 V Thiết kế vật lý trạm Tên bảng STT V Thiết kế vật lý trạm Ý nghĩa Sân bay, chứa thông tin liên quan đến sân bay SAN_BAY Tên bảng STT phục vụ cho công tác quản lý sân bay Ý nghĩa Hạng vé, chứa thông tin liên quan đến hạng HANG_VE vé chuyến bay mà hành khách lựa chọn Chi tiết hạng vé, chứa thông tin liên quan Máy bay, chứa thông tin liên quan đến máy bay MAY_BAY phục vụ cho công tác quản lý máy bay CHI_TIET_HANG_VE Ghế, chứa thông tin liên quan đến ký hiệu ghế GHE máy bay CHUYEN_BAY TUYEN_BAY bay phục vụ cho công tác qlý chuyến bay VE DAI_LY vé xuất cho hành khách Tuyến bay, chứa thông tin liên quan đến tuyến bay hệ thống 10 HANH_KHACH V Thiết kế vật lý trạm Kiểu liệu, độ rộng phục vụ cho việc bán vé hệ thống Hành khách, chứa thông tin liên quan đến hành khách mua vé hệ thống Bảng MAY_BAY (Máy bay, chứa thông tin máy bay hệ thống) STT Tên trường Đại lý, chứa thông tin liên quan đến đại lý V Thiết kế vật lý trạm Cấu trúc bảng liệu hệ thống bán vé máy bay: Bảng SAN_BAY (Sân bay, chứa thơng tin sân bay có hệ thống ) ST máy bay ứng với tuyến bay Vé, chứa thông tin liên quan đến thông tin Chuyến bay, chứa thông tin liên quan đến chuyến đế số lượng vé, đơn giá theo hạng vé Null Ghi Tên trường Kiểu liệu, độ rộng Null Ghi MA_MB Varchar2 (5) N Mã máy bay (PK) MA_SB Varchar2 (3) N Mã sân bay (PK) TENMB Nvarchar2 (30) N Tên máy bay TEN_SB Nvarchar2 (30) N Tên sân bay SO_GHE Integer N Số ghế T Mã sân bay có ký tự XXX, mã sân bay tên sân bay đặt theo chuẩn hãng hàng không Việt Nam quốc tế V Thiết kế vật lý trạm V Thiết kế vật lý trạm Bảng GHE (Ghế, chứa thông tin ký hiệu ghế số thứ tự ghế máy bay để thuận tiện việc in vé lên máy bay cho hành khách) Bảng TUYEN_BAY có cấu trúc sau: STT Tên trường Kiểu liệu, độ rộng Mã máy bay có ký tự XXXX, mã máy bay tên máy bay ký hiệu theo hãng hàng không Việt Nam quốc tế Null Ghi MA_MB Varchar2 (5) N (PK) STT Integer N (PK) KY_HIEU_GHE Varchar2 (3) N Bảng TUYEN_BAY có cấu trúc sau: STT Tên trường Kiểu liệu, độ rộng Null Ghi MA_TB Varchar2 (7) N Mã tuyến bay (PK) MA_SB_DI Varchar2 (3) N Mã sân bay MA_SB_DEN Varchar2 (3) N Mã sân bay đến Mã máy bay có ký tự XXXX, mã máy bay tên máy bay ký hiệu theo hãng hàng không Việt Nam quốc tế 29 3/14/2014 V Thiết kế vật lý trạm V Thiết kế vật lý trạm Bảng HANG_VE (Hạng vé, chứa thông tin hạng vé chuyến bay mà hành khách lựa chọn) STT Tên trường MA_HV TEN_HV Kiểu liệu, độ rộng Null Varchar2 (4) N Nvarchar2 (50) N Ghi N Số hiệu chuyến bay MA_MB Varchar2 (50) N Mã máy bay (FK) MA_TB Varchar2 (7) N Mã tuyến bay (FK) THU Varchar2 (1) N Thứ GIO_BAY Varchar2 (5) N Giờ bay GIO_DEN Varchar2 (5) N Giờ đến Tên hạng vé Float Mã chuyến bay đánh tự động có chuyến bay thêm vào Số hiệu chuyến bay có ký tự XXX, số hiệu chuyến bay ký hiệu theo hãng hàng không việt Nam quốc tế Dựa vào số hiệu chuyến bay ta biết thứ, bay, đến V Thiết kế vật lý trạm Ghi Null Varchar2 (5) N Mã máy bay (PK) MA_HV Varchar2 (4) N Mã hạng vé MA_TB Varchar2 (7) N Mã tuyến bay (PK) SL_VE Integer N Số lượng vé DON_GIA Float N Đơn giá (PK) Trong máy bay chia số ghé theo nhóm ghé, nhóm ghé có đơn giá giành riêng cho hạng vé tuyến bay V Thiết kế vật lý trạm Bảng DAI_LY (Đại lý, chứa thông tin đại lý) Tên trường STT Kiểu liệu, độ rộng Ghi Null MA_DL Varchar2 (8) N Mã đại lý HO_TEN Nvarchar2 (40) N Họ tên đại lý TIEN_CUOC Float N Tiền cược DT Nvarchar2 (11) Y Điện thoại DC Nvarchar2 (50) Y Địa Trong đó, đại lý xuất vé cho hành khách hệ thống tự động trừ tài khoản tiền cược khoảng tiền thành tiền vé Mã đại lý có ký tự có dạng sau: XXAAAAAA, đó: XX HN đại lý thuộc vị trí (Hà Nội) quản lý XX DN đại lý thuộc vị trí (Đà Nẵng) quản lý XX SG đại lý thuộc vị trí (Sài Gịn) quản lý AAAAAA số thứ tự có đại lý thêm vào V Thiết kế hệ thống mạng Bảng HANH_KHACH (Hành khách, chứa thông tin hành khách) Kiểu liệu, độ rộng SO_HIEU_CB Varchar2 (3) MA_MB Tên trường Ghi Null Mã chuyến bay (PK) STT Kiểu liệu, độ rộng N Mã hạng vé (PK) Bảng CHI_TIET_HANG _VE (Chi tiết hạng vé, chứa thông tin liên quan đến số lượng vé, đơn giá cho hạng vé, máy bay tuyến bay): Kiểu liệu, độ rộng Tên trường MA_CB V Thiết kế vật lý trạm Tên trường STT Mã hạng vé có ký tự XXXX, vé chuyến bay có loại hạng vé sau: Mỗi hạng vé có khác ghế ngồi, suất ăn, đồ uống mà hành khách lựa chọn hạng vé cho phù hợp với yêu cầu STT Bảng CHUYEN_BAY (Chuyến bay, chứa thơng tin chuyến bay có hệ thống ) Ghi Null MA_HK Varchar2 (10) N Mã hành khách HO_TEN Varchar2 (40) N Họ tên hành khách HO_CHIEU Varchar2 (8) Y Hộ chiếu CMND Varchar2 (9) N Chứng minh nhân dân DT Nvarchar2 (11) Y Điện thoại DC Nvarchar2 (50) Y Địa Mã hành khách có 10 ký tự có dạng sau: XXAAAAAAAA, đó: XX HN HK mua vé đại lý thuộc vị trí bán XX DN HK mua vé đại lý thuộc vị trí bán XX SG HK mua vé đại lý thuộc vị trí bán AAAAAAAA số thứ tự có hành khách đến mua vé Mơ hình mạng: Client/Server Hệ QTCSDL: Oracle Server đóng vai trị Server trung tâm đặt Hà Nội, dùng để quản trị CSDL chi nhánh Hà Nội lưu tất bảng liệu Server chi nhánh Server trung tâm quản lý đến Server chi nhánh phân quyền truy cập CSDL hệ thống Do Server trung tâm phải đủ mạnh Server đặt chi nhánh Đà Nẵng đóng vai trị Client hệ thống Server chi nhánh dùng để quản trị CSDL chi nhánh Đà Nẵng chứa tất bảng liệu Server trung tâm Server đặt chi nhánh Sài Gòn đóng vai trị Client hệ thống Server chi nhánh dùng để quản trị CSDL chi nhánh Sài Gòn chứa tất bảng liệu Server trung tâm Server chi nhánh Đà Nẵng 30 3/14/2014 V Thiết kế hệ thống mạng VI Quản trị sở liệu phân tán Oracle Quản trị tên CSDL toàn cục Trong hệ thống CSDL phân tán, CSDL phải có tên tồn cục (Global Database Name) dùng để xác định CSDL Tên sở liệu toàn cục gồm hai thành phần tên CSDL (Database Name) tên miền (Domain Name) Tên CSDL từ đến ký tự Tên miền phải tuân theo chuẩn qui ước Internet, mức tên miền phải cách dấu chấm Sau ví dụ ta đặt tên cho CSDL tồn cục cho vị trí ORACLE Mơ hình mạng hệ thống bán vé máy bay DB_NAME DANANG VI Quản trị sở liệu phân tán Oracle  Xem tên CSDL toàn cục: SELECT * FROM GLOBAL_NAME  Thay đổi tên CSDL toàn tục: ALTER DATABASE RENAME GLOBAL_NAME TO databasename.domain  Ví dụ: Để đổi tên CSDL tồn cục DN.AIRLINE.VN thành DANANG.AIRLINE.VN ta thực lệnh: ALTER DATABASE GLOBAL_NAME TO DANANG.AIRLINE.VN DB_NAME DANANG DB_DOMAIN GLOBAL DATABASE NAME AIRLINE.VN HANOI.AIRLINE.VN AIRLINE.VN DANANG.AIRLINE.VN AIRLINE.VN SAIGON.AIRLINE.VN VI Quản trị sở liệu phân tán Oracle Cú pháp: Tạo Database links sử dụng câu lệnh SQL: CREATE [PUBLIC] DATABASE LINK [CONNECT TO user IDENTIFIED BY [USING ‘Connect string’]; dblink password] Trong đó: Public: Các user dùng chung Database link Dblink: Tên Database link User: Tên user mà ta muốn kết nối tới Password: Mật user mà ta muốn kết nối tới Connect_string: Chuỗi mô tả địa IP host SID Server SID: Định nghĩa Database DB_DOMAIN GLOBAL DATABASE NAME AIRLINE.VN HANOI.AIRLINE.VN AIRLINE.VN DANANG.AIRLINE.VN AIRLINE.VN SAIGON.AIRLINE.VN VI Quản trị sở liệu phân tán Oracle Tạo liên kết sở liệu (Database links) : Mục đích: để hỗ trợ cho ứng dụng truy xuất liệu từ xa (Remote Database) Một Database links trỏ CSDL cục (local database) cho phép bạn truy cập đến đối tượng liệu CSDL xa (remote database) Oracle cho phép tạo Database links câu lệnh SQL giao diện đồ họa VI Quản trị sở liệu phân tán Oracle  Ví dụ: Tạo Database link có tên DN.AIRLINE.VN để kết nối đến user DN_ADMIN password ab123456 CSDL tồn cục từ xa có tên DANANG.AIRLINE.VN Server có địa 192.168.1.10 CREATE DATABASE LINK "DN.AIRLINE.VN" CONNECT TO "DN_ADMIN" IDENTIFIED BY "ab123456" USING ' (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.10)(PORT=1521)) ) ( CONNECT_DATA=(SERVICE_NAME=DANANG.ARILINE.VN) ) )' 31 3/14/2014 VI Quản trị sở liệu phân tán Oracle Thực giao diện đồ họa Oracle: VI Quản trị sở liệu phân tán Oracle Sau thiết lập Database link thành công ta thực cơng việc sau:  Truy xuất liệu từ xa thông qua tên Database link: Ví dụ: Để xem thơng tin hành khách chi nhánh Đà Nẵng CSDL từ xa qua Database link DN.AIRLINE.VN, ta sử dụng câu lệnh SQL sau: SELECT * FROM DN_ADMIN.HANH_KHACH@DN.AIRLINE.VN  Đóng Database links: Nếu khơng cần thiết nên đóng xóa Database links để đảm bảo an toàn truy cập CSDL từ xa thông qua hệ phân tán, : ALTER SESSION CLOSE DATABASE LINK LinkName;  Xóa Database links: DROP [PUBLIC] DATABASE LINK dblink; CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN NỘI DUNG CHƯƠNG 4: 4.1 Giới thiệu xử lý truy vấn XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN 4.2 Xử lý truy vấn môi trường tập trung 4.3 Xử lý truy vấn mơi trường phân tán 4.4 Tối ưu hố truy vấn CSDL phân tán MỤC ĐÍCH NGUYEN MAU HAN, PhD HUE UNIVERSITY •Giới thiệu tranh tổng quát tối ưu hóa truy vấn mơi trường tập trung phân tán •Trình bày quy trình xử lý truy vấn hệ thống phân tán 190 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Mục đích xử lý truy vấn: • Giảm thiểu thời gian xử lý • Giảm vùng nhớ trung gian • Giảm chi phí truyền thơng trạm • Sử dụng tài nguyên Chức xử lý truy vấn: • Biến đổi truy vấn phức tạp thành truy vấn tương đương đơn giản • Phép biến đổi phải đạt tính đắn hiệu • Mỗi cách biến đổi dẫn đến việc sử dụng tài nguyên máy tính khác nhau, nên vấn đề đặt lựa chọn phương án dùng tài nguyên 191 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Ví dụ1: Trong CSDL cho, xét câu truy vấn “Cho biết tên nhân viên quản lý dự án” Câu lệnh SQL tương ứng: Nhận xét: (2) Sử dụng tài nguyên SELECT E.TENNV (1) FROM E, G WHERE E.MANV = G.MANV AND NHIEMVU= “Quản lý” Hai biểu thức tương đương từ câu lệnh SQL:  E.TENNV ( NHIEMVU "Quanly" ( E  E.TENNV ( E MANV MANV G)) ( NHIEMVU "Quan lý" (G))) (1) (2) 192 32 3/14/2014  E.TENNV ( E 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Chiến lược1 Ví dụ2: (minh hoạ tầm quan trọng việc chọn lựa vị trí cách truyền liệu câu truy vấn đại số) Xét câu truy vấn ví dụ 1: “Cho biết tên nhân viên quản lý dự án”  E.TENNV ( E MANV ( NHIEMVU "quan lý" (G))) Vị trí Kquả = E1’  E2’ E1’ Vị trí E1’ = E1 MANV G1’ Vị trí E2’ = E2  MANV G2’ G1’ G1’ = NHIEMVU = G2’ “Quản lý” (G1) G2’ =  NHIEMVU = 194 Ký hiệu: tupacc (tuble access): chi phí truy xuất bộ=1 đơn vị tuptrans (tuble transfer): chi phí truyền bộ=10 đơn vị Giả sử: Quan hệ NHANVIEN (E) có 400 Quan hệ HOSO (G) có 1000 bộ, có 20 người có nhiệm vụ quản lý dự án Chú ý: Các quan hệ E G phân mảnh thuộc tính MANV Tổng chi phí chiến lược 1: 195 Đánh giá chi phí chiến lược Truyền E từ vị trí vị trí đến vị trí cần: 400*tuptrans Truyền G từ vị trí vị trí đến vị trí cần: 1000*tuptrans Tạo G’ cách chọn G cần:1000*tupacc Nối E với G’ cần: (400*20)*tupacc Tổng cộng chi phí: = 4000 đv =10000 đv = 1000 đv = 8000 đv =23000 đv Vị trí Kquả = (E1  E2) MANV( NHIEMVU = E2 Vị trí 4: E2 1.Tạo G’ cách chọn G cần: (10+10)*tupacc = 20đv 2.Truyền G’ đến vị trí E cần:(10+10)*tuptrans = 200đv 3.Tạo E’ cách nối G’ với E cần:(10+10)*400*tupacc= 8000đv 4.Truyền E’ đến vị trí nhận kquả cần:(10+10)*tuptrans = 200đv Tổng cộng chi phí: = 8420 đv Chiến lược1 Vị trí Kquả = E1’  E2’ E1’ E2’ Vị trí : E1 Vị trí : E2 E1’ = E1 MANV G1’ Vị trí 1: G1 E2’ = E2  MANV G2’ G1’ G1’ = NHIEMVU = G2’ “Quản lý” (G1) G2’ =  NHIEMVU = Vị trí : G2 “Quản lý” (G2196 ) 4.1 GIỚI THIỆU VỀ XỬ LÝ TRUY VẤN Tổng chi phí chiến lược 2: E1 (G2) 193 Đánh giá chi phí chiến lược Vị trí 3: E1 Vị trí “Quản lý” G1=HOSO lưu vị trí Chiến lược2 Vị trí =  MANV  “E3” (HOSO) G2=HOSO2 =  MANV > “E3” (HOSO) lưu vị trí Kquả = (E1  E2) MANV( NHIEMVU = “Quản lý” (G1  G2)) E1=NHANVIEN1 = MANV  “E3” (NHANVIEN) lưu vị trí E2=NHANVIEN2 = MANV > “E3” (NHANVIEN) lưu vị trí Kết 52 Vị trí câu truy vấnVị trí Vị trí 1lưu vị trí Vị trí Đánh giá chi phí chiến lược Chiến lược2 Chú ý: chiều mủi tên hướng di chuyển liệu E2’ Vị trí ( NHIEMVU "quan lý" (G))) Giả sử hai quan hệ NHANVIEN HOSO phân mảnh ngang sau: G1=HOSO1 =  MANV  “E3” (HOSO) lưu vị trí G2=HOSO2 =  MANV > “E3” (HOSO) lưu vị trí E1=NHANVIEN1 = MANV  “E3” (NHANVIEN) lưu vị trí E2=NHANVIEN2 = MANV > “E3” (NHANVIEN) lưu vị trí Kết câu truy vấn lưu vị trí MANV “Quản lý” G1 Vị trí 1: G1 (G1  G2)) G2 Vị trí 2: G2197 Các phương pháp xử lý truy vấn • Phương pháp biến đổi đại số: Đơn giản hóa câu truy vấn nhờ phép biến đổi đại số tương đương nhằm giảm thiểu thời gian thực phép tốn Phương pháp khơng quan tâm đến kích thước cấu trúc liệu • Phương pháp ước lượng chi phí: Xác định kích thước liệu, thời gian thực phép toán câu truy vấn Phương pháp quan tâm đến kích thước liệu phải tính tốn chi phí thời gian thực phép toán 198 33 3/14/2014 Tối ưu hóa truy vấn 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG 4.2.1 So sánh xử lý truy vấn tập trung phân tán • Tập trung:  Chọn truy vấn đại số quan hệ tốt số truy vấn đại số tương đương  Các chiến lược xử lý truy vấn biểu diễn mở rộng đại số quan hệ • Phân tán  Kế thừa chiến lược xử lý truy vấn mơi trường tập trung  Cịn phải quan tâm thêm:  Các phép toán truyền liệu trạm  Chọn trạm tốt để xử lý liệu  Cách truyền liệu 199 Tối ưu hóa truy vấn Câu truy vấn phân tán Cục hóa liệu Tối ưu hố cục Truy vấn đại số quan hệ tối ưu Kiểm tra hợp lệ Chọn chiến lược tối ưu Truy vấn SQL hợp lệ Kế hoạch thực Dịch truy vấn Truy vấn đại số quan hệ Tạo sinh mã Mã truy vấn 200 Để hiểu kỹ thuật tối ưu phân tán ba lí do: Lược đồ phân mảnh • Thứ nhất, câu truy vấn phân tán phải dịch thành câu truy vấn cục bộ, xử lí theo phương pháp tập trung Các thống kê mảnh • Thứ hai, kỹ thuật tối ưu hoá phân tán thường mở rộng kỹ thuật tập trung Truy vấn mảnh tối ưu với phép tốn truyền thơng Các trạm địa phương Truy vấn ngữ pháp Tối ưu hóa đại số quan hệ Tại phải nghiên cứu xử lý truy vấn tập trung? Lược đồ tổng thể Truy vấn mảnh Tối ưu hố tồn cục Kiểm tra ngữ pháp 4.4.1 Chiến lược tối ưu CSDL tập trung Truy vấn đại số quan hệ phân tán Trạm điều khiển Câu truy vấn SQL Sơ đồ chung 4.2 XỬ LÝ TRUY VẤN TRONG MÔI TRƯỜNG TẬP TRUNG Trong môi trường phân tán Phân rã truy vấn Trong mơi trường tập trung Lược đồ địa phương • Thứ ba, tối ưu hoá tập trung thường đơn giản Các truy vấn cục tối ưu Sơ đồ phân lớp chung cho xử lý truy vấn phân tán 201 202 ĐẠI SỐ MỆNH ĐỀ 4.3 Xử lý truy vấn môi trường phân tán 4.3.1 Phân rã truy vấn Giai đoạn chia làm bốn bước: chuẩn hố, phân tích, loại bỏ dư thừa viết lại 4.3.1.1 Chuẩn hố Mục đích: chuyển đổi truy vấn thành dạng chuẩn để thuận lợi cho xử lý Với SQL, có hai dạng chuẩn cho vị từ mệnh đề WHERE là: Dạng chuẩn hội hội () phép toán tuyển (): (p11 p12  p1n)   (pm1 pm2  pmn) Dạng chuẩn tuyển tuyển () phép toán hội (): (p11  p12   p1n)   (pm1  pm2  pmn), pij biểu thức nguyên tố (vị từ đơn giản) 203 Bảng tương đương logic thường dùng Đặt T= đúng, F = sai p∧F ⇔ F p∨T ⇔ T p∨F ⇔ p p∧T ⇔ p p∧p ⇔p p∨p ⇔ p ¬(¬p) ⇔p p∧¬p ⇔ F p∨¬p ⇔ T 10.p∧q ⇔ q∧p Domination laws-Luật nuốt Identity laws-Luật đồng Idempotent laws-Luật lũy đẵng Double negation law-Luật phủ định kép Cancellation laws-Luật xóa bỏ Commutative laws-Luật giao hoán 204 34 3/14/2014 ĐẠI SỐ MỆNH ĐỀ 4.3 Xử lý truy vấn môi trường phân tán Bảng tương đương logic thường dùng (tt) 11 p∨q ⇔ q∨p 12 (p∧q)∧r ⇔ p∧(q∧r) Associative laws-Luật kết hợp 13 (p∨q)∨r ⇔ p∨(q∨r) 14 p∧(q∨r) ⇔ (p∧q)∨(p∧r) Distributive laws-Luật phân phối 15 p∨(q∧r) ⇔ (p∨q)∧(p∨r) 16 ¬(p∨q) ⇔ ¬p∧¬q De Morgan’s laws-Luật De Morgan 17 ¬(p∧q) ⇔ ¬p∨¬q 18 (p q) ⇔ (¬p∨q) Implication law-Luật kéo theo 19 p ∨ ( p ∧ q ) = p 20 p ∧ ( p ∨ q ) = p 205 4.3 Xử lý truy vấn mơi trường phân tán Ví dụ minh họa: xét CSDL công ty phần mềm cho Từ quan hệ: E= NHANVIEN (MANV, TENNV, CHUCVU) G= HOSO (MANV, MADA, NHIEMVU, THOIGIAN) Xét truy vấn:“Tìm tên nhân viên làm dự án có mã số J1 với thời gian 12 24 tháng” Truy vấn biểu diễn SQL: SELECT E TENNV FROM E, G WHERE E.MANV= G.MANV AND G.MADA=”J1” AND THOIGIAN=12 OR THOIGIAN=24 Điều kiện dạng chuẩn hội là: E.MANV=G.MANV  G.MADA=”J1”  (THOIGIAN=12  THOIGIAN=24) Điều kiện dạng chuẩn tuyển là: (E.MANV=G.MANV  G.MADA=”J1” THOIGIAN=12)  206 (E.MANV=G.MANV  G.MADA=”J1” THOIGIAN=24) 4.3 Xử lý truy vấn môi trường phân tán 4.3.1.2 Phân tích Mục đích: Phát thành phần không (sai kiểu sai ngữ nghĩa) loại bỏ chúng sớm Truy vấn sai kiểu: thuộc tính tên quan hệ khơng định nghĩa lược đồ tổng thể, phép toán áp dụng cho thuộc tính sai kiểu Ví dụ: truy vấn sai kiểu SELECT E# FROM E WHERE E.TENNV > 200 hai lý do: • Thuộc tính E# khơng khai báo lược đồ • Phép tốn “>200” khơng thích hợp với kiểu chuỗi thuộc tính E.TENNV Truy vấn sai ngữ nghĩa: thành phần khơng tham gia vào việc tạo kết Để xác định truy vấn có sai ngữ nghĩa hay không, ta dựa việc biểu diễn truy vấn đồ thị gọi đồ thị truy vấn Đồ thị xác định truy vấn liên quan đến phép chọn, chiếu nối Nếu đồ thị truy vấn mà khơng liên thơng truy vấn sai ngữ nghĩa 207 4.3 Xử lý truy vấn môi trường phân tán Đồ thị truy vấn: • Có nút dùng để biểu diễn cho quan hệ kết • Các nút khác biểu diễn cho toán hạng câu truy vấn (các quan hệ) • Cạnh nối hai nút mà nút kết biểu diễn phép nối • Cạnh có nút đích nút kết biểu diễn phép chiếu • Một nút khơng phải nút kết gán nhãn phép chọn phép tự nối (seft-join: nối quan hệ với nó) Đồ thị kết nối: • Là đồ thị đồ thị truy vấn (join graph), 209 có phép nối 208 4.3 Xử lý truy vấn mơi trường phân tán Ví dụ: Từ quan hệ E=NHANVIEN (MANV, TENNV, CHUCVU) G = HOSO (MANV, MADA, NHIEMVU, THOIGIAN) J=DUAN (MADA, TENDA, NGANSACH) Hãy xác định “Tên nhiệm vụ lập trình viên làm dự án CSDL có thời gian lớn năm.” Truy vấn SQL tương ứng là: SELECT FROM WHERE E.TENNV, G.NHIEMVU E, G, J E.MANV=G.MANV AND G.MADA.= J.MADA AND TENDA=”CSDL” AND THOIGIAN 36 AND NHIEMVU=”LTRINH” 210 35 3/14/2014 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán Đồ thị truy vấn đồ thị kết nối tương ứng Xét câu truy vấn SQL tương ứng: thiếu AND G.MADA=J.MADA SELECT E.TENNV, NHIEMVU FROM E, G, J WHERE E.MANV=G.MANV AND TENDA=”CSDL” AND THOIGIAN  36 AND CHUCVU=”Lập trình” Truy vấn sai ngữ nghĩa đồ thị truy vấn khơng liên thơng THOIGIAN  36 G E.MANV=G.MANV E CHUCVU= “Lập trình” G.MADA=J.MADA G.NHIEMVU J TENDA=”CSDL” E.TENNV Kết (a) Đồ thị truy vấn THOIGIAN  36 G E.MANV=G.MANV G G.MANV=G.MANV CHUCVU= “Lập trình” E G.NHIEMVU G.MANV=J.MANV J TENDA=”CSDL” E.TENNV E J (b) Đồ thị kết nối tương ứng Kết 211 4.3 Xử lý truy vấn môi trường phân tán 212 4.3 Xử lý truy vấn môi trường phân tán SELECT E.CHUCVU FROM E WHERE (NOT(E.CHUCVU=”Lập trình”) AND (E.CHUCVU=”Lập trình” OR E.CHUCVU=”Kỹ sư điện”) AND NOT(E.CHUCVU=”Kỹ sư điện”) OR E.TENNV=”Dũng” 4.3.1.3 Loại bỏ dư thừa • Điều kiện truy vấn có chứa vị từ dư thừa • Một đánh giá sơ sài điều kiện dư thừa dẫn đến lặp lại số cơng việc • Sự dư thừa vị từ dư thừa công việc loại bỏ cách làm đơn giản hố điều kiện thơng qua luật luỹ đẳng sau: p  p p p  true  true p  p p p   p  false p  true  p p   p  true p  false  p p1  (p1  p2)  p1 p  false  false 10.p1  (p1  p2)  p1 Ví dụ: Đơn giản hố câu truy vấn sau: Đồ thị truy vấn 213 4.3 Xử lý truy vấn môi trường phân tán Đặt p1:, p2:, p3: Các vị từ sau mệnh đề WHERE mô tả lại: p: ( p1  (p1  p2)   p2)  p3  (( p1  p1   p2)  ( p1  p2   p2))  p3 (áp dụng luật 7)  ((false   p2)  ( p1  false) ) p3 (áp dụng luật 5)  (false  false )  p3 (áp dụng luật 4)  p3 Vậy câu truy vấn biến đổi thành: SELECT E.CHUCVU FROM E 214 WHERE E.TENNV=”Dũng” 4.3 Xử lý truy vấn môi trường phân tán 4.3.1.4 Viết lại Bước chia làm hai bước sau: • Biến đổi trực tiếp truy vấn phép tính sang đại số quan hệ • Cấu trúc lại truy vấn đại số quan hệ để cải thiện hiệu thực • Cây đại số quan hệ mà nút biểu diễn quan hệ CSDL, nút không quan hệ trung gian sinh phép toán đại số quan hệ 215 Cách chuyển truy vấn phép tính quan hệ thành đại số quan hệ: • Các nút khác tạo cho biến khác (tương ứng quan hệ) Trong SQL nút quan hệ mệnh đề FROM • Nút gốc tạo phép chiếu lên thuộc tính kết Trong SQL nút gốc xác định qua mệnh đề SELECT • Điều kiện (mệnh đề WHERE SQL) biến đổi thành dãy phép tốn đại số thích hợp (phép chọn, nối, phép hợp, v.v ) từ đến gốc, thực theo thứ tự xuất vị từ 216 phép toán 36 3/14/2014 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán Ví dụ: Truy vấn “Tìm tên nhân viên “Dũng”, làm việc cho dự án CSDL với thời gian hai năm” Biểu diễn truy vấn SQL là: SELECT E.TENNV FROM J, G, E WHERE G.MANV=E.MANV SELECT E.TENNV FROM J, G, E WHERE G.MANV=E.MANV AND G.MADA= J.MADA AND E.TENNV “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12 OR AND G.MADA= J.MADA THOIGIAN=24) AND E.TENNV “Dũng” AND J.TENDA= “CSDL” AND (THOIGIAN=12 OR THOIGIAN=24) 217 218 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán 06 luật biến đổi phép toán đại số quan hệ: Mục đích: dùng để biến đổi đại số quan hệ thành tương đương (trong có tối ưu) Giả sử R, S, T quan hệ, R định nghĩa toàn thuộc tính A={A1, , An}, S định nghĩa tồn thuộc tính B={B1, , Bn} 1.Tính giao hốn phép tốn hai ngơi: Phép tích Decartes phép nối hai quan hệ có tính giao hốn i R  S  S  R ii R S  S R Tính kết hợp phép tốn hai ngơi: Phép tích Decartes phép nối hai quan hệ có tính kết hợp i (RS)  T  R  (ST) ii (R S) T  R (S T) Tính luỹ đẳng phép tốn ngơi • Dãy phép chiếu khác quan hệ tổ hợp thành phép chiếu ngược lại: A’(A’’(R))   A’(R) A’, A’’ R A’  A’’ • Dãy phép chọn khác  p ( A ) quan i i hệ, với pi vị từ gán vào thuộc tính Ai , tổ hợp thành phép chọn  p ( A ) ( p ( A ) ( R))   p ( A ) p ( A ) ( R) 1 2 1 2 219 220 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán Phép chiếu giao hoán với phép toán hai ngơi • Phép chiếu tích Decartes: Nếu C=A’B’ với A’ A, B’ B, A, B tập thuộc tính quan hệ R, S ta có: Phép chọn giao hoán với phép chiếu  A1 , ,An ( p ( Ap ) ( R))   A1 , ,An ( p ( Ap ) ( A1 , ,An , Ap ( R))) Nếu Ap thành viên {A1, , An}, biểu thức trở thành  C ( R  S )   A ' ( R)   B ' ( S )  A1 , ,An ( p ( Ap ) ( R))   p ( Ap ) ( A1 , ,An , Ap ( R)) Phép chọn giao hoán với phép tốn hai ngơi • Phép chọn với phép nhân:  p ( Ap ) ( R  S )   p ( Ap ) ( R)  S • Phép chọn với phép nối:  p( A ) (R i ( Ai ,Bk ) S )   p ( Ai ) ( R) ( Ai , Bk ) S  p ( A ) ( R  T )   p ( A ) ( R)   p ( A ) (T ) i Phép chiếu phép nối: C ( R p(Ai , B j ) S )   A' ( R) p(Ai ,B j )  B' (S ) • Phép chiếu phép hợp: C ( R  S )   A' ( R)   B ' (S ) • Phép chọn với phép hợp: Nếu R T thuộc tính i • i 221 Chú ý: Việc sử dụng sáu luật có khả sinh nhiều đại số quan hệ tương đương Vấn đề xác định cho tối ưu 222 37 3/14/2014 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán Chú ý: Trong giai đoạn tối ưu, so sánh thực dựa chi phí dự đốn chúng Tuy nhiên, số lượng lớn cách tiếp cận khơng hiệu Chúng ta dùng luật để cấu trúc lại cây, nhằm loại bỏ đại số quan hệ “tồi” Các luật sử dụng theo bốn cách sau: • Phân rã phép tốn ngơi, đơn giản hóa biểu thức truy vấn • Nhóm phép tốn ngơi quan hệ để giảm số lần thực • Giao hốn phép tốn ngơi với phép tốn hai ngơi để ưu tiên cho số phép toán (chẳng hạn phép chọn, chiếu, ) • Sắp thứ tự phép tốn hai ngơi thực truy vấn Cấu trúc lại truy vấn ví dụ trên, cho kết tốt ban đầu nhiên xa tối ưu 223 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán 4.3.2 Cục hóa liệu - Định vị liệu phân tán Vai trị tầng Cục hóa liệu: • dịch câu truy vấn đại số quan hệ tổng thể sang câu truy vấn đại số mảnh vật lý • Sử dụng thơng tin lưu trữ lược đồ phân mảnh để cục hóa liệu • Chương trình đại số quan hệ xây dựng lại quan hệ tổng thể từ phân mảnh gọi chương trình định vị • Truy vấn có từ chương trình định vị gọi truy vấn ban đầu • Chú ý: Trong phần đây, với kiểu phân mảnh biểu diễn kỹ thuật rút gọn để sinh truy vấn tối ưu đơn giản hoá 224 4.3.2.1 Rút gọn theo phân mảnh ngang nguyên thuỷ Xét quan hệ E(MANV,TENNV,CHUCVU) Tách quan hệ thành ba mảnh ngang E1, E2 E3 sau: E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E)  Chương trình định vị cho quan hệ E: E = E1  E2  E3  Dạng ban đầu truy vấn xác định E có cách thay E1  E2  E3  Việc rút gọn truy vấn quan hệ phân mảnh ngang bao gồm việc xác định câu truy vấn, sau cấu trúc lại Điều sinh số quan hệ rỗng, loại bỏ chúng  Phân mảnh ngang đựơc khai thác để làm đơn giản phép chọn phép nối 225 4.3 Xử lý truy vấn môi trường phân tán 226 4.3 Xử lý truy vấn môi trường phân tán E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E) a Rút gọn với phép chọn: cho quan hệ R phân mảnh ngang thành R1, R2, , Rn với R j   p (R) j Luật 1:  p ( R j )   xR : (pi(x)  pj(x)) Trong đó, j pi, pj vị từ chọn, x liệu, p(x) vị từ p chiếm giữ x Ví dụ: Hãy rút gọn truy vấn MANV=”E5” MANV=”E5”  SELECT * FROM E WHERE MANV=”E5” E2 Với E tách thành ba mảnh ngang E1, E2 E3 : E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) E3=MANV > ”E6”(E) 227 E1 E2 E3 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Rút gọn cách sử dụng tính chất giao hốn phép chọn với phép hợp, thấy vị từ chọn đối lập với vị từ E1 E3 nên sinh 228 quan hệ rỗng 38 3/14/2014 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán b.Rút gọn với phép nối • Ri, Rj xác định theo vị từ pi, pj thuộc thể đơn giản chúng phân mảnh theo thuộc tính nối • tính Việc rút gọn thực dựa tính phân phối Nhận xét: phép nối phép hợp loại bỏ phép nối vơ ích • • Với tính chất, (R1R2) Rj = xRi, yRj :  (pi(x)pj(y)) Trong Luật 2: Ri Các phép nối quan hệ phân mảnh ngang có R3 = (R1 R3)  (R2 Việc xác định phép nối vơ ích thực R3) , Ri cách xem xét vị từ mảnh phân mảnh Chúng ta xác định phép • Truy vấn rút gọn khơng phải ln tốt đơn giản nối vơ ích mảnh điều kiện nối mâu thuẫn truy vấn ban đầu Sau đó, dùng luật để loại bỏ phép nối • Một thuận lợi truy vấn rút gọn phép nối vơ ích thực song song 229 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn mơi trường phân tán Ví dụ: Giả sử quan hệ E phân mảnh thành mảnh E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) 230 E3=MANV > ”E6”(E) E1=MANV  ”E3”(E) E2=”E3”< MANV  ”E6”(E) G1=MANV”E3”(G) G2=MANV>”E3”(G) E Quan hệ G phân làm hai mảnh: G1=MANV”E3”(G) G2=MANV>”E3”(G) Nhận xét: G = (E1E2E3) (G1G2) = (E1 G1)(E1 G2)(E2 = (E1 G1 )  G1)(E2 (E2 G2)(E3 từ E2 E3 E, G WHERE E.MANV=G.MANV G2 )    Xét truy vấn * G2 ) (E3 MANV • Vị từ định nghĩa G2 hợp định nghĩa vị FROM G1)(E3 G2) • E1 G1 định nghĩa vị từ SELECT E3=MANV > ”E6”(E) E1 E2 E3 G1 MANV E1 G2 E3 G2 G2 Hình 4.8: Sự rút gọn phân mảnh ngang với phép nối 231 4.3.2.2 Rút gọn phân mảnh dọc • Chức việc phân mảnh dọc tách quan hệ dựa vào thuộc tính phép chiếu • Vì phép tốn xây dựng lại phân mảnh dọc nối, nên chương trình định vị quan hệ phân mảnh dọc nối mảnh vùng thuộc tính chung Ví dụ: Quan hệ E phân mảnh dọc thành E1, E2, với thuộc tính khố MANV lặp lại sau: E1 =  MANV,TENNV(E) E2 = MANV,CHUCVU(E) Chương trình định vị là: E = E1 MANV E2 • Các truy vấn phân mảnh dọc rút gọn cách xác định quan hệ trung gian vơ ích loại bỏ chứa chúng • Các phép chiếu phân mảnh dọc khơng có thuộc tính chung với thuộc tính chiếu (ngoại trừ khóa 233 quan hệ) vơ ích, quan hệ khác rỗng E2 MANV (b) Truy vấn rút gọn (a) Truy vấn ban đầu 4.3 Xử lý truy vấn môi trường phân tán G1 MANV 232 4.3 Xử lý truy vấn mơi trường phân tán Luật 3: D,K(Ri) vơ ích DA’= Trong đó, quan hệ R xác định A={A1, ,An}; R = A’(R), A’A , K khoá quan hệ, KA, D tập thuộc tính chiếu, D  A Ví dụ: Với quan hệ E phân mảnh dọc sau: E1 =  MANV,TENNV(E) E2 = MANV,CHUCVU(E)  TENNV  TENNV Xét truy vấn SQL: MANV SELECT FROM TENNV E E1 E2 (a) Truy vấn ban đầu E1 (b) Truy vấn rút gọn Hình 4.9: Rút gọn việc phân mảnh dọc Nhận xét: phép chiếu E2 vơ ích TENNV khơng có E2, nên phép chiếu cần gán vào E1 234 39 3/14/2014 4.3 Xử lý truy vấn môi trường phân tán 4.3 Xử lý truy vấn môi trường phân tán 4.3.2.3 Rút gọn theo phân mảnh gián tiếp • Sự phân mảnh ngang dẫn xuất cách tách hai quan hệ để việc xử lý nối phép chọn phép nối • Nếu quan hệ R phụ thuộc vào phân mảnh ngang dẫn xuất nhờ quan hệ S, mảnh R S, mà có giá trị thuộc tính nối, định vị trạm Ngồi ra, S phân mảnh tùy thuộc vào vị từ chọn • Khi R đặt tuỳ theo S, phân mảnh ngang dẫn xuất nên sử dụng mối quan hệ nhiều từ SR (i.e với S phù hợp với n R, với R phù hợp với S) • Truy vấn phân mảnh ngang dẫn xuất rút gọn được, vị từ phân mảnh mâu thuẫn phép nối đưa quan hệ rỗng • Chương trình định vị quan hệ phân mảnh ngang 235 dẫn xuất hợp mảnh G1 = G G2 = G MANV E1 MANV E2 Xử lý truy vấn môi trường phân E1= 4.3 E2= CHUCVU”Lập CHUCVU=”Lập trình” (E) trình”(E) Ví dụ: Cho mối quan hệ nhiều từ quan hệ E=NHANVIEN(MANV, TENNV, CHUCVU) đến quan hệ G=DUAN (MANV, MADA, NHIEMVU, THOIGIAN) Trong đó, quan hệ G phân mảnh ngang dẫn xuất: G1 = G G2 = G MANV E2 MANV E1 Và E phân mảnh ngang: E1= CHUCVU=”Lập trình”(E) E2= CHUCVU”Lập trình”(E) Chương trình định vị cho quan hệ phân mảnh ngang dẫn xuất hợp mảnh G=G 1G2 Để rút gọn truy vấn phân mảnh ngang dẫn xuất này, phép nối đưa quan hệ rỗng vị từ phân mảnh mâu thuẫn Ví dụ vị từ G1 E2 mâu thuẫn nhau, nên G1 E2 = 236 Chú ý: (G1 G2 ) CHUCVU=”ks khí”(E2) = (G1 CHUCVU=”ks khí”(E2)) (G2 CHUCVU=”ks khí”(E2)) tán  Ví dụ: Xét truy vấn SELECT * FROM E, G WHERE G.MANV=E.MANV AND CHUCVU=”KS khí”  CHUCVU=”KS khí” G1 MANV G1  G2 (a) Truy vấn ban đầu  CHUCVU=”KS khí”  CHUCVU=”KS khí” G2 E2 G2 E2 MANV (c) Truy vấn sau đẩy phép hợp lên  CHUCVU=”KS khí”  E2 MANV MANV MANV E1 G1 E2  CHUCVU=”KS khí”  G2 E2 (b) Truy vấn sau đẩy phép chọn xuống 237 4.3 Xử lý truy vấn môi trường phân tán E = (E1  E2) MANV Nhận xét: • Truy vấn ban đầu mảnh E1, E2, G1 G2 tương ứng hình 4.10a • Bằng cách đẩy phép chọn xuống mảnh E1 E2, truy vấn rút gọn hình 4.10b • Phân phối phép nối với phép hợp, thu hình 4.10c 238 • Cây bên trái đưa quan hệ rỗng, nên rút gọn có hình 4.10d 4.3 Xử lý truy vấn môi trường phân tán 4.3.2.4 Rút gọn theo phân mảnh hỗn hợp • Sự phân mảnh hỗn hợp kết hợp phân dọc phân mảnh ngang • Mục đích phân mảnh hỗn hợp hỗ trợ truy vấn liên quan đến phép chiếu, phép chọn phép nối • Chương trình định vị cho quan hệ phân mảnh hỗn hợp phép hợp phép nối mảnh Ví dụ: Xét quan hệ E phân mảnh hỗn hợp sau: E1=MANV  ”E4”(MANV,TENNV(E)), E2=MANV > ”E4”( MANV,TENNV(E)) E3= MANV,CHUCVU(E) Chương trình định vị là: (d) Truy vấn rút gọn Hình 4.10: Rút gọn phân mảnh gián tiếp Các truy vấn mảnh hỗn hợp rút gọn cách kết hợp luật sử dụng phân mảnh ngang nguyên thủy, phân mảnh dọc, phân mảnh ngang gián tiếp, tương ứng sau: 1.Loại bỏ quan hệ rỗng sinh mâu thuẫn phép chọn phân mảnh ngang 2.Loại bỏ quan hệ vơ ích sinh phép chiếu phân mảnh dọc 3.Phân phối phép nối với phép hợp để tách loại bỏ phép nối vơ ích E3 239 240 40 3/14/2014 Ví dụ: E1=MANV  ”E4”(MANV,TENNV(E)), E3= MANV,CHUCVU(E) SELECT FROM WHERE E2=MANV > ”E4”( MANV,TENNV(E)) TENNV E MANV=”E5” Câu hỏi cuối chương Mục đích tối ưu hố truy vấn CSDL phân tán Chức tối ưu hoá truy vấn phân tán Các phương pháp xử lý truy vấn Sơ đồ phân lớp chung cho xử lý truy vấn phân tán Cách chuyển truy vấn phép tính quan hệ thành đại số quan hệ Sử dụng luật biến đổi phép toán đại số quan hệ để biến đổi đại số quan hệ thành tương đương Định vị liệu phân tán-Tối ưu hoá cục  TENNV  TENNV MANV=”E5” MANV=”E5”  E2 E1 E2 E3 (a) Truy vấn ban đầu (b) Truy vấn rút gọn Hình 4.11: Rút gọn phân mảnh hỗn hợp 241 242 CHƯƠNG 4: XỬ LÝ TRUY VẤN TRONG CSDL PHÂN TÁN HẾT CHƯƠNG 243 41 ... ? ?C? ? s? ?? liệu phân tán (Distributed Database): DDB T T T Local database DB DC DDB DD Site Site DD Local database DB T DDB DC T T C? ?c thành phần DDBMS thương mại 37 Application Program Client DBMS... ASSIGNMENT Distributed Database Design Distributed Database Systems: Oracle8i Distributed Query Processing http://www.camden.rutgers.edu/HELP/Documentation/Oracle/server.815/ a67784/toc.htm Distributed. .. Distributed Database Systems: DB2 Distributed Transaction Management http://www.cs.mcgill.ca/~cs577/#Project Distributed Concurrency Control Distributed Deadlock Management Reliability of Distributed

Ngày đăng: 27/11/2020, 21:10

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan