Tài liệu tham khảo công nghệ thông tin Truy nhập cơ sở dữ liệu trên mạng trong môi trường mạng Internet và Intranet
Trang 1CHƯƠNG MỞ ĐẦU
GIỚI THIỆU CHUNG
1 Sự phát triển của mạng thông tin máy tính và ứng dụng
Trong xu thế toàn cầu hoá hiện nay, máy tính và các hệ thống mạngthông tin máy tính ngày càng được sử dụng rộng rãi trong hầu hết các lĩnhvực kinh tế, văn hoá và xã hội Các ứng dụng phong phú của mạng máytính có thể kể đến ở đây là:
Sử dụng chung tài nguyên như máy in Laser, máy in nhanh, ổ đĩacứng với dung lượng lớn (hàng chục đến hàng trăm GigaByte)trong tự động hoá văn phòng; sử dụng chung tài nguyên tính toánchính là các máy PC có công suất ngày càng lớn trong mạng cụcbộ đối với các tính toán khoa học
Truy nhập từ xa đối với các hệ thống tính toán có công suất lớnhoặc các mạng cục bộ với các dịch vụ thông tin giá trị gia tăngphong phú
Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toánvà kiểm tra tài khoản trên phạm vi toàn cầu
Các hệ thống thông tin dịch vụ liên quốc gia như đăng ký và đặtchỗ khách sạn, đăng ký và thanh toán vé máy bay, vé tầu
hoả,.v.v
Các hệ thống quản lý như hệ thống thông tin thư viện, hệ thốngphục vụ cho công tác quản lý đào tạo trong các trường đạihọc,.v.v
Các hệ thống thông tin xã hội công cộng.
Những yếu tố thúc đẩy sự phát triển nhanh chóng của máy tính vàmạng thông tin máy tính, đó là:
6
Trang 2 Những tiến bộ đáng kể của công nghiệp vi điện tử, cho phép sảnxuất các linh kiện điện tử (các bộ vi xử lý, bộ nhớ, các vi mạchđiều khiển ghép nối ngoại vi và thông tin số liệu, các vi mạchthực hiện chuyển mạch gói) có công suất ngày càng lớn, tiêu haonăng lượng ngày càng ít, giá thành hạ
Cải tiến và nâng cao hiệu suất tính toán trên cơ sở cải tiến kiếntrúc của toàn bộ hệ thống
Việc đưa vào sử dụng các hệ thống truyền dẫn tốc độ cao, xácsuất lỗi truyền thấp trên cơ sở sử dụng cáp quang và việc thựchiện các ghép nối truyền dẫn và chuyển mạch thông minh, côngsuất lớn (thành quả của công nghiệp vi điện tử)
Bản thân công nghệ mạng thông tin máy tính cũng có những tiếntriển đáng ghi nhận Những cố gắng thực hiện mạng máy tính theo mô hìnhISO/OSI - do độ phức tạp, "nặng nề" của các giao thức thực hiện chức năngcủa các mức - cũng không phủ nhận được một thực tế là các mạng thôngtin máy tính được thực hiện trên cơ sở bộ giao thức TCP/IP đang tăngtrưởng một cách hết sức nhanh chóng Do tính mềm dẻo, dễ thích ứngtrong các môi trường mạng khác nhau trong nguyên tắc hoạt động của bộgiao thức TCP/IP, lại được hỗ trợ rộng rãi trong các hệ điều hành quantrọng và thông dụng hiện nay như UNIX, Window9.x, Window NT để thựchiện kết nối mạng và liên kết các mạng, công nghệ Internet/Intranet đã trởthành công nghệ kết nối mạng tiêu chuẩn và hiệu quả hiện nay.
Từ khi mạng máy tính ra đời nó phục vụ rất nhiều trong mọi lĩnh vựcđời sống kinh tế xã hội như con người có thể khai thác thông tin trên mạng,lấy dữ liệu và dùng chung dữ liệu trên mạng, Nhưng từ những nguồn tinấy từ đâu để con người có thể truy nhập tới và sử dụng chúng Cho nên khimôi trường mạng phát triển về phần cứng và phần mềm hệ điều hành mạngcòn những phần thông tin để chúng ta cung cấp cho người dùng truy nhậpđến thì thế nào? Vì vậy, chúng ta phải tổ chức thiết kế cơ sở dữ liệu trênmạng máy tính để người dùng tin có thể truy nhập đến những thông tin màhọ cần Bài luận văn giải quyết một phần nhỏ về vấn đề này.
7
Trang 32 Nội dung của luận văn
Dựa vào nền tảng của sự phát triển công nghệ mạng thông tin máytính, một phần ứng dụng để phát triển môi trường mạng trong bài luận văn
tốt nghiệp của tôi là “Truy nhập cơ sở dữ liệu trên mạng trong môi
trường mạng Internet và Intranet”.
Trong bài luận văn gồm bốn chương và một phụ lục có cấu trúc như
toán thực tế.
Đề tài của luận văn là vấn đề mới đối với sinh viên và do những hạnchế nhất định về thời gian, chắc rằng luận văn không thể tránh khỏi cónhững thiếu sót Rất mong được sự chỉ bảo của các thầy cô giáo và góp ýcủa các bạn để tôi có thể hoàn thiện về mặt kiến thức để tiếp tục nghiên cứuphát triển sau này.
8
Trang 4CHƯƠNG I
KHÁI NIỆM CƠ SỞ DỮ LIỆU
TRONG MÔI TRƯỜNG CLIENT/SERVER
Trước khi nêu các khái niệm cơ sở dữ liệu trong môi trườngClient/Server ta nêu khái niệm Client, Server, Client/Server.
Khái niệm về thành phần Client: phần mềm chịu tránh nhiệm thunhận yêu cầu của người sử dụng, xử lý sơ bộ và chuyển cho Server dướimột dạng thích hợp Nó cũng làm nhiệm vụ nhận kết quả từ Server gửi đếnvà hiển thị thông tin cho người sử dụng
Khái niệm về thành phần Server: nhận các yêu cầu từ Client, xử lý
chúng bằng nhiều cách như đọc tệp, tìm kiếm cơ sở dữ liệu rồi gửi trả lạikết quả cho Client
Khái niệm Client/Server là hai phần mềm có thể được thực hiện trêncùng một máy hoặc trên hai máy với các hệ điều hành khác nhau Việc xửlý thông tin thực hiện trên Server Client đóng vai trò giao tiếp với người sử
dụng và thực hiện trao đổi dữ liệu với Server nếu cần Việc kết nối giữaClient và Server tuân theo các giao thức trao đổi thông tin nhất định
Trong chương này ta xét hai phần trong cơ sở dữ liệu Client/Servergồm:
Các cách cấu hình khác nhau cho ứng dụng cơ sở dữ liệuClient/Server.
Các kiến trúc đa dạng được dùng đối với cơ sở dữ liệu phân tántrên nhiều máy tính.
1 Cấu hình cơ sở dữ liệu Client/Server
Các dạng khác nhau của mô hình ba phần ba về tính toánClient/Server có thể kết hợp với nhau để tạo nên cấu hình tính toán phântán theo độ phức hợp xác định Phần này tập trung vào mô hình phân tán dữliệu trong tính toán Client/Server và các dạng khác nhau của mô hình này.
9
Trang 5Mô hình phân tán truy nhập dữ liệu nêu trên là dạng sử dụng chungnhất của mô hình phân tán Client/Server Đó là dạng phân tán Client/Serverdùng với phần mềm cơ sở dữ liệu, trong đó cơ sở dữ liệu ứng dụng dùngnhiều bộ xử lý.
Mô hình phân tán truy nhập dữ liệu có thể được phân rã để rõ cách tổchức liên kết các thành phần trong quá trình xử lý dữ liệu Phần này sẽ giớithiệu cách thức để cấu hình hoá ba thành phần chung cho tất cả các ứngdụng cơ sở dữ liệu sau đây:
Các thành phần của quá trình ứng dụng. Thành phần phần mềm cơ sở dữ liệu. Cơ sở dữ liệu.
1.1 Cấu hình cơ sở dữ liệu Client/Server
Các mô hình xử lý cơ sở dữ liệu khác nhau tuỳ thuộc vào nơi đặt cácthể hiện của ba phạm trù thành phần trên Phần này lần lượt xét năm môhình kiến trúc; tất cả đều dựa trên cấu hình phân tán truy nhập dữ liệu củatính toán Client/Server:
Mô hình cơ sở dữ liệu tập trung.
Mô hình cơ sở dữ liệu dùng máy chủ file. Mô hình xử lý lấy dữ liệu từ cơ sở dữ liệu. Mô hình cơ sở dữ liệu Client/Server. Mô hình cơ sở dữ liệu phân tán.
Năm mô hình này có thể dùng hỗn hợp để tạo nên cấu hình ứng dụngcơ sở dữ liệu đa dạng.
1.1.1 Mô hình cơ sở dữ liệu tập trung
Trong mô hình tập trung, các thành phần ứng dụng, phần mềm cơ sởdữ liệu và bản thân cơ sở dữ liệu đều trên cùng bộ xử lý.
10
Trang 6Chẳng hạn người dùng máy cá nhân có thể chạy chương trình ứngdụng với phần mềm ORACLE để truy nhập cơ sở dữ liệu trên đĩa cứngtrong máy Do các thành phần ứng dụng, phần mềm cơ sở dữ liệu và cơ sởdữ liệu trên cùng máy, ứng dụng này phù hợp với mô hình tập trung.
Nhiều quá trình xử lý thông tin của các tổ chức lớn vẫn theo mô hìnhxử lý tập trung, chẳng hạn bộ xử lý mainframe chạy phần mềm IMS hayDB2 của IBM có thể cho phép các trạm đầu cuối khai thác với độ phân tánrộng Tuy nhiên trong nhiều hệ thống như vậy, cả ba thành phần của ứngdụng cơ sở dữ liệu khai thác cùng trên mainframe.
1.1.2 Mô hình cơ sở dữ liệu dùng máy chủ file
Mô hình máy chủ file đặt các thành phần ứng dụng và phần mềm cơsở dữ liệu trên một hệ thống tính toán, và các file vật lí dùng để chứa cơ sởdữ liệu đặt trên hệ thống tính toán khác.
Cấu hình như vậy thường được dùng trong môi trường mạng cục bộ,trong đó một máy giữ file dữ liệu để các máy khác truy nhập Trong môitrường máy chủ file, phần mềm mạng sẽ tạo điều kiện để mỗi máy ngườidùng sẽ có cảm giác như máy chủ file chỉ dùng cho riêng mình.
Mô hình máy chủ file tương tự như mô hình tập trung: file cơ sở dữliệu đặt trên máy khác với thành phần ứng dụng và phần mềm cơ sở dữliệu; tất nhiên các thành phần ứng dụng và phần mềm cơ sở dữ liệu có thểđược thiết kế như đã thao tác trong môi trường tập trung Thực tế phầnmềm mạng đã tạo nên môi trường mà những phần mềm ứng dụng và phần
Ứng dụngPhần mềm cơ sở dữ liệu
Cơ sở dữ liệu
TotoHình 1 Mô hình cơ sở dữ liệu tập trung.
Trang 7mềm cơ sở dữ liệu luôn cảm thấy như đang làm việc với cơ sở dữ liệu tậptrung.
Môi trường như vậy có thể phức tạp hơn mô hình tập trung vì phầnmềm mạng có cơ chế xử lý tương tranh, cho phép nhiều người dùng cùngtruy nhập đồng thời một dữ liệu.
1.1.3 Mô hình xử lý trích dữ liệu
Một dạng của cơ sở dữ liệu từ xa có thể dùng phần mềm cơ sở dữliệu để rút, trích dữ liệu Người ta dùng thuật ngữ xử lý trích dữ liệu(database extract processing).
12Ứng dụng
Mạng truyền thông Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệuHình 2 Mô hình cơ sở dữ liệu máy chủ file.
Ứng dụng
Mạng truyền thông Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệuCơ sở dữ liệu
Ứng dụng
Phần mềm cơ sở dữ liệu
Hình 3 Mô hình rút dữ liệu.
Trang 8Với mô hình này người ta có các cơ sở dữ liệu trên các máy nốimạng Một máy dùng phần mềm cơ sở dữ liệu để truy nhập máy kia và rútdữ liệu cần thiết Kết quả chuyển về máy yêu cầu, trên đĩa cứng của máynày Người dùng sử dụng bản sao tại chỗ của dữ liệu.
Bằng tiếp cận này, người dùng cần biết nơi cất dữ liệu và cách truynhập cơ sở dữ liệu ở xa, cũng như bảo trì cơ sở dữ liệu Phần mềm ứngdụng phụ trợ cần đặt trên cả hai hệ thống tính toán để truy nhập dữ liệu vàchuyển dữ liệu giữa hai hệ thống Tuy nhiên phần mềm cơ sở dữ liệu chạytrên hai máy không cần báo trước những truy nhập từ xa, do hai máy hoạtđộng độc lập.
1.1.4 Mô hình cơ sở dữ liệu Client/Server
Trong mô hình cơ sở dữ liệu Client/Server thực sự mô tả trong hìnhvẽ, cơ sở dữ liệu đặt trên một máy tính; các máy khác chạy các thành phầnxử lí ứng dụng Nhưng phần mềm cơ sở dữ liệu được tách ra trên các máyClient, cho phép chạy các chương trình ứng dụng và hệ thống Server lưutrữ cơ sở dữ liệu.
13Ứng dụng
Mạng truyền thông Máy Server
Trang 9Các thành phần xử lí ứng dụng của hệ thống Client trong mô hìnhnày yêu cầu phần mềm cơ sở dữ liệu cục bộ Thành phần phần mềm cơ sởdữ liệu cục bộ trong máy Client liên lạc với phần mềm cơ sở dữ liệu phụchạy trên máy Server Phần mềm cơ sở dữ liệu máy Server truy nhập cơ sởdữ liệu và chuyển kết quả về máy Client.
Thoạt nhìn mô hình cơ sở dữ liệu Client/Server tương tự như môhình máy chủ file Thế nhưng mô hình Client/Server có ưu điểm so với môhình kia Với mô hình máy chủ file, thông tin liên kết với mỗi lần truy nhậpcơ sở dữ liệu vật lí cần đi theo mạng Thao tác cơ sở dữ liệu yêu cầu nhiềutruy nhập có thể gây tắc nghẽn mạng.
Giả sử người dùng yêu cầu dữ liệu tổng, yêu cầu này đòi hỏi phần tửdữ liệu từ 100 bản ghi cơ sở dữ liệu Theo cách tiếp cận máy chủ file, tất cả100 bản ghi chạy qua mạng Lí do là phần mềm cơ sở dữ liệu chạy trênmáy người dùng cần truy nhập và kiểm tra từng bản ghi có đáp ứng điềukiện không Còn theo tiếp cận cơ sở dữ liệu Client/Server, chỉ một câu hỏivà kết quả cuối cùng đi trên mạng Phần mềm cơ sở dữ liệu thao tác trênmáy tính có cơ sở dữ liệu và có khả năng thực hiện yêu cầu rồi cho kết quả.Người ta phân biệt phần mềm phía trước, tuyến trước và phần mềm ởphía sau, tuyến sau:
(a) Phần mềm tuyến trước: Mô hình cơ sở dữ liệu Client/Serverthường dùng phần mềm gọi là phần mềm làm trước, phần mềm làm sau.Phần mềm tuyến trước đặc trưng ở chỗ chạy trên máy cá nhân hay trạmlàm việc tại chỗ và đáp ứng nhu cầu tính toán cho các cá nhân khác Điểnhình là phần mềm này giữ vai trò Client trong ứng dụng cơ sở dữ liệuClient/Server và thực hiện chức năng hướng về nhu cầu người dùng Nhìnchung phần mềm tuyến trước thuộc về một trong những phạm trù sau:
Phần mềm cơ sở dữ liệu cho người dùng. Phần mềm lập báo cáo và hỏi đơn giản. Phần mềm phân tích dữ liệu.
Các công cụ phát triển ứng dụng. Các công cụ quản trị cơ sở dữ liệu.
14
Trang 10(b) Phần mềm tuyến sau: Phần mềm này gồm phần mềm cơ sở dữliệu Client/Server và phần mềm mạng chạy trên máy tính dùng làm máyServer cơ sở dữ liệu.
1.1.5 Mô hình cơ sở dữ liệu phân tán
Mô hình máy chủ file và mô hình cơ sở dữ liệu Client/Server đều giảthiết cơ sở dữ liệu đặt trên một bộ xử lý và chương trình ứng dụng truynhập cơ sở dữ liệu được đặt trên bộ xử lý khác Mô hình phân tán thực sựgiả thiết bản thân cơ sở dữ liệu nằm trên nhiều máy, tức là nhiều hệ thốngxử lí.
Phần tiếp theo sẽ mô tả các cơ chế dùng trong hệ thống cơ sở dữ liệuphân tán Rồi sẽ là các mô hình kiến trúc khác nhau để xây dựng môitrường cơ sở dữ liệu phân tán.
1.2 Cơ chế phân tán dữ liệu
15Ứng dụng
Trang 11Có ba tiếp cận chính về cơ chế phân tán, dùng để quản lý truy nhậpcơ sở dữ liệu; đó là cơ chế tập trung, phân đoạn, và sao chép cơ sở dữ liệu.
1.2.1 Tập trung
Tiếp cận tập trung được dùng với mô hình tập trung vừa trình bày,trong đó cơ sở dữ liệu không hoàn toàn theo phân bố vật lí Người ta bảoquản toàn bộ cơ sở dữ liệu trên một máy tính Server tại trung tâm, và cácthành phần Client chạy trên các máy tính khác để truy nhập máy Server.Bản thân cơ sở dữ liệu là tập trung dù việc khai thác được tổ chức phân tán.Với nhiều môi trường làm việc, tiếp cận tập trung là thích hợp Nócho phép tất cả các thao tác cập nhật cơ sở dữ liệu được thực hiện tại chỗvà không cần nhiều bản sao dữ liệu Tuy nhiên máy Server trong tiếp cậnnày trở nên điểm hay mắc lỗi trong hệ thống Nếu rủi ro xảy ra tại máyServer, không ai có thể truy nhập nó.
1.2.2 Phân đoạn
Theo kiểu phân đoạn, một số bản ghi cơ sở dữ liệu được ghi trên mộtmáy tính, và một số bản ghi khác được ghi trên các máy tính còn lại Tuynhiên theo cách này không phần dữ liệu nào lại ghi ở nhiều chỗ; do vậy chophép cơ chế cập nhật trở nên đơn giản hơn.
Người ta dùng nhiều loại phân đoạn dữ liệu, thông thường có thể kểra gồm:
Tất cả các bảng đối với bất kỳ cơ sở dữ liệu nào cũng có thể ghi ởmột chỗ; cơ sở dữ liệu khác nhau ghi tại nơi khác nhau Tất cảcác cơ sở dữ liệu có thể được xử lí bằng cùng phần mềm cơ sở dữliệu.
Các bảng khác nhau của cùng một cơ sở dữ liệu có thể được ghitại nhiều nơi khác nhau.
Các phần tử dữ liệu tạo nên bảng quan hệ có thể được phân tách,hoặc theo dòng hoặc theo cột.
Người ta dễ dàng phát hiện ra phần mềm cơ sở dữ liệu tại những nơiđặt dữ liệu Bản thân phần mềm cơ sở dữ liệu có thể lưu trữ tất cả thông tinliên quan đến vị trí của dữ liệu, hoặc người ta dùng dịch vụ thư mục toàn
16
Trang 12mạng để giúp phần mềm cơ sở dữ liệu định vị những phần khác nhau củacơ sở dữ liệu.
1.2.3 Bảo sao dữ liệu và trích dữ liệu
Với tiếp cận phân đoạn hay tập trung, không có một bản sao dữ liệunào trong cơ sở dữ liệu Mỗi dữ liệu được ghi chỉ ở một nơi Hai tiếp cậnphụ dùng để tạo nên nhiều bản sao của toàn bộ hay một phần dữ liệu đượcdùng dưới dạng kĩ thuật sau:
Trích dữ liệu Bản sao cơ sở dữ liệu được gọi là trích (extract)
khi bản sao được dùng với phép đọc Các giá trị phần tử dữ liệutrích ra không phục vụ cho mục đích cập nhật.
Bảo sao dữ liệu Bản sao cơ sở dữ liệu được gọi là sao (replica)
khi giá trị phần tử dữ liệu sao chép dùng được cho mục đích cậpnhật Khi đó giá trị mới sẽ được cập nhật trong toàn cơ sở dữ liệu,tức trên cả bản sao khác.
Nhờ kĩ thuật trích và sao dữ liệu, các giá trị dữ liệu của cơ sở dữ liệuđược ghi tại nhiều nơi khác nhau; người ta có thể nâng tính sẵn sàng, giảmtỉ lệ mất dữ liệu do sai sót và tăng hiệu suất Tuy nhiên đó lại là nguy cơmất bền vững dữ liệu Có thể sao chép toàn bộ cơ sở dữ liệu hay nếu dùngkĩ thuật phân đoạn thì người ta có thể sao chép một phần cơ sở dữ liệu.
Để phân biệt khác nhau giữa trích dữ liệu và sao dữ liệu, người ta xétchi tiết về kĩ thuật này.
1.2.4 Trích dữ liệu
Trích dữ liệu được dùng trong nhiều hoàn cảnh, khi cần phân tán cácbản sao cơ sở dữ liệu trên nhiều nơi Một trích đoạn dữ liệu có thể là bảosao toàn bộ cơ sở dữ liệu, hay chỉ là kết hợp các đoạn riêng.
Các kiểu trích đa dạng trên dữ liệu có thể khác nhau tuỳ theo cơ chếcho phép chương trình ứng dụng quyết định tính thời sự của thông tin.Phần trích dữ liệu có thể không kèm thông tin về thời gian của nó, hoặc nómang luôn thông tin về thời gian, tổng kiểm tra để phục vụ cho việc đồngbộ quá trình chung.
1.2.5 Bản sao dữ liệu
17
Trang 13Bảo sao dữ liệu tương tự như trích dữ liệu, trừ việc bản sao cho phépcập nhật Với bản sao, phần mềm cơ sở dữ liệu cần đảm bảo các phần tử dữliệu giữ được đồng bộ với các giá trị khác trong cơ sở dữ liệu chính Vì cónhiều bản sao giá trị phần tử dữ liệu cho nên phải khẳng định được việc cậpnhật tiến hành đồng thời trên tất cả các bản sao.
Nhiều cơ chế đã hội nhập các bản sao lại Như vậy một khi bản saothay đổi, chỉ một nó được cập nhật Các giá trị phần tử dữ liệu được cậpnhật trong bản sao này được di về cơ sở dữ liệu chính Trong trường hợpkhác, phép cập nhật tiến hành với cơ sở dữ liệu chính cũng như với các bảnsao.
Phần mềm cơ sở dữ liệu có thể được thiết kế để lan truyền các thayđổi đã thực hiện trên bản sao tới các bản sao khác và tới cơ sở dữ liệu mộtcách nhanh nhất Theo một vài lược đồ, bản sao được thiết kế như một bảnsao chính (master replica), còn các bản sao khác được gọi là bản sao phụ(secondary replica) Phép toán cập nhật cơ sở dữ liệu được coi là hoànthành khi mà bản sao chính đã được cập nhật Thành phần phần mềm cơ sởdữ liệu ứng với bản sao chính có trách nhiệm truyền tất cả những cập nhậttới các bản sao phụ sau một khoảng thời gian.
Lược đồ khác dùng hàm hội nhập (convergence funtion) để đồng bộhoá bản sao của cơ sở dữ liệu và khẳng định lại tại cơ sở dữ liệu chính.Hàm hội nhập là hàm phân tán, có các thành phần chạy trên các máy lưubản sao Hàm này có thể chạy thường kì hay đột xuất tuỳ theo yêu cầu hộinhập trong cơ sở dữ liệu cụ thể.
Phần mềm cơ sở dữ liệu có thể đảm bảo các cơ chế đồng bộ hoá đadạng Người thiết kế cơ sở dữ liệu hay quản trị cơ sở dữ liệu có thể xácđịnh cơ chế đồng bộ dùng trên cơ sở dữ liệu hay trên vài bản sao Tất nhiêndù với hàm đồng bộ hoá nào, không cơ sở dữ liệu phân tán nào đạt đượchoàn toàn đồng bộ tại mọi thời điểm.
1.3 Cập nhật cơ sở dữ liệu có bản sao
Khi tất cả các phần của cơ sở dữ liệu có bản sao thì cơ chế dùng đểhội nhập các bản sao có thể hạn chế theo kiểu cập nhật áp dụng với cơ sởdữ liệu Trong môi trường có nhiều bản sao, loại cập nhật đơn giản nhất đốivới hàm hội nhập có các đặc tính sau:
18
Trang 14 Toàn bộ Cập nhật được gọi là toàn bộ khi nó dùng để bổ sung
phần tử dữ liệu mà không để ý đến bất kỳ cập nhật đã thực hiệnvới cập nhật này.
Như cũ Cập nhật có tính chất như cũ (idempotent) gây cùng một
tác dụng trên cơ sở dữ liệu không lệ thuộc vào nhiều lần áp dụng. Giao hoán Một dãy cập nhật là giao hoán nếu kết quả không phụ
thuộc vào thứ tự áp dụng từng phép cập nhật.
Đặc tính cập nhật như cũ và toàn bộ được thể hiện qua một số nhấtđịnh các kiểu phép toán Chẳng hạn thay thế giá trị phần tử dữ liệu cũ bằnggiá trị mới là toàn bộ và như cũ; còn cập nhật tăng hay giảm giá trị thìkhông Với cập nhật theo kiểu toàn bộ hay như cũ, phần mềm cơ sở dữ liệukhông cần cơ chế đảm bảo thực hiện chỉ một lần phép cập nhật Chỉ cầnđảm bảo ít nhất thực hiện một lần; đó là vấn đề đơn giản Một dãy các cậpnhật có thể giao hoán nếu dùng đánh dấu thời gian Tất cả những cập nhậtcó thể gắn với thời điểm cập nhật để người ta sắp xếp lịch thực hiện.
Phép cập nhật toàn bộ, như cũ và giao hoán là các phép dễ quản lýnhất nhờ thuật toán hội nhập Nếu phần mềm cơ sở dữ liệu cho phép ngườidùng thực hiện cập nhật dữ liệu mà thiếu các tính chất này thì cần sử dụngcơ chế phức tạp để hội nhập.
1.4 Nhạy cảm về vị trí
Một mục đích của phần mềm cơ sở dữ liệu phân tán là cho phépngười dùng và các chương trình ứng dụng độc lập hoàn toàn về vị trí lưutrữ dữ liệu Người dùng có thể yêu cầu dữ liệu rồi chương trình ứng dụngtruy nhập đến dữ liệu mà không để ý đến nơi lưu trữ dữ liệu Tuy khó đảmbảo được tính hoàn toàn trong suốt trong hệ thống Cho đến khi đạt đến độtrong suốt về các đối tượng, phần mềm cơ sở dữ liệu cần tuân theo các ràngbuộc về cách thức phân đoạn, sao chép và loại hình cập nhật dữ liệu.
1.5 Kết luận về cấu hình cơ sở dữ liệu Client/Server
Mô hình phân tán truy nhập dữ liệu là dạng phân tán Client/Serverđặc biệt sử dụng để hợp nhất các phần mềm cơ sở dữ liệu Client/Server.Trong mô hình phân tán truy nhập dữ liệu, ba loại thành phần quan trọnggồm các thành phần xử lí ứng dụng, thành phần phần mềm cơ sở dữ liệu,và cơ sở dữ liệu Các thành phần này có thể kết hợp với nhau theo nhiều
19
Trang 15cách để hình thành mô hình cơ sở dữ liệu tập trung, mô hình cơ sở dữ liệumáy chủ file, mô hình xử lí trích dữ liệu, mô hình cơ sở dữ liệuClient/Server và mô hình cơ sở dữ liệu phân tán.
Với tiếp cận tập trung, toàn bộ cơ sở dữ liệu lưu tại một chỗ và chỉ
phân tán với việc truy nhập dữ liệu Với tiếp cận phân đoạn, các phần của
dữ liệu được lưu tại nhiều nơi để tăng hiệu quả sử dụng Một đích quantrọng của phần mềm cơ sở dữ liệu phân tán là đảm bảo chương trình ngườidùng độc lập với vị trí của dữ liệu.
Phần tiếp sau đây sẽ xét các kiến trúc khác nhau để phát triển tiệnnghi khi truy nhập cơ sở dữ liệu từ xa và truy nhập cơ sở dữ liệu phân tántheo phần mềm cơ sở dữ liệu.
2 Kiến trúc phần mềm cơ sở dữ liệu phân tán
Thực hiện hệ thống cơ sở dữ liệu phân tán có thể đơn giản hay phứctạp Trong môi trường đồng nhất, các kiểu hệ thống tính toán làm việc trêncơ sở dữ liệu được điều khiển chặt Do vậy không mấy vất vả Một vài lượcđồ phân tán cơ sở dữ liệu được thiết kế trên nền tảng cụ thể, gồm phầncứng, hệ thống điều hành và phần mềm mạng cân xứng Chẳng hạn có hệthống dùng toàn máy cá nhân dựa trên vi xử lý Intel, với hệ thống điềuhành của Microsoft, hệ điều hành mạng Novell Do vậy người thiết kế cơsở dữ liệu phân tán chuyên tâm vào phần mềm cho môi trường đồng nhất,các chức năng đơn giản.
Bên cạnh đó, các môi trường không đồng nhất về phần cứng, phầnmềm đòi hỏi người ta có những cố gắng nhiều hơn Người ta có thể dùnghệ thống điều hành Apple, IBM, Microsoft, UNIX với vi xử lí Intel,Motorola Nhiều giao thức truyền thông đa dạng như TCP/IP, SNA củaIBM, IPX/SPX của NetWere Chức năng thực hiện của phần mềm cơ sởdữ liệu phân tán trong môi trường không đồng nhất cần phức tạp hơnnhiều.
Để tiện tạo nên môi trường cơ sở dữ liệu phân tán không đồng nhất,người ta dùng ba mô hình kiến trúc phần mềm sau:
Mô hình cổng.
Mô hình giao diện chuẩn.
20
Trang 16 Mô hình giao thức chuẩn.
2.1 Mô hình cổng
Mỗi hệ thống con về phần mềm cơ sở dữ liệu được thiết kế để dùnggiao diện chương trình ứng dụng API cụ thể Các chương trình ứng dụngmuốn sử dụng dịch vụ của phần mềm cơ sở dữ liệu biết được Tiện nghitruy nhập người dùng do nhà cung cấp phần mềm cơ sở dữ liệu giới thiệucó thể thay thế chương trình ứng dụng trong môi trường mà người ta truynhập trực tiếp các tiện nghi phần mềm cơ sở dữ liệu.
Mô hình cổng trong cơ sở dữ liệu phân tán cho phép chương trìnhviết theo API của cơ sở dữ liệu đã biết để yêu cầu dịch vụ của phần mềmcơ sở dữ liệu; phần mềm này trợ giúp cho API khác Mô hình cổng dựa vàothành phần cổng để thực hiện giao ước từ một API này đến API khác.
Thí dụ:
Người ta viết chương trình ứng dụng để truy nhập cơ sở dữ liệuORACLE Nó truy nhập cổng và cổng này chuyển từ API ORACLE sangAPI của cơ sở dữ liệu DB2 Cổng này truy nhập phần mềm cơ sở dữ liệuDB2 với tư cách Client Thực tế thì cổng đã đánh lừa cả chương trình ứngdụng lẫn phần mềm cơ sở dữ liệu Chương trình ứng dụng nghĩ rằng nókhai thác cơ sở dữ liệu ORACLE, còn phần mềm cơ sở dữ liệu DB2 tưởngrằng nó đang phục vụ chương trình ứng dụng DB2.
21Phương tiện hỏi và lập báo cáo
Giao diện API của cơ sở dữ liệuGiao diện API của cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Hình 6 Mô hình cổng.
Chương trình ứng dụng ORACLEGiao diện API của ORACLE
Giao diện API của ORACLE
Cổng ORACLE/DB2
Giao diện API của DB2
Giao diện API của DB2Cơ sở dữ liệu DB2Phần mềm cơ sở dữ liệu DB2
Hình 7 Mô hình cổng qua thí dụ khai thác từ ORACLE.
Trang 17Với kiến trúc truy nhập cơ sở dữ liệu cổng, chương trình ứng dụngdùng một API Thành phần phần mềm phân biệt gọi là cổng sẽ chuyểnchương trình từ API này sang API khác để phần mềm cơ sở dữ liệu trênAPI khác có thể hiểu chương trình này.
Kiến trúc cổng có thể hỗ trợ bất kì cấu hình cơ sở dữ liệu phân tánnào Trong trường hợp đơn giản, chương trình ứng dụng, thành phần cổng,và phần mềm cơ sở dữ liệu đều được đặt trên cùng một máy tính Còn vớitrường hợp phức tạp, các thành phần đó nằm trên nhiều máy khác nhau.
Trong môi trường phân tán, các thành phần Client truyền thông vàServer truyền thông để truyền dữ liệu trên nhiều máy tính Với tiếp cậncổng trong hệ thống phân tán, nhà cung cấp có thể viết phần mềm cổng vàcác thành phần Client truyền thông, Server truyền thông Các thành phầncổng cần được cắt may cho phù hợp với API của cơ sở dữ liệu cụ thể, vànhiều người cũng thấy được ưu điểm của chúng và tìm mua Client truyềnthông và Server truyền thông cần trợ giúp cơ chế truyền thông cụ thể và trợgiúp cho cả giao thức truyền thông.
Trong mô hình cổng người ta thường để cùng một người thiết kếthành phần cổng và Client truyền thông, Server truyền thông Sở dĩ nhưvậy là do chưa có chuẩn quản lí các giao diện, dịch vụ và chức năng trongmôi trường này Nhà cung cấp có thể dùng API của cơ sở dữ liệu hiện cóvà ngôn ngữ truy nhập dữ liệu người dùng đang sử dụng Môi trường cũngcó thể dùng phần mềm cơ sở dữ liệu đã có tuy nó chưa đáp ứng được vớicơ sở dữ liệu phân tán.
Nhà cung cấp có thể thiết kế phần mềm cổng để chương trình viếttheo API của phần mềm cơ sở dữ liệu khác truy nhập được phần mềm cơ
22
Trang 18sở dữ liệu của họ Tuy nhiên người ta thường viết phần mềm cho riêng sảnphẩm của họ và chỉ có phần mềm này mới hoàn toàn phù hợp.
Nhiều nhà cung cấp cơ sở dữ liệu phân tán đang dùng mô hình cổng,do mô hình này đơn giản nhất so với các mô hình khác Tuy vậy, nếu càiđặt tuân theo mô hình cổng để truy nhập cơ sở dữ liệu phân tán, người ta cóthể bị gắn sâu vào một tiếp cận của nhà cung cấp.
2.2 Mô hình giao diện chuẩn
Giống như mô hình cổng, mô hình giao diện chuẩn được thiết kế đểchương trình ứng dụng viết theo API của cơ sở dữ liệu yêu cầu dịch vụ củaphần mềm cơ sở dữ liệu dùng tại API Phần mềm chạy trên máy Serverđược gọi là nguồn dữ liệu Nguồn này gồm phần mềm cơ sở dữ liệu vàphần mềm máy Server truyền thông Phần mềm chạy trên máy Client cónhiều thành phần thiết bị thiết kế cho giao diện với nguồn dữ liệu cụ thể.
23Chương trình ứng dụng ORACLE
Giao diện API của ORACLEClient truyền thông
Server truyền thông
Giao diện API của ORACLE
Cổng ORACLE/DB2
Giao diện API của DB2
Client truyền thôngServer truyền thông
Giao diện API của DB2Cơ sở dữ liệu DB2Phần mềm cơ sở dữ liệu DB2
Hình 8 Truy nhập cơ sở dữ liệu DB2 qua ORACLE.
Trang 19Phần mềm trên máy Client có thành phần quản trị thiết bị; thànhphần này thực hiện hai giao diện sau:
Giao diện dịch vụ Đây là API mà các thiết bị sử dụng để lập giao
diện với quản trị thiết bị Nhà phân phối phần mềm viết thiết bịcho phù hợp với giao diện dịch vụ để phần mềm cơ sở dữ liệu củahọ giao tiếp được với quản trị thiết bị.
Giao diện chương trình ứng dụng Đây là API mà chương trình
ứng dụng dùng để yêu cầu dịch vụ cơ sở dữ liệu.
Do sự phụ thuộc vào thiết bị và quản trị thiết bị, mô hình giao diệnđôi khi được gọi là mô hình thiết bị Mô hình giao diện chuẩn có nhiềuđiểm tương tự như mô hình cổng Khác nhau chính ở chỗ mô hình này phụthuộc vào API chuẩn mà tất cả các cơ sở dữ liệu đều dùng Người ta pháttriển ứng dụng cơ sở dữ liệu muốn tham gia vào môi trường mô hình giaodiện chuẩn cần phải viết chương trình theo API chuẩn hoặc sử dụng phầnmềm chuyển API riêng sang API chuẩn.
2.3 Liên kết cơ sở dữ liệu mở của Microsoft
Để mô hình thiết bị hữu dụng trong môi trường không đồng nhất,nhiều tổ chức đủ mạnh cần tạo và thông báo về API yêu cầu và chuẩn giaodiện thiết bị Ngoài ra số lớn người dùng và nhà cung cấp phần mềm cơ sởdữ liệu cần cam kết tham gia chuẩn này Trên môi trường máy cá nhân,Microsoft là tổ chức như vậy.
Hãng này đã xây dựng chuẩn giao diện cơ sở dữ liệu gọi là liên kếtcơ sở dữ liệu mở ODBC (open database connectivity); giao diện này phùhợp với mô hình giao diện chuẩn Một số nhà cung cấp phần mềm cơ sở dữliệu cho thị trường máy cá nhân đã tạo thiết bị ODBC cho các bộ phầnmềm của họ, và ODBC đã trở thành chuẩn truy nhập cơ sở dữ liệu phân tánđược công nhận cho dịch vụ môi trường máy cá nhân.
Những nhà phát triển ứng dụng lợi dụng tiếp cận ODBC cho cơ sởdữ liệu phân tán bằng cách phát triển ứng dụng cơ sở dữ liệu mà khôngquan tâm đến nguồn dữ liệu chuyên dụng sẽ dùng Ứng dụng này sẽ làmviệc trên thiết bị của nhà phân phối và trên bất kì nguồn dữ liệu tương thíchnhằm thực hiện kiến trúc ODBC Những nhà phân phối phần mềm làm nhưvậy vì họ chỉ cần cung cấp phần mềm thiết bị phù hợp với những thứ mà họđã cam kết cung cấp.
24
Trang 202.4 Mô hình giao thức chuẩn
Hình vẽ kèm theo giới thiệu mô hình kiến trúc giao thức truy nhậpcơ sở dữ liệu Mô hình kiến trúc này thay vì chuẩn hóa giao diện chươngtrình ứng dụng được dùng, lại tuỳ thuộc vào việc chuẩn hoá giao thức dùngtrong truyền thông giữa các máy tính trong môi trường phân tán Mô hìnhgiao thức chuẩn này cho phép bất kì API được dùng như phần mềm sẽ phùhợp với chuẩn giao thức.
Thuật ngữ giao thức được dùng rộng rãi trong tài liệu về mạng máytính Nó được dùng để tham chiếu đến dạng thức của thông báo trao đổitrên mạng giữa hai máy tính liên lạc với nhau và qui luật quản lí cách thứctrao đổi.
Ưu điểm của việc chuẩn hoá giao thức là người ta có thể làm việcđộc lập để sản xuất ra các thành phần phần mềm khác nhau dùng với APIkhác nhau thay vì chuẩn hoá API do những nhà phân phối phần mềm cungcấp, khi tất cả thành phần phù hợp với cùng giao thức, tức chuyển thôngbáo chuẩn trên mạng theo cùng qui luật, chúng sẽ tác động lẫn nhau quamôi trường phân tán.
2.5 Kiến trúc quan hệ phân tán
Tiếp theo chuẩn ODBC, để thực hiện được giao thức chuẩn, vài tổchức mạnh đưa ra chuẩn giao thức Một số lớn người dùng và nhà phân
Chương trình ứng dụng cơ sở dữ liệu
API cơ sở dữ liệu A
Client truyền thông Server truyền thôngAPI cơ sở dữ liệu B
Phần mềm cơ sở dữ liệu B
Giao diện chuẩn
Cơ sở dữ liệu B
Hình 9 Mô hình cơ sở dữ liệu phân tán có giao thức chuẩn.
Trang 21phối tham gia chuẩn và cài đặt thành phần Client, Server truyền thông đểthực hiện giao thức chuẩn Trong môi trường mainframe, IBM đóng vai tròtổ chức như vậy.
IBM đã đề xuất chuẩn giao thức truy nhập cơ sở dữ liệu gọi là kiếntrúc cơ sở dữ liệu quan hệ phân tán DRDA Họ đưa ra chuẩn này để trợgiúp phần mềm DB2 trên máy mainframe Phạm vi của DRDA lan rộngđến các ứng dụng trên máy vi tính.
2.5.1 Các mức truy nhập cơ sở dữ liệu phân tán
Chuẩn DRDA xác đình bốn mức truy nhập cơ sở dữ liệu phân tándựa trên độ phức tạp của giao tác do ứng dụng tạo ra, dựa trên phạm vichức năng của phần mềm cơ sở dữ liệu dành cho mỗi loại giao tác, và dựatrên khả năng của giao thức truyền thông giữa những thành phần Bốn mứcđó gồm:
Yêu cầu từ xa Tại mức truy nhập này, phần mềm cơ sở dữ liệu
trợ giúp giao tác; mỗi giao tác là câu SQL đơn, truy nhập cơ sởdữ liệu ở xa Phần mềm cơ sở dữ liệu cần đến chức năng xử lígiao tác không đặc biệt để trợ giúp mức này.
Đơn vị làm việc ở xa Với mức truy nhập này, phần mềm cơ sở
dữ liệu trợ giúp giao tác; giao tác gồm một loạt câu SQL truynhập cùng một cơ sở dữ liệu ở xa Phần mềm cơ sở dữ liệu cần cókhả năng điều phối quá trình khẳng định và khôi phục dữ liệu quatất cả các lệnh SQL như một phần của giao tác Điều này đòi hỏiphần mềm cơ sở dữ liệu có khả năng khẳng định từ xa.
Đơn vị làm việc phân tán Với mức truy nhập này, phần mềm cơ
sở dữ liệu trợ giúp giao tác gồm xâu câu lệnh SQL truy vấn đếnnhiều cơ sở dữ liệu ở xa Tuy nhiên mỗi câu lệnh SQL chỉ truynhập một cơ sở dữ liệu Điều này đòi hỏi phần mềm cơ sở dữ liệucó khả năng cập nhật phân tán, trong đó giao tác đơn có thể cậpnhật cơ sở dữ liệu trên các máy tính khác nhau.
Yêu cầu phân tán Mức truy nhập này tương tự như đơn vị công
việc phân tán, chỉ khác là mỗi câu SQL có thể tham chiếu thôngtin trên nhiều cơ sở dữ liệu khác nhau, trên nhiều máy tính khác
26
Trang 22nhau Điều này đòi hỏi phần mềm cơ sở dữ liệu có khả năng kếtnối phân tán, tức chuyển thông tin từ các máy khác nhau về mộtnơi.
Dưới đây là chi tiết bốn mức vừa nêu:
2.5.1.1 Yêu cầu từ xa
Cấu hình yêu cầu từ xa đòi hỏi hỗ trợ tối thiểu từ phần mềm cơ sở dữliệu của bốn tiếp cận cơ sở dữ liệu Client/Server do DRDA xác định Nócho phép phần mềm cơ sở dữ liệu không thiết kế chuyên để truy nhập cơ sởdữ liệu từ xa vẫn dùng được trong môi trường phân tán.
Với kĩ thuật này, một chương trình ứng dụng chạy trong hệ thốngmáy tính cục bộ tạo một yêu cầu truy nhập cơ sở dữ liệu và chuyển yêu cầunày sang thành phần Client truyền thông Chương trình ứng dụng và Clienttruyền thông đều chạy trên hệ thống tính toán cục bộ Thành phần Clienttruyền thông gửi thông báo qua mạng đến chức năng phần mềm bổ sunggọi là máy Server cơ sở dữ liệu Giao thức chuẩn do DRDA xác định sẽdùng vào việc truyền thông giữa thành phần Client và Server Thành phầnServer truyền thông, phần mềm cơ sở dữ liệu, và bản thân cơ sở dữ liệuđược đặt trên hệ thống tính toán ở xa Hình vẽ cho thấy cấu hình xử lí yêucầu từ xa.
27Máy Client
Máy ServerChương trình ứng dụng
Client truyền
truyền thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Server truyền thông
Hình 10 Cấu hình yêu cầu từ xa.
Trang 23Thành phần Server truyền thông chạy trên hệ thống tính toán ở xađưa yêu cầu truy nhập cơ sở dữ liệu mà nó nhận được đến phần mềm cơ sởdữ liệu đang chạy ở đó Rồi Server truyền thông gửi kết quả truy nhập cơsở dữ liệu về Client tính toán trong hệ thống ứng dụng cục bộ Thành phầnClient truyền thông lại chuyển các dữ liệu yêu cầu đến chương trình ứngdụng cục bộ.
Bất kì API cơ sở dữ liệu nào cũng sử dụng cả máy Server và máyClient khi thành phần truyền thông Server, Client đã cài đặt giao thứctruyền thông chuẩn DRDA.
Với qua trình yêu cầu từ xa, tất cả các chức năng phân tán đượcthành phần truyền thông Client, Server thâu tóm Thành phần cơ sở dữ liệutrong máy ở xa không cần biết trước về truy nhập cơ sở dữ liệu phân tán.Yêu cầu về dữ liệu được chuyển đến phần mềm cơ sở dữ liệu trong máytính ở xa theo chức năng Server truyền thông Server truyền thông đối vớiphần mềm cơ sở dữ liệu được coi như chương trình ứng dụng bình thườngchạy trên máy ở xa.
Phần mềm cơ sở dữ liệu chạy trên máy ở xa có thể thiết lập và giảiphóng các khoá và có thể thực hiện việc khôi phục dữ liệu với tư cách làchức năng Server truyền thông Tuy nhiên nếu có lỗi trên mạng hay nếuviệc truy nhập thành phần Client cơ sở dữ liệu của chương trình ứng dụngbị lỗi, thì các lỗi này sẽ được chương trình ứng dụng, thành phần Clienttruyền thông hay thành phần Server truyền thông quản lý Phần mềm cơ sởdữ liệu trong máy ở xa không biết trước lỗi sẽ xảy ra trong máy thực hiệnchương trình ứng dụng hay lỗi xảy ra trên mạng.
2.5.1.2 Đơn vị công tác ở xa
Với cấu hình đơn vị công tác ở xa, phần mềm cơ sở dữ liệu phụ trợđược đặt trên máy tính cục bộ và trên máy tính ở xa Theo tiếp cận này, bảnthân phần mềm cơ sở dữ liệu thực hiện chức năng Client, Server về truyềnthông và cài đặt giao thức DRDA đối với các thông báo gửi đi, nhận đượcthông báo qua mạng Hình vẽ mô tả cấu hình truy nhập cơ sở dữ liệu theokiểu đơn vị làm việc từ xa.
28Máy Client
Máy ServerChương trình ứng dụng
Mạng truyền
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Trang 24Với xử lí đơn vị công tác ở xa, ứng dụng có thể truy nhập cơ sở dữliệu quan hệ đơn trên hệ thống tính toán ở xa Chương trình ứng dụng cóthể dùng các câu lệnh SQL như một phần của cùng giao tác Hai thànhphần phần mềm cơ sở dữ liệu phụ trợ bảo trì thông tin trạng thái liên quanđến quá trình của toàn bộ giao tác thông qua các câu lệnh SQL Chúng cókhả năng thực hiện quá trình khẳng định và khôi phục dữ liệu đối với giaotác cũng như đối với toàn bộ quá trình.
Cấu hình đơn vị công tác ở xa trong suốt về nhiều loại lỗi đối vớichương trình ứng dụng Vì truyền thông giữa hai máy tính được bản thânphần mềm cơ sở dữ liệu quản lý, phần mềm cơ sở dữ liệu có thể được thiếtkế để khôi phục sau sự cố tại máy tính cục bộ, máy ở xa hay trên mạngtruyền thông Do toàn bộ cơ sở dữ liệu được đặt trên một máy tính, cácchức năng quản trị một giao tác cần cho việc khôi phục và xử lí quay lui làđơn giản Giao thức khẳng định khoá hai pha không yêu cầu cài đặt mứctruy nhập cơ sở dữ liệu này.
2.5.1.3 Cấu hình cơ sở dữ liệu phân tán
Hai mức DRDA nêu trên để truy nhập cơ sở dữ liệu từ xa cho phépchương trình truy nhập cơ sở dữ liệu đơn trên máy tính đơn ở xa Hai mứchỗ trợ truy nhập tiếp theo đây cho phép chương trình truy nhập cơ sở dữliệu phân tán trên nhiều máy tính ở xa Hai tiếp cận xử lí cơ sở dữ liệu phântán có thể lập nên cấu hình được mô tả như trong hình vẽ sau:
29Máy Client
Máy ServerChương trình ứng dụng
Mạng truyền
Trang 252.5.1.4 Đơn vị công tác phân tán
Với cấu hình đơn vị công tác phân tán, chương trình ứng dụng có thểtruy nhập dữ liệu trong cơ sở dữ liệu ở xa, trên một hay nhiều máy tính.Chương trình ứng dụng có thể yêu cầu một số câu lệnh SQL trong phạm vigiao tác Tuy nhiên với tiếp cận này mỗi câu lệnh SQL riêng lẻ cần thamchiếu đến dữ liệu trong hệ thống tính toán ở xa Dữ liệu nhằm thoả mãn câuSQL này không thực hiện trên nhiều máy tính được.
Phần mềm cơ sở dữ liệu chạy trên máy tính cục bộ và phần mềm cơsở dữ liệu chạy trên các máy tính ở xa làm việc với nhau để điều phối quátrình khôi phục Do nhiều máy phân tách có thể yêu cầu xử lí đơn vị côngtác ở xa nên phần mềm cơ sở dữ liệu cần thực hiện các giao thức khẳngđịnh khóa hai pha nhằm thực hiện khẳng định và khôi phục quay lui, đồngbộ hoá các hệ thống đa dạng.
2.5.1.5 Yêu cầu phân tán
Mức ít hạn chế mà lại trong suốt hơn DRDA trong quá trình phân tánlà cấu hình yêu cầu phân tán Với cấu hình này cơ sở dữ liệu có thể đặt trênmột số máy ở xa, và một câu SQL được phép tham chiếu dữ liệu trên nhiềuhệ thống tính toán phân biệt Theo tiếp cận yêu cầu phân tán, chương trìnhứng dụng hoàn toàn độc lập với vị trí của dữ liệu Cơ sở dữ liệu phân tán cóthể được tổ chức lại và thay đổi vị trí dữ liệu mà không cần chỉnh lí chươngtrình ứng dụng Phần mềm cơ sở dữ liệu cần đáp ứng các hỗ trợ cần thiết đểđảm bảo truy nhập trong suốt đến dữ liệu của hệ thống tính toán ở xa.
30
Trang 26Như trong môi trường đơn vị công tác phân tán, phần mềm cơ sở dữliệu với quá trình yêu cầu phân tán cần sử dụng giao thức khẳng định khoáhai pha để thực hiện khẳng định và khôi phục dữ liệu.
2.5.2 Chuẩn truy nhập cơ sở dữ liệu của hệ X/Open
Một thí dụ về chuẩn giao thức truy nhập cơ sở dữ liệu khác là chuẩntruy nhập cơ sở dữ liệu quan hệ RDA (relational database access) doX/Open xác định X/Open là tổ chức chuẩn quốc tế Chuẩn RDA phù hợpvới mô hình tổng quát chung như DRDA của IBM theo cùng mục đích, kếtquả Tuy nhiên RDA xác định giao thức khác với DRDA.
2.6 Kết hợp nhiều mô hình kiến trúc
Cũng có thể tổ chức sẽ dùng các sản phẩm phù hợp với nhiều môhình kiến trúc về phần mềm cơ sở dữ liệu phân tán Như trong phần trên,ODBC của Microsoft chuẩn hoá giao diện chương trình ứng dụng trong khiDRDA của IBM chuẩn hoá giao thức truy nhập cơ sở dữ liệu Hai mô hìnhkiến trúc bổ trợ cho nhau chứ không cạnh tranh, và việc dùng chuẩn nàykhông ngăn cản ý muốn dùng chuẩn khác Một vài phần mềm cơ sở dữ liệudùng API của ODBC nối kết với RDA của X/Open.
2.7 Các đối tượng của cơ sở dữ liệu phân tán
Theo Date năm 1990, cơ sở dữ liệu phân tán có mục đích xâu xa làquản lý việc thiết kế sao cho người dùng trong hệ thống này luôn cảm nhưlàm việc trong hệ thống không phân tán Nói cách khác, tất cả các cơ chếdùng để đạt đến phân bố phân tán về cơ sở dữ liệu cần ẩn giấu người dùng.
Một cơ sở dữ liệu phân tán được hình dung như mạng lưới nhiềutrạm xa nhau về không gian Cơ sở dữ liệu phân tán cần thể hiện hình ảnhcủa cơ sở dữ liệu logic đơn, chỉ khác là phân bố vật lý trên nhiều trạm.Điểm quan trọng là khi đạt được sự phân tán, với cơ chế phần mềm cơ sởdữ liệu đúng, người dùng không thể phân biệt được hệ thống tính toán ở xalà hệ thống đơn hay hệ thống phân tán Tiếp theo đây là mười hai đối tượngcủa các hệ thống cơ sở dữ liệu phân tán Các đối tượng do Date tổng kết tạocơ sở đánh giá mức độ người dùng cảm nhận được tính hiệu dụng của hệthống phân tán để có thể tiếp cận Các đối tượng này không chỉ áp dụngriêng cho hệ thống cơ sở dữ liệu phân tán.
31
Trang 272.7.1 Tự trị địa phương
Điều này khẳng định mong muốn của tất cả những vị trí trong hệthống phân tán là độc lập lẫn nhau Có nghĩa là thao tác trên hệ thống nàykhông bị chương trình của hệ thông khác điều khiển từ xa Thao tác thựchiện tại một trạm sẽ không phụ thuộc vào thao tác tại nơi khác trong hệthống phân tán Điều này ngầm định rằng dữ liệu đặt trên vị trí cụ thể sẽđược phần mềm tại đó điều khiển, dù rằng phần mềm hệ thống ở xa củamôi trường phân tán có thể truy nhập dữ liệu này.
Đối tượng này khó thực hiện được trong thực tế, vì trong hệ thốngphân tán đôi khi nhiều vị trí cần truy nhập dữ liệu Để mang ý nghĩa thựctế, người ta theo phương châm nới rộng nhất nếu có thể.
2.7.2 Không tin cậy ở trạm trung tâm
Mục đích tự trị địa phương ngầm ý tất cả các vị trí trong hệ thốngphân tán sẽ thao tác theo cặp và không tin tưởng vào một trạm thực hiệncho tất cả các trạm khác Việc tin cậy vào dịch vụ của một trạm có thể dẫnđến tắc nghẽn tại trạm trung tâm, và toàn bộ hệ thống sẽ trục trặc khi lỗixảy ra tại trạm chính.
2.7.3 Thao tác tiếp diễn
Có thể thiết kế hệ thống cơ sở dữ liệu phân tán để không bao giờ mộtyêu cầu lại có thể làm sập hệ thống chung Liên quan đến việc này là phépbổ sung vị trí mới vào hệ thống, nâng cấp phần mềm tại một trạm cụ thể
2.7.4 Độc lập về địa điểm
Đối tượng độc lập về địa điểm còn được gọi là trong suốt về địađiểm Người dùng hay chương trình ứng dụng không liên can đến địa điểmvật lí khi chúng yêu cầu thao tác trên dữ liệu Hệ thống cơ sở dữ liệu phântán sẽ tạo dữ liệu phân tán như là nó được lưu trên cơ sở dữ liệu logic đơn;mà đó cũng là địa điểm của người dùng Đối tượng này thực ra là mở rộngcủa đối tượng chung trong cơ sở dữ liệu về độc lập dữ liệu.
32
Trang 282.7.5 Độc lập phân đoạn
Phần mềm cơ sở dữ liệu sẽ cho phép cơ sở dữ liệu phân đoạn để cácphần khác nhau của cơ sở dữ liệu có thể chuyển sang các địa điểm khácnhau trong môi trường phân tán Đối tượng này là quan trọng đối với vấnđề hiệu suất sử dụng Phân đoạn cho phép nhóm các phần tử dữ liệu lưutrên các vị trí thường được truy nhập nhất.
Người ta chia ra làm hai loại phân đoạn là phân theo dòng hoặc theocột, tức theo chiều ngang hay chiều dọc Với phân đoạn ngang, cơ sở dữliệu được phân đoạn để tất cả những thể hiện của tập phần tử dữ liệu ứngvới thực thể kinh doanh sẽ lưu tại một nơi Chẳng hạn yêu cầu vào cơ sở dữliệu, thông tin về yêu cầu được lưu tại một nơi, thông tin về Client hàng tạinơi khác, và thông tin về đầu tư lại xa hơn.
Phân đoạn dọc theo phép các phần tử dữ liệu cùng kiểu sẽ lưu cùngnơi Chẳng hạn thông tin đầu tư vào Hải Phòng lưu tại địa phương HảiPhòng, thông tin đầu tư vào Cần Thơ đặt tại Cần Thơ.
Việc độc lập phân đoạn cũng ngầm ý trong suốt về phân đoạn, là mộtdạng độc lập về địa điểm Không cần báo trước với người dùng hay chươngtrình ứng dụng về lược đồ phân đoạn dùng trong hệ thống phân tán Toànbộ cơ sở dữ liệu sẽ hiện ra như một cơ sở dữ liệu đơn, không hề bị phânnhỏ.
2.7.6 Độc lập về bản sao
Hệ thống cơ sở dữ liệu phân tán bảo quản nhiều bản sao của cùngmột phần tử dữ liệu tại các trạm khác nhau Các bản sao thường được dùngtrong hệ thống phân tán để tăng khả năng và cải thiện hiệu suất Bản saocần trong suốt đối với người dùng và chương trình ứng dụng Người dùngsẽ thu được cùng kết quả dù sử dụng bất kì dữ liệu trên bản sao nào Cácthay đổi của chương trình ứng dụng trên một bản sao sẽ được lan truyền tớicác bản sao còn lại.
2.7.7 Xử lí câu hỏi phân tán
Đối tượng này cho biết rằng khi một người dùng hay chương trìnhứng dụng tại một nơi ra câu hỏi thì bản thân câu hỏi này có khả năng được
33
Trang 29gửi đến những nơi có dữ liệu thỏa mãn câu hỏi Phần trước đã điểm qua vềkhác nhau giữa mô hình trạm Server file và mô hình cơ sở dữ liệuClient/Server Nếu tất cả các câu hỏi được xử lí tại A và dữ liệu đặt tại Bthì khối lượng lớn dữ liệu sẽ qua lại giữa A và B để thực hiện câu hỏi Nếucâu hỏi được truyền sang B rồi thực hiện thì tình trạng liên lạc nhiều lần sẽđược giải quyết.
Để đáp ứng hoàn toàn đối tượng này, cần có cơ chế tối ưu hoá câuhỏi, chuyển câu hỏi trên nhiều trạm về một số hạn chế các trạm.
2.7.8 Quản trị giao tác phân tán
Việc quản trị giao tác phân tán liên quan đến ý đồ của giao tác Mộtgiao tác bao gồm nhiều xử lí, nhiều truy nhập dữ liệu trên nhiều cơ sở dữliệu, nhưng giao tác là đơn vị nhỏ nhất đảm bảo được điều khiển tươngtranh và khôi phục dữ liệu Vấn đề ở đây là toàn bộ quá trình phải được coinhư đơn vị Nếu một phần giao tác bị lỗi thì kết quả phần trước của giao táccũng bị huỷ khỏi hệ thống.
Hệ thống cơ sở dữ liệu phân tán trợ giúp quá trình khôi phục phântán, trong đó các phần tử dữ liệu trên các vị trí vật lí khác nhau có thể đượccập nhật như một phần của xử lí giao tác Nếu một phần của giao tác bị lỗithì bất kì cập nhật nào với phần khác của cơ sở dữ liệu cần được quay ra đểkhôi phục lại toàn bộ cơ sở dữ liệu phân tán về trạng thái trước khi bắt đầugiao tác.
Hệ thống cơ sở dữ liệu phân tán cũng trợ giúp điều khiển tương tranhphân tán Hệ thống có cơ chế phù hợp, cho phép nhiều chương trình đồngthời truy nhập các phần khác nhau của cơ sở dữ liệu, và ngăn cản khoá chếtkhi xảy ra các phép xung đột Xử lí giao tác phân tán nhìn chung được thựchiện với giao thức khẳng định khoá hai pha với các tiện nghi khoá dữ liệu.
2.7.9 Độc lập phần cứng
Người ta khuyến cáo về nền tảng độc lập với việc xây dựng hệthống Độc lập phần cứng khẳng định hệ thống cơ sở dữ liệu phân tán cóthể đặt trên nhiều kiểu hệ thống tính toán Chẳng hạn người ta dùng các
34
Trang 30môi trường khác nhau như mainframe của IBM, bộ xử lí của VAX DEC vàmáy tính cá nhân có vi xử lí Intel.
2.7.10 Độc lập hệ thống điều hành
Độc lập hệ thống điều hành một phần do đối tượng độc lập phầncứng ngầm qui định Hệ thống phân tán có thể dùng hệ thống tính toán vớicác hệ thống điều hành khác nhau như MVS của IBM, OpenVMS củaDEC, Windows NT của Microsoft Độc lập hệ điều hành và độc lập phầncứng có thể tách biệt vì hệ thống điều hành linh động trên nhiều cấu hìnhmáy tính của các nhà cung cấp khác nhau Khả năng các hệ thống điềuhành khác nhau trên cùng một máy cho phép hệ thống phân tán dùng phầncứng thuần nhất và phần mềm không thuần nhất.
2.7.11 Độc lập mạng
Ngày nay nền tảng cho hệ thống tính toán được đặc trưng bởi kiểuphần cứng cụ thể, chạy hệ thống điều hành riêng, và có phần mềm truyềnthông mạng phù hợp, như TCP/IP, SNA, NetWare của Novell Cũng có thểdùng phần mềm truyền mạng khác trên các phần khác nhau của hệ thốngphân tán mà người dùng không cần biết đến những khác nhau này.
2.7.12 Độc lập phần mềm cơ sở dữ liệu
Đối tượng này nhằm vào hệ thống cơ sở dữ liệu phân tán dùng cácphần mềm cơ sở dữ liệu khác nhau chạy trên vị trí khác nhau trong môitrường phân tán Đối tượng này không giống như kết quả chốc lát mà doviệc chuẩn hoá giao diện đã trở thành chuẩn thông dụng Các kiến trúc cơsở dữ liệu phân tán của các nhà cung cấp đã được giới thiệu trong các phầntrên, góp phần đảm bảo độc lập phần mềm cơ sở dữ liệu.
2.8 Kết luận về kiến trúc phần mềm cơ sở dữ liệu phân tán
Để tiện tạo dựng môi trường cơ sở dữ liệu phân tán không đồng nhất,người ta dùng ba mô hình kiến trúc phần mềm khác nhau là mô hình cổng,mô hình giao diện chuẩn và mô hình giao thức truy nhập cơ sở dữ liệu.
Với mô hình cổng, máy Client dùng một API cơ sở dữ liệu để nốivới máy cổng Cổng này truy nhập tiện nghi của cơ sở dữ liệu tại máyServer cơ sở dữ liệu; tại đó phần mềm cơ sở dữ liệu máy Server có API
35
Trang 31khác Chức năng cổng dịch yêu cầu mà chương trình ứng dụng cần thựchiện sang yêu cầu mà phần mềm cơ sở dữ liệu hiểu được.
Với mô hình giao diện chuẩn, phần mềm thiết bị chạy trên máyClient thiết lập liên kết mạng và dịch yêu cầu theo dạng chuẩn API sangyêu cầu truy nhập cơ sở dữ liệu mà phần mềm cơ sở dữ liệu chấp nhậnđược Chuẩn API liên kết cơ sở dữ liệu mở ODBC thực hiện mô hình giaodiện chuẩn để truy nhập từ xa.
Với mô hình giao thức chuẩn, giao thức được chuẩn hoá sẽ điềukhiển truyền thông giữa các thành phần phần mềm đa dạng trong môitrường phân tán Các tiếp cận như kiến trúc cơ sở dữ liệu quan hệ phân tánDRDA, truy nhập cơ sở dữ liệu phân tán RDA là hai tiếp cận truy nhập cơsở dữ liệu từ xa đã chuẩn hoá giao thức truy nhập cơ sở dữ liệu DRDA xácđịnh bốn mức truy nhập cơ sở dữ liệu từ xa Các kiểu yêu cầu từ xa và đơnvị công tác ở xa khi truy nhập cơ sở dữ liệu phân tán cho phép truy nhập cơsở dữ liệu đơn Còn đơn vị công tác phân tán và các cấu hình yêu cầu phântán cho phép truy nhập cơ sở dữ liệu phân tán.
Mười hai đối tượng để thiết kế cơ sở dữ liệu phân tán là tự trị địaphương, không tin vào trạm trung tâm, thao tác liên tục, độc lập về địađiểm, độc lập về phân đoạn, độc lập giữa các bản sao, xử lí câu hỏi phântán, quản trị giao tác phân tán, độc lập phần cứng, độc lập hệ thống điềuhành, độc lập mạng và độc lập phần mềm cơ sở dữ liệu.
3 Kết luận
Trong chương này đã giới thiệu sơ lược về vấn đề liên quan đến cơsở dữ liệu Người ta có thể khảo cứu cơ sở dữ liệu theo tiếp cận cơ sở dữliệu quan hệ theo một phần mềm cơ sở dữ liệu cụ thể, tức một hệ quản trịcơ sở dữ liệu cụ thể Trong chương này không đi sâu vào các vấn đề mà chỉnêu các khái niệm tổng quát nhất, nhưng với mức độ chưa cao Các nộidung đã được giới thiệu gồm:
Khái niệm về Client, Server, Client/Server. Cấu hình cơ sở dữ liệu Client/Server.
Kiến trúc phần mềm cơ sở dữ liệu phân tán.
36