Chương 1. Tìm hiểu về các hệ cơ sở dữ liệu phân tán - giới thiệu việc xử lý dữ liệu phân tán và bàn về các hệ cơ sở dữ liệu phân tán. Các công nghệ hỗ trợ việc xây dựng phần mềm quản lý CSDL phân tán - giới thiệu về cấu trúc Client/Server và các hệ quản trị cơ sở dữ liệu đang được dùng thông dụng hiện nay. Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán TIEU LUAN MOI download : skknchat@gmail.com 4 Chương 3.
Các ngôn ngữ lập trình dùng trong bài toán quản lý trên mạng Internet - Giới thiệu các ngôn ngữ lập trình hiện nay đang được sử dụng để xây dựng phần mềm quản lý CSDL phân tán: - HTML: Xây dựng các trang web tĩnh - VB Script, Java Script: là ngôn ngữ kịch bản để xử lý dữ liệu, xử lý các sự kiện trên các mẫu biểu ngay tại User trước khi dữ liệu được gửi về Server. - ASP: Xây dựng trang Web động và kết nối CSDL. Phần mềm thực nghiệm: Quản lý hệ đào tạo từ xa - giới thiệu cách xây dựng một trang web cụ thể. Phần kết luận tổng hợp những kết quả nghiên cứu của luận văn, chỉ ra một số hạn chế chưa hoàn thiện.
Đồng thời đề xuất một số hướng nghiên cứu cụ thể tiếp theo của tác giả luận văn. Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán TIEU LUAN MOI download : skknchat@gmail.com 5 BẢNG CHÚ GIẢI MỘT SỐ CỤM TỪ VIẾT TẮT ASP Active Server Pages CNTT Công nghệ thông tin CSDL Cơ sở dữ liệu DDBS Distributed Database Systems – Cơ sở dữ liệu phân tán DBMS Distributed Database Management System - Hệ quản trị CSDL phân tán HĐH Hệ điều hành HTML Hyper Text Markup Language IIS Internet Information System SQL Structure Query Language WWW World Wide Web BẢNG CHÚ GIẢI MỘT SỐ THUẬT NGỮ TIẾNG VIỆT Đa phương tiện Multimedia Đào tạo từ xa Distance learning Mật khẩu Password Máy chủ Server Máy khách Client Tên định danh Username Thảo luận trực tuyến Chat Thư điện tử Email Văn bản Text Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán TIEU LUAN MOI download : skknchat@gmail.com 6 CHƢƠNG 1. TÌM HIỂU VỀ CÁC HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN Công nghệ về các hệ cơ sở dữ liệu phân tán (distributed database systems, DDBS) là sự hợp nhất của hai hướng tiếp cận đối với quá trình xử lý dữ liệu: công nghệ CSDL và công nghệ mạng máy tính. Các hệ CSDL chuyển mình từ mô hình xử lý dữ liệu, trong đó mỗi ứng dụng định nghĩa và duy trì dữ liệu của riêng chúng (Hình l.l), sang mô hình định nghĩa và quản lý dữ liệu tập trung (Hình 1.
Hướng đi này đã dẫn đến tính độc lập dữ liệu (data independence), nghĩa là các ứng dụng được "miễn nhiễm" với những thay đổi về tổ chức logic hoặc vật lý của dữ liệu và ngược lại. Chương trình 1 Mô tả dữ liệu Tập tin 1 Chương trình 2 Dữ liệu thừa Mô tả dữ liệu Tập tin 2 Chương trình 3 Tập tin 3 Mô tả dữ liệu Hình 1.1 Mô hình xử lý dữ liệu Một trong những động lực chủ yếu thúc đẩy việc sử dụng hệ CSDL là nhu cầu tích hợp các dữ liệu của một xí nghiệp và cho phép truy xuất tập trung, nhờ vậy có thể điều khiển được các truy xuất đến dữ liệu. Còn công nghệ mạng máy tính đi ngược lại với mọi nỗ lực tập trung hóa. Nhìn thoáng qua, chúng ta rất khó hình dung ra làm cách nào tổng hợp hai hướng tiếp cận trái ngược nhau để cho ra một công nghệ mạnh mẽ và nhiều hứa hẹn hơn so với từng công nghệ riêng lẻ.
Mấu chốt của vấn đề là cần phải hiểu rằng, mục tiêu quan trọng nhất của công nghệ CSDL là sự tích hợp (integratior), không phải sự tập trung hóa (centralization). Cũng cần phải hiểu rằng giữa hai thuật ngữ, có được điều này không dẫn đến điều kia. Và vẫn có thể có tích hợp mà không cần tập trung hóa. Đây chính là mục tiêu của công nghệ cơ sở dữ liệu phân tán.
Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán TIEU LUAN MOI download : skknchat@gmail.tan 7 Chúng ta sẽ bắt đầu bằng cách nghiên cứu về các hệ thống phân tán nói chung, qua đó nêu bật được vai trò của công nghệ CSDL trong quá trình xử lý dữ liệu phân tán rồi chuyển sang các đề tài có liên quan trực tiếp đến các hệ cơ sở dữ liệu. CHƢƠNG TRÌNH 1 Mô tả dữ liệu CHƢƠNG TRÌNH 2 Thao tác dữ liệu CƠ SỞ DỮ LIỆU … CHƢƠNG TRÌNH 3 Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán (LUAN.tan TIEU LUAN MOI download : skknchat@gmail.2 Quản lý dữ liệu tập trung 1.1 Xử lý dữ liệu phân tán Thuật ngữ xử lý phân tán [7] (distributed processing) hoặc tính toán phân tán (distributed computing) trong vài năm trở lại đây có lẽ là một thuật ngữ bị lạm dụng nhiều nhất trong ngành khoa học máy tính. Nó đã được dùng để đề cập đến các hệ thống rải rác như các hệ đa bộ xử lý (multiprocessor system), công việc xử lý dữ liệu phân tán và mạng máy tính. Sự lạm dụng này vẫn tiếp tục trong một phạm vi mà đôi khi thuật ngữ xử lý phân tán được xem như một khái niệm trong khi đang tìm kiếm một định nghĩa và một tên thích hợp.
Một số thuật ngữ khác cũng được xem như đồng nghĩa với thuật ngữ này, chẳng hạn như chức năng phân tán (distributed function), mạng phân tán (distributed network), … Rõ ràng, trong một chừng mực nào đó, việc xử lý phân tán đã thể hiện trong một số hệ thống máy tính, kể cả trong các máy tính đơn bộ xử lý (single-processor computer). Ngay từ các máy tính thế hệ thứ hai, đơn vị xử lý trung tâm CPU (Central Proccessing Unit) và các chức năng xuất nhập (Input/output function) đã được tách riêng nhưng vẫn đan quyện vào nhau. Sự tách biệt và đan quyện này có thể được xem như một dạng xử lý phân tán. Tuy nhiên cũng cần nhận ra rằng điều mà chúng ta xem là xử lý phân tán ở đây không phải là hình thức phân bổ chức năng trên một hệ thống đơn bộ xử lý.
Một thuật ngữ đã gây nhiều nhầm lẫn sẽ rất khó định nghĩa chính xác. Có một số cố gắng nhằm định nghĩa việc xử lý phân tán một cách cụ thể và hầu như mỗi nhà nghiên cứu đều đưa ra một định nghĩa riêng. Trong luận văn này, chúng tôi định nghĩa xử lý phân tán theo một cách mà được nhiều tác giả dùng hơn cả để có thể dẫn đến một định nghĩa về hệ CSDL phân tán. Định nghĩa của chúng tôi cho một hệ thống tính toán phân tán (distributed computing system) khẳng định rằng đó là một số các bộ phận xử lý (processing element) tự vận hành (không nhất thiết phải cùng Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán (LUAN.tan TIEU LUAN MOI download : skknchat@gmail.tan 9 chủng loại) được liên kết bởi một mạng máy tính và hiệp đồng thực hiện các tác vụ mà chúng được phân công.
Các bộ phận xử lý muốn nói đến trong định nghĩa này là các thiết bị tính toán có thể chạy được một chương trình trên chính nó. Câu hỏi cơ bản đƣợc đặt ra là: Những gì được phân tán? Một trong những cái có thể được phân tán là thiết bị xử lý. Thực tế, định nghĩa về hệ thống tính toán phân tán được trình bày ở trên đã ngầm giả sử rằng các bộ phận xử lý được phân tán. Một kiểu phân tán nữa là chức năng.
Nhiều chức năng của hệ thống máy tính có thể được chuyển giao cho các thành phần phần cứng và phần mềm. Kiểu thứ ba là theo dữ liệu. Dữ liệu được dùng bởi một số ứng dụng có thể được phân tán cho một số vị trí xử lý. Cuối cùng là quyền điều khiển (control) cũng có thể phân tán.
Quyền điều khiển việc thực hiện một số tác vụ có thể được phân tán thay vì được thực hiện bởi một hệ thống máy tính. Từ góc độ của hệ CSDL phân tán, những kiểu phân tán này đều cần thiết và quan trọng. Các hệ thống xử lý phân tán có thể được phân loại dựa vào một số chuẩn. Bochmann đã liệt kê một số chuẩn này như sau: mức độ kết nối, cấu trúc tương giao, sự liên đới giữa các thành phần, và sự đồng bộ hóa giữa các thành phần [Bochmann, 1983].
Mức độ kết nối (degree of coupling) muốn nói đến một đơn vị đo lường nhằm xác định xem các thành phần xử lý được nối kết chặt chẽ với nhau đến mức độ nào. Nó có thể được xem là tỷ lệ giữa số lượng dữ liệu được trao đổi so với số lượng xử lý cục bộ được thực hiện trong một tác vụ. Nếu quá trình truyền dữ liệu (truyền thông) được thực hiện trên một mạng máy tính thì chúng ta nói có một kết yếu (weak coupling) giữa các phần tử xử lý. Tuy nhiên nếu các thành phần được dùng chung chúng ta gọi là kết chặt (strong coupling).
Các thành phần dùng chung có thể là bộ nhớ chính hoặc các thiết bị nhớ thứ cấp. Còn về cấu trúc tương giao (interconnection structure), người ta đề cập đến những trường hợp tương giao điểm- điểm giữa các bộ phận xử lý, trái với những trường hợp sử dụng một kênh tương giao chung. Các bộ phận xử lý có thể phụ thuộc nhiều vào những bộ phận xử lý khác khi thực thi một tác vụ, hoặc sự phụ thuộc qua lại này (sự liên đới) có thể chỉ là việc truyền thông báo khi bắt đầu thực thi và ghi nhận kết quả lúc kết thúc. Việc đồng bộ hoá (synchronization) giữa các bộ phận xử lý có thể được duy trì bằng phương thức đồng bộ (synchronous) hoặc không đồng bộ (asynchronous).
Chú ý rằng một số trong các chuẩn này không hoàn toàn độc lập với nhau. Chẳng hạn nếu Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán (LUAN.tan TIEU LUAN MOI download : skknchat@gmail.tan 10 việc đồng bộ hóa giữa các bộ phận xử lý thuộc kiểu đồng bộ, chúng ta hy vọng rằng các bộ phận xử lý sẽ hầu như liên đới mật thiết và có thể hoạt động theo kiểu kết chặt. Một câu hỏi hợp lý khác đƣợc đặt ra là: Tại sao chúng ta lại thực hiện phân tán? Nhiều câu trả lời kinh điển cho câu hỏi này đã chỉ ra rằng việc xử lý phân tán là nhằm thích ứng tốt hơn với việc phân bố ngày càng rộng rãi của các công ty, xí nghiệp, đồng thời một hệ thống như thế phải có độ tin cậy cao hơn và có khả năng đáp ứng tốt hơn. Quan trọng hơn, nhiều ứng dụng hiện tại của công nghệ máy tính được phân tán như một hệ quả tất yếu.