Chương 1: Tổng quan nghiên cứu đề tài Chương này sẽ trình bày sơ lược về tổng quan đề tài nghiên cứu: tính cấp thiết, tình hình nghiên cứu về đề tài ở trong và ngoài nước, mục tiêu nghiên cứu, đối tượng, phạm vi nghiên cứu, và các phương pháp nghiên cứu khi tìm hiểu về vấn đề truy vấn và tối ưu hóa truy vấn cơ sở dữ liệu phân tán trong hệ thống thông tin. Chương 2: Tổng quan về cơ sở dữ liệu phân tán Nội dung chương này sẽ trình bày một cách tổng quan nhất về CSDL phân tán, bao gồm các khái niệm, đặc trưng và kiến trúc của cơ sở dữ liệu phân tán đồng thời nội dung của chương này cũng giới thiệu thêm một số các mô hình xử lý phân tán trong hệ thống thông tin. Chương 3: Các nguyên lý chung của tối ưu hóa truy vấn cơ sở dữ liệu phân tán Trong chương này sẽ giới thiệu về nguyên lý xử lý truy vấn, các chiến lược tối ưu hóa truy vấn cơ bản, một số các phép biến đổi đại số và các kỹ thuật tối ưu hóa tập trung làm nền tảng cho tối ưu hóa trong CSDLPT. 9 Chương 4: Tối ưu hóa truy vấn phân tán Nội dung chương này sẽ đề cập đến vấn đề tối ưu hóa truy vấn như cách phân rã câu truy vấn, phương pháp định vị dữ liệu phân tán và các chiến lược và các thuật toán để tối ưu hóa truy vấn phân tán.
Đồng thời trong chương này cũng đưa ra nững hạn chế còn tồn tại trong nghiên cứu và đặt ra các hướng phát triển nghiên cứu trong tương lai. 10 CHƯƠNG 2: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 1. Khái niệm về hệ cơ sở dữ liệu phân tán 1. Cơ sở dữ liệu phân tán Trong các Hệ thống thông tin (HTTT) xử lý tập trung, hệ cơ sở dữ liệu phát triển từ mô hình xử lý dữ liệu mà trong đó mỗi hệ thống ứng dụng định nghĩa một hay nhiều tệp dữ liệu riêng, các dữ liệu được ánh xạ sang mô hình định nghĩa và được quản lý tập trung.
Mô hình này dẫn đến sự độc lập dữ liệu, nói cách khác, các ứng dụng có sự bất biến tương đối về cấu trúc lưu trữ và chiến lược truy cập dữ liệu. Tuy nhiên, trong các hệ xử lý phân tán, các thành phần của hệ xử lý phân tán nằm độc lập về mặt vật lý, có sự liên kết tương đối lỏng lẻo thông qua các hệ thống mạng kết nối, do đó “hệ dữ liệu phân tán” được coi như công cụ làm cho quá trình xử lý dữ liệu phân tán dễ dàng và hiệu quả hơn. Cơ sở dữ liệu phân tán được phát triển như là một tất yếu trong mô hình xử lý thông tin này. Cơ sở dữ liệu phân tán: Là một tập hợp nhiều cơ sở dữ liệu có liên đới logic và được phân bố rải rác trên nhiều máy trong một mạng máy tính.
Trong mô hình cơ sở dữ liệu phân tán, bản thân cơ sở dữ liệu có ở trên nhiều máy tính khác nhau. Như vậy, đặc trưng nổi bật nhất của cơ sở dữ liệu phân tán là các CSDL được phân bố trên nhiều máy tính khác nhau trong một mạng máy tính và có liên đới về mặt logic. Tuy nhiên, việc làm rõ thế nào là một CSDLPT có liên đới logic và một tập hợp các CSDL rời rạc vẫn còn tương đối khó khăn. Hiện tại, vẫn chưa tồn tại một định nghĩa rõ ràng về các liên đới logic trong CSDLPT, nhưng một định nghĩa được chấp nhận phổ biến như sau: Liên đới logic: Toàn bộ dữ liệu của CSDLPT có một số các thuộc tính ràng buộc chúng với nhau, điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ hoặc các tập tin lưu trữ tại các vị trí khác nhau trong một mạng máy tính.
Hệ CSDL phân tán không đơn thuần là tập hợp các tệp dữ liệu đơn lẻ phân bố rời rạc trong mạng máy tính. Để hình thành một hệ CSDL phân tán, cần có một cấu trúc giao diện chung giữa các tệp dữ liệu này để có thể xây dựng một cơ chế truy cập lẫn nhau giữa các tệp dữ liệu. Ví dụ: CSDL quan hệ thường được tổ chức và biểu diễn dưới dạng các bảng. Việc phân mảnh một quan hệ thành nhiều quan hệ con khác nhau để lưu trữ trên nhiều máy trạm trong một mạng máy tính thường được thực hiện theo cách phân mảnh theo chiều dọc hoặc theo chiều ngang.
Cụ thể: cho quan hệ PROJ = {PNO, BUDGET, PNAME, LOG}; quan hệ PROJ có thể tách thành hai quan hệ PROJ1 = {PNO, BUDGET} và quan hệ PROJ2 = {PNO, PNAME, LOG} và hai quan hệ này có thể được lưu trữ ở hai máy trạm khác nhau. 11 Giả sử quan hệ PROJ có dữ liệu như sau. PNO BUDGET PNAME LOG P1 150000 Instrumentation Montreal P2 350000 Database development New York P3 250000 CAD/CAM New York P4 139000 Maintenance Paris Khi đó: PROJ1 = 𝜋𝑃𝑁𝑂,𝐵𝑈𝐷𝐺𝐸𝑇 (𝑃𝑅𝑂𝐽) và có kết quả tương ứng là PNO BUDGET P1 150000 P2 350000 P3 250000 P4 139000 Đồng thời: PROJ2 = 𝜋𝑃𝑁𝑂,𝑃𝑁𝐴𝑀𝐸,𝐿𝑂𝐺 (𝑃𝑅𝑂𝐽) và có kết quả tương ứng là PNO PNAME LOG P1 Instrumentation Montreal P2 Database development New York P3 CAD/CAM New York P4 Maintenance Paris Vậy trong CSDLPT quan hệ PROJ sẽ được lưu trữ dưới dạng hai quan hệ PROJ1 và PROJ2. Cùng với sự phát triển của các cấu trúc tổ chức kinh tế xã hội, trong đó các cơ quan tổ chức thường hoạt động phân tán trong một phạm vi rộng, tầm quốc gia hoặc toàn cầu, các thiết kế và cài đặt hệ CSDL phân tán là phù hợp và đáp ứng mọi nhu cầu truy xuất dữ liệu.
Sự phát triển mạnh của công nghệ phần cứng, mạng truyền thông cũng đảm bảo cho các hệ thống sử dụng hệ CSDL phân tán có tính tin cậy và tính sẵn sàng cao, giảm chi phí truyền thông và đảm bảo hiệu suất công việc. Hệ quản trị cơ sở dữ liệu phân tán Hệ quản trị CSDL là một tập hợp các chương trình cho phép người dùng định nghĩa, tạo lập, bảo trì các CSDL và cung cấp các truy cập có điều khiển đến các CSDL này. Mục đích chính của một hệ CSDL là cung cấp cho người dùng một cách nhìn trừu tượng về dữ liệu. Điều đó có nghĩa là hệ thống che dấu những chi tiết phức tạp về cách thức dữ liệu được lưu trữ và bảo trì.
Hệ CSDL phân tán cũng đòi hỏi một Hệ quản trị CSDL phân tán có những đặc điểm riêng biệt. Hệ quản trị cơ sở dữ liệu phân tán: Hệ quản trị CSDL phân tán cung cấp công cụ như tạo lập và quản lý CSDL phân tán. Hệ quản trị CSDL phân tán có chức năng hỗ trợ việc tạo và bảo trì CSDL phân tán, chúng có các thành phần tương tự như một hệ quản trị CSDL tập trung và các thành phần hỗ trợ trong việc chuyển tải dữ liệu đến các trạm và ngược lại. 12 Các thành phần sau đây đòi hỏi một Hệ quản trị CSDL phân tán thương mại phải có: - Quản trị dữ liệu (database management): DBM - Truyền thông dữ liệu (data communication): DC - Từ điển dữ liệu (data dictionary): DD dùng để mô tả thông tin về sự phân tán của dữ liệu trên mạng.
- Cơ sở dữ liệu phân tán (distributed database): DDB Hệ quản trị CSDL phân tán sử dụng nhiều kiến trúc lưu trữ phân tán khác nhau, có thể phân thành một số loại chính như sau: Cơ sở dữ liệu phân tán thuần nhất: Một CSDLPT được coi là thuần nhất nếu thỏa mãn tính chất sau: tất cả các nút (các máy tính trạm của một mạng máy tính dùng để lưu trữ toàn bộ CSDLPT) cùng sử dụng một loại hệ quản trị CSDL. CSDLPT thuần nhất thường được xây dựng bằng cách chia một CSDL thành một tập CSDL cục bộ. Phương phức xử lý trong CSDLPT thuần nhất thuận lợi cho việc tăng trưởng, mở rộng CSDL và cho phép nâng cao hiệu năng xử lý của toàn hệ thống. Cơ sở dữ liệu phân tán hỗn tạp: Ngược lại với CSDLPT thuần nhất, trong CSDLPT hỗn tạp, các nút có thể thực hiện trên các hệ quản trị CSDL khác nhau.
CSDLPT hỗn tạp thường xảy ra khi CSDL mới được xây dựng từ tập hợp các nút mạng đã cài đặt CSDL riêng. Khi đó, thay vì xây dựng lại các CSDL cục bộ, hệ thống mới được xây dựng bằng cách tích hợp luôn các CSDL cục bộ đã có. Các đặc trưng của cơ sở dữ liệu phân tán CSDL phân tán không đơn giản là sự thực hiện phân tán của các CSDL tập trung, bởi vì chúng cho phép thiết kế các đặc trưng khác với CSDL tập trung truyền thống. Các đặc điểm tiêu biểu của CSDL truyền thống gồm: Điều khiển tập trung, độc lập dữ liệu, giảm dư thừa dữ liệu, biệt lập và bảo mật dữ liệu.
Những đặc điểm này trong CSDLPT có sự thay đổi đáng kể, tạo ra một hướng đi mới trong việc xây dựng các HTTT trên CSDLPT. Điều khiển tập trung Trong CSDL tập trung: Khả năng điều khiển tập trung trên toàn nguồn tài nguyên thông tin của tổ chức, được xem là động cơ mạnh nhất cho việc ra đời CSDL. Chúng được phát triển như là sự tiến hoá của hệ thống thông tin mà trong đó mỗi ứng dụng có các tập tin riêng của nó. Trong CSDL phân tán: Ý niệm về điều khiển tập trung ít được nhấn mạnh hơn, điều này phụ thuộc vào kiến trúc của CSDL phân tán.
Kiến trúc của CSDLPT được trình bay chi tiết hơn ở phần tiếp theo, tuy nhiên ở đây, chúng ta có thể nhận định các 13 CSDLPT được xây dựng dựa vào kiến trúc client/server đặc biệt là kiến trúc multi- client/single-server sẽ có mức độ điều khiển tập trung cao hơn các kiến trúc khác, ví dụ như kiến trúc CSDLPT ngang hàng (peer-to-peer). Độc lập dữ liệu Trong CSDL phân tán, độc lập dữ liệu cũng quan trọng giống như trong CSDL truyền thống. Tuy nhiên, một khía cạnh mới được thêm vào trong ý niệm của độc lập dữ liệu là trong suốt phân tán. Với trong suốt phân tán chúng ta hiểu rằng các chương trình ứng dụng có thể sử dụng CSDL như là nó không được tổ chức phân tán.
Vì thế sự chính xác của chương trình không bị ảnh hưởng bởi việc dịch chuyển dữ liệu từ trạm này đến trạm khác, tuy nhiên tốc độ thực hiện của chúng bị ảnh hưởng. Trong CSDLPT, việc trong suốt phân tán sẽ dựa trên các phương pháp để làm ẩn các kỹ thuật rời rạc hóa dữ liệu được sử dụng. Do đó, trong suốt CSDLPT được chia thành các vấn đề nhỏ hơn, bao gồm: trong suốt phân đoạn, trong suốt về vị trí, trong suốt ánh xạ địa phương, trong suốt nhân bản.