Chƣơng 1 Tìm hiểu về các hệ cơ sở dữ liệu phân tán
1.5 Một số vấn đề còn tồn tại trong hệ CSDL phân tán
1.5.9 Mối liên hệ giữa các vấn đề
Ở điểm này chúng ta cần khẳng định là những vấn đề đã nêu không phải độc lập với nhau. Lý do khiến chúng ta phải nghiên cứu chúng một cách riêng rẽ là bản thân chúng đã đủ phức tạp và chúng ta không thể trình bày toàn bộ cùng một lúc, và chúng ta có thể nhận ra tác dụng qua lại giữa chúng bằng cách sử dụng các tham số và ràng buộc. Sự thực, mỗi vấn đề đều bị ảnh hưởng bởi các giải pháp của các vấn đề khác, và đến lượt nó lại ảnh hưởng đến tập các giải pháp khả thi. Trong phần này chúng ta sẽ thảo luận về mối liên hệ của chúng.
Mối liên hệ giữa các thành phần được trình bày trong Hình 1.10. Thiết kế các CSDL phân tán có ảnh hưởng đến nhiều vấn đề khác. Nó ảnh hưởng đến việc quản lý thư mục bởi vì định nghĩa của các mảnh và vị trí chứa chúng xác định nội dung thư mục cũng như các chiến lược có thể được dùng để quản lý chúng. Những thông tin tương tự (nghĩa là cấu trúc mảnh và vị trí của chúng) được bộ xử lý vấn tin dùng để xác định chiến lược ước lượng vấn tin. Ngược lại các khuôn mẫu truy xuất và sử dụng được bộ xử lý vấn tin xác định lại được dùng làm nguyên liệu cho các thuật toán phân tán và phân mảnh dữ liệu. Tương tự, vị trí đặt thư mục và nội dung của nó ảnh hưởng đến việc xử lý câu vấn tin.
Nhân bản các mảnh để phân tán chúng có ảnh hưởng đến các chiến lược điều khiển đồng thời không thích hợp với các CSDL có nhân bản. Tương tự, các khuôn mẫu sử dụng và truy xuất CSDL sẽ ảnh hưởng đến các thuật toán điều khiển đồng
thời. Nếu môi trường phải cập nhật thường xuyên, các dự phòng cần thiết sẽ khác với môi trường chỉ có yêu cầu vấn tin.
Có mối liên hệ mật thiết giữa bài toán điều khiển đồng thời, bài toán quản lý khóa gài và những vấn đề liên quan đến độ tin cậy. Đây là điều mong muốn bởi vì
chúng thường được gọi chung là vấn đề quản lý giao dịch (transaction
management). Thuật toán điều khiển đồng thời sẽ xác định xem có cần phải có riêng một công cụ quản lý khóa gài hay không. Nếu dùng một thuật toán dựa trên khóa chốt, khóa gài sẽ xảy ra, trong khi đó nếu dùng thuật toán dựa trên nhãn thời gian thì không có.
Hình 1.10. Mối liên hệ giữa các đề tài đang được nghiên cứu.
Cơ chế về độ tin cậy (khả tín) được cài đặt bên trên thuật toán điều khiển đồng thời. Vì thế mối liên hệ giữa chúng rất dễ hiểu. Cũng cần phải nêu rõ là cơ chế khả tín đang được xem xét có ảnh hưởng đối với việc chọn lựa thuật toán điều khiển đồng thời. Các kỹ thuật cung cấp độ khả tín cũng cần dùng đến thông tin về vị trí dữ liệu bởi vì sự tồn tại các bản sao dữ liệu đóng vai trò "điểm gác" cho độ tin cậy.
Hai trong số nhưng vấn đề mà chúng ta đã thảo luận trong những phần trước - hệ điều hành và các CSDL đa chủng - không được minh họa trong Hình 1.10. Hiển nhiên là không phải do chúng không "dính líu" đến các vấn đề khác mà thực ra thì ngược lại mới đúng. Loại hệ điều hành được dùng và những đặc trưng được nó hỗ trợ ảnh hưởng rất lớn đến các chiến lược giải quyết những vấn đề khác. Tương tự, bản chất của tất cả những vấn đề này thay đổi đáng kể trong môi trường đa chủng
Quản lý thư mục
Thiết kế CSDL phân tán
Điều khiển đồng thời Quản lý khoá gài
Độ tin cậy Xử lý vấn tin
loại. Những vấn đề giống như thế phải được giải quyết bằng các phương pháp khác nhau khi kiến trúc máy, hệ điều hành và các phần mềm quản trị CSDL khác nhau giữa các vị trí.
CHƢƠNG 2.
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
Trong chương 1, chúng ta đã tìm hiểu mô hình CSDL phân tán, tại sao ta phải xử lý phân tán. Để đưa những lý thuyết đó vào áp dụng trong thực tế thì cần phải có một số công nghệ, ngôn ngữ. Trong chương này tôi xin giới thiệu khái quát một số công nghệ, ngôn ngữ đang được sử dụng để thiết kế nên một phần mềm quản lý CSDL phân tán trên mạng Internet.
Trước hết, để có thể quản lý CSDL trên Internet (thực ra có thể hiểu đơn giản đây là một website động) có thể hoạt động được là nó phải làm việc trên mô hình Client/Server. Tức là mỗi Client hay Server đều đảm đương một chức năng riêng để hoàn thành công việc chung đó là cho ra một trang Web động. Chúng ta đã quá quen thuộc với chương trình Winword để soạn thảo văn bản, nó có thể hoạt động độc lập trên bất kỳ máy tính nào, không cần quan tâm đến Client hay Server là cái gì. Ứng dụng Web thì khác hẳn, phải có một mô hình Server (có thể chỉ cần một máy tính làm Server thôi), nhằm để tập trung hoá việc xử lý dữ liệu. Còn các Client còn được hiểu là máy tính của người sử dụng phải được nối mạng với Server. Giả sử các máy này truy cập vào một website chẳng hạn, thì có nghĩa là họ đã truy cập vào Server, sau đó lấy dữ liệu từ Server về thể hiện trên máy tính của mình. Cùng một lúc có rất nhiều người (Client) truy cập vào cùng một website và cùng được xử lý trên Server.