Luận văn tốt nghiệp Nguyễn Văn Duy
CHƯƠ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ạng
thô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ĩnh
vực kinh tế, văn hoá và xã hội. Các ứng dụng phong phú của mạng máy
tính có thể kể đến ở đây là:
• Sử dụng chung tài nguyên như máy in Laser, máy in nhanh, ổ đĩa
cứ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án
chính là các máy PC có công suất ngày càng lớn trong mạng cục
bộ đố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ớn
hoặc các mạng cục bộ với các dịch vụ thông tin giá trị gia tăng
phong phú.
• Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toán
và 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à đặt
chỗ 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ống
phục vụ cho công tác quản lý đào tạo trong các trường đại
họ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
Luận văn tốt nghiệp Nguyễn Văn Duy
• Những tiến bộ đáng kể của công nghiệp vi điện tử, cho phép sản
xuấ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ạch
thực hiện chuyển mạch gói) có công suất ngày càng lớn, tiêu hao
nă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ến
trú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ác
suất lỗi truyền thấp trên cơ sở sử dụng cáp quang và việc thực
hiện các ghép nối truyền dẫn và chuyển mạch thông minh, công
suấ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ến
triển đáng ghi nhận. Những cố gắng thực hiện mạng máy tính theo mô hình
ISO/OSI - do độ phức tạp, "nặng nề" của các giao thức thực hiện chức năng
của các mức - cũng không phủ nhận được một thực tế là các mạng thông
tin máy tính được thực hiện trên cơ sở bộ giao thức TCP/IP đang tăng
trưởng một cách hết sức nhanh chóng. Do tính mềm dẻo, dễ thích ứng
trong 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 quan
trọng và thông dụng hiện nay như UNIX, Window9.x, Window NT để thực
hiệ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 khi
mô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ạng
cò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ên
mạ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
Luận văn tốt nghiệp Nguyễn Văn Duy
2. 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áy
tí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ư
sau:
Chương mở đầu: Giới thiệu chung.
Chương I: Khái niệm cơ sở dữ liệu trong môi trường Client/Server.
Chương II: Thiết kế bài toán thực tế.
Chương III: Mạng máy tính và ứng dụng công nghệ mạng đối với bài
toán thực tế.
Chương IV: Kết luận.
Phụ lục: Mã nguồn của chương trình.
Đề tài của luận văn là vấn đề mới đối với sinh viên và do những hạn
chế 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ứu
phát triển sau này.
8
Luận văn tốt nghiệp Nguyễn Văn Duy
CHƯƠ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ường
Client/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 thu
nhận yêu cầu của người sử dụng, xử lý sơ bộ và chuyển cho Server dưới
một dạng thích hợp. Nó cũng làm nhiệm vụ nhận kết quả từ Server gửi đến
và 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ại
kết quả cho Client.
Khái niệm Client/Server là hai phần mềm có thể được thực hiện trên
cù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ữa
Client 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/Server
gồm:
• Các cách cấu hình khác nhau cho ứng dụng cơ sở dữ liệu
Client/Server.
• Các kiến trúc đa dạng được dùng đối với cơ sở dữ liệu phân tán
trê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án
Client/Server có thể kết hợp với nhau để tạo nên cấu hình tính toán phân
tá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
Luận văn tốt nghiệp Nguyễn Văn Duy
Mô hình phân tán truy nhập dữ liệu nêu trên là dạng sử dụng chung
nhất của mô hình phân tán Client/Server. Đó là dạng phân tán Client/Server
dùng với phần mềm cơ sở dữ liệu, trong đó cơ sở dữ liệu ứng dụng dùng
nhiề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ới
thiệu cách thức để cấu hình hoá ba thành phần chung cho tất cả các ứng
dụ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ác
thể 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ủa
tí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ụng
cơ 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
Luận văn tốt nghiệp Nguyễn Văn Duy
Chẳng hạn người dùng máy cá nhân có thể chạy chương trình ứng
dụng với phần mềm ORACLE để truy nhập cơ sở dữ liệu trên đĩa cứng
trong 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ình
xử lý tập trung, chẳng hạn bộ xử lý mainframe chạy phần mềm IMS hay
DB2 của IBM có thể cho phép các trạm đầu cuối khai thác với độ phân tán
rộng. Tuy nhiên trong nhiều hệ thống như vậy, cả ba thành phần của ứng
dụ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ôi
trường máy chủ file, phần mềm mạng sẽ tạo điều kiện để mỗi máy người
dù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ần
mềm mạng đã tạo nên môi trường mà những phần mềm ứng dụng và phần
11
Ứng dụng
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Titi
Toto
Hình 1. Mô hình cơ sở dữ liệu tập trung.
Luận văn tốt nghiệp Nguyễn Văn Duy
mề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ập
trung.
Môi trường như vậy có thể phức tạp hơn mô hình tập trung vì phần
mềm mạng có cơ chế xử lý tương tranh, cho phép nhiều người dùng cùng
truy 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ệu
Hì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ệu
Cơ 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.
Luận văn tốt nghiệp Nguyễn Văn Duy
Với mô hình này người ta có các cơ sở dữ liệu trên các máy nối
mạng. Một máy dùng phần mềm cơ sở dữ liệu để truy nhập máy kia và rút
dữ 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áy
nà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 truy
nhập cơ sở dữ liệu ở xa, cũng như bảo trì cơ sở dữ liệu. Phần mềm ứng
dụ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ạy
trê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ình
vẽ, 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ần
xử lí ứng dụng. Nhưng phần mềm cơ sở dữ liệu được tách ra trên các máy
Client, cho phép chạy các chương trình ứng dụng và hệ thống Server lưu
trữ cơ sở dữ liệu.
13
Ứ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ệu
Phần mềm cơ sở dữ liệu
Máy Client
Hình 4. Mô hình cơ sở dữ liệu Client/Server.
Luận văn tốt nghiệp Nguyễn Văn Duy
Các thành phần xử lí ứng dụng của hệ thống Client trong mô hình
nà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ập
cơ 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ều
truy 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ên
máy người dùng cần truy nhập và kiểm tra từng bản ghi có đáp ứng điều
kiện không. Còn theo tiếp cận cơ sở dữ liệu Client/Server, chỉ một câu hỏi
và 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ên
má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/Server
thườ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ạm
là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ển
hình là phần mềm này giữ vai trò Client trong ứng dụng cơ sở dữ liệu
Client/Server và thực hiện chức năng hướng về nhu cầu người dùng. Nhìn
chung 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
Luận văn tốt nghiệp Nguyễn Văn Duy
(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áy
Server 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 truy
nhậ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ống
xử lí.
Phần tiếp theo sẽ mô tả các cơ chế dùng trong hệ thống cơ sở dữ liệu
phân tán. Rồi sẽ là các mô hình kiến trúc khác nhau để xây dựng môi
trườ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
Mạng truyền thông
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Hình 5. Mô hình cơ sở dữ liệu phân tán.
Luận văn tốt nghiệp Nguyễn Văn Duy
Có ba tiếp cận chính về cơ chế phân tán, dùng để quản lý truy nhập
cơ 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ảo
quả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ác
thà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ận
nà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áy
Server, 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ột
má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. Tuy
nhiên theo cách này không phần dữ liệu nào lại ghi ở nhiều chỗ; do vậy cho
phé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 ghi
tạ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 tin
liê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
Luận văn tốt nghiệp Nguyễn Văn Duy
mạng để giúp phần mềm cơ sở dữ liệu định vị những phần khác nhau của
cơ 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ệu
nào trong cơ sở dữ liệu. Mỗi dữ liệu được ghi chỉ ở một nơi. Hai tiếp cận
phụ dùng để tạo nên nhiều bản sao của toàn bộ hay một phần dữ liệu được
dù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ệu trí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ập
nhậ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ảm
tỉ 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ùng
kĩ 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ét
chi 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ác
bả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ảo
sao 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 đồng
bộ quá trình chung.
1.2.5. Bản sao dữ liệu
17
Luận văn tốt nghiệp Nguyễn Văn Duy
Bảo sao dữ liệu tương tự như trích dữ liệu, trừ việc bản sao cho phép
cậ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ập
nhậ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 sao
thay đổi, chỉ một nó được cập nhật. Các giá trị phần tử dữ liệu được cập
nhật trong bản sao này được di về cơ sở dữ liệu chính. Trong trường hợp
khá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ản
sao.
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ột
cách nhanh nhất. Theo một vài lược đồ, bản sao được thiết kế như một bản
sao 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àn
thà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ật
tớ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ưu
bản sao. Hàm này có thể chạy thường kì hay đột xuất tuỳ theo yêu cầu hội
nhậ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á đa
dạ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ên
dù với hàm đồng bộ hoá nào, không cơ sở dữ liệu phân tán nào đạt được
hoà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 đối
với hàm hội nhập có các đặc tính sau:
18
Luận văn tốt nghiệp Nguyễn Văn Duy
• 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ện
vớ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ằng
giá 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ệu
khô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ập
nhật có thể giao hoán nếu dùng đánh dấu thời gian. Tất cả những cập nhật
có 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ười
dù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ụng
cơ 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ép
người dùng và các chương trình ứng dụng độc lập hoàn toàn về vị trí lưu
trữ dữ liệu. Người dùng có thể yêu cầu dữ liệu rồi chương trình ứng dụng
truy nhập đến dữ liệu mà không để ý đến nơi lưu trữ dữ liệu. Tuy khó đảm
bả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àng
buộ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ọng
gồ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
Luận văn tốt nghiệp Nguyễn Văn Duy
cách để hình thành mô hình cơ sở dữ liệu tập trung, mô hình cơ sở dữ liệu
máy chủ file, mô hình xử lí trích dữ liệu, mô hình cơ sở dữ liệu
Client/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 quan
trọ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ười
dù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ện
nghi khi truy nhập cơ sở dữ liệu từ xa và truy nhập cơ sở dữ liệu phân tán
theo 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ức
tạ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ên
cơ 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ần
cứ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ều
hà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ần
mềm đòi hỏi người ta có những cố gắng nhiều hơn. Người ta có thể dùng
hệ 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ủa
IBM, 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ơn
nhiề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
Luận văn tốt nghiệp Nguyễn Văn Duy
• 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ùng
giao diện chương trình ứng dụng API cụ thể. Các chương trình ứng dụng
muốn sử dụng dịch vụ của phần mềm cơ sở dữ liệu biết được. Tiện nghi
truy nhập người dùng do nhà cung cấp phần mềm cơ sở dữ liệu giới thiệu
có thể thay thế chương trình ứng dụng trong môi trường mà người ta truy
nhậ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ình
viết theo API của cơ sở dữ liệu đã biết để yêu cầu dịch vụ của phần mềm
cơ 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ào
thà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ệu
ORACLE. Nó truy nhập cổng và cổng này chuyển từ API ORACLE sang
API của cơ sở dữ liệu DB2. Cổng này truy nhập phần mềm cơ sở dữ liệu
DB2 với tư cách Client. Thực tế thì cổng đã đánh lừa cả chương trình ứng
dụ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ưởng
rằng nó đang phục vụ chương trình ứng dụng DB2.
21
Phương tiện hỏi và lập báo cáo
Giao diện API của cơ sở dữ liệu
Giao 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 ORACLE
Giao 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 DB2
Cơ sở dữ liệu DB2
Phầ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.
Luận văn tốt nghiệp Nguyễn Văn Duy
Với kiến trúc truy nhập cơ sở dữ liệu cổng, chương trình ứng dụng
dùng một API. Thành phần phần mềm phân biệt gọi là cổng sẽ chuyển
chương trình từ API này sang API khác để phần mềm cơ sở dữ liệu trên
API 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án
nà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ới
trườ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ận
cổ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ần
cổ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ền
thô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 trong
mô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ũng
có thể dùng phần mềm cơ sở dữ liệu đã có tuy nó chưa đáp ứng được với
cơ 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ết
theo API của phần mềm cơ sở dữ liệu khác truy nhập được phần mềm cơ
22
Luận văn tốt nghiệp Nguyễn Văn Duy
sở dữ liệu của họ. Tuy nhiên người ta thường viết phần mềm cho riêng sản
phẩ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ủa
phầ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ể.
23
Chương trình ứng dụng ORACLE
Giao diện API của ORACLE
Client 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ông
Server truyền
thông
Giao diện API của DB2
Cơ sở dữ liệu DB2
Phần mềm cơ sở dữ liệu DB2
Hình 8. Truy nhập cơ sở dữ liệu DB2 qua ORACLE.
Luận văn tốt nghiệp Nguyễn Văn Duy
Phần mềm trên máy Client có thành phần quản trị thiết bị; thành
phầ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ủa
họ 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át
triển ứng dụng cơ sở dữ liệu muốn tham gia vào môi trường mô hình giao
diện chuẩn cần phải viết chương trình theo API chuẩn hoặc sử dụng phần
mề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 giao
diệ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ết
cơ 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ần
mề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ông
quan tâm đến nguồn dữ liệu chuyên dụng sẽ dùng. Ứng dụng này sẽ làm
việ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ích
nhằ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
Luận văn tốt nghiệp Nguyễn Văn Duy
2.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ập
cơ sở dữ liệu. Mô hình kiến trúc này thay vì chuẩn hóa giao diện chương
trình ứng dụng được dùng, lại tuỳ thuộc vào việc chuẩn hoá giao thức dùng
trong truyền thông giữa các máy tính trong môi trường phân tán. Mô hình
giao 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áy
tính. Nó được dùng để tham chiếu đến dạng thức của thông báo trao đổi
trê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ức
trao đổ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 API
khác nhau thay vì chuẩn hoá API do những nhà phân phối phần mềm cung
cấp, khi tất cả thành phần phù hợp với cùng giao thức, tức chuyển thông
báo chuẩn trên mạng theo cùng qui luật, chúng sẽ tác động lẫn nhau qua
mô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
25
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ông
API 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.
Luận văn tốt nghiệp Nguyễn Văn Duy
phố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ến
trú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án
dự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 vi
chứ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ựa
trê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 truy
nhậ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 qua
tất cả các lệnh SQL như một phần của giao tác. Điều này đòi hỏi
phầ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 đến
nhiều cơ sở dữ liệu ở xa. Tuy nhiên mỗi câu lệnh SQL chỉ truy
nhập một cơ sở dữ liệu. Điều này đòi hỏi phần mềm cơ sở dữ liệu
có khả năng cập nhật phân tán, trong đó giao tác đơn có thể cập
nhậ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ông
tin trên nhiều cơ sở dữ liệu khác nhau, trên nhiều máy tính khác
26
Luận văn tốt nghiệp Nguyễn Văn Duy
nhau. Điều này đòi hỏi phần mềm cơ sở dữ liệu có khả năng kết
nối phân tán, tức chuyển thông tin từ các máy khác nhau về một
nơ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ống
má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ầu
này sang thành phần Client truyền thông. Chương trình ứng dụng và Client
truyền thông đều chạy trên hệ thống tính toán cục bộ. Thành phần Client
truyền thông gửi thông báo qua mạng đến chức năng phần mềm bổ sung
gọ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ần
Server 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êu
cầu từ xa.
27
Máy Client
Máy Server
Chương trình ứng dụng
Client
truyền
thông
Mạng
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.
Luận văn tốt nghiệp Nguyễn Văn Duy
Thà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ần
Client truyền thông lại chuyển các dữ liệu yêu cầu đến chương trình ứng
dụ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áy
Client khi thành phần truyền thông Server, Client đã cài đặt giao thức
truyề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 được
thành phần truyền thông Client, Server thâu tóm. Thành phần cơ sở dữ liệu
trong 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áy
tính ở xa theo chức năng Server truyền thông. Server truyền thông đối với
phần mềm cơ sở dữ liệu được coi như chương trình ứng dụng bình thường
chạ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ải
phó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ếu
việc truy nhập thành phần Client cơ sở dữ liệu của chương trình ứng dụng
bị lỗi, thì các lỗi này sẽ được chương trình ứng dụng, thành phần Client
truyề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ện
chươ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ản
thân phần mềm cơ sở dữ liệu thực hiện chức năng Client, Server về truyền
thông và cài đặt giao thức DRDA đối với các thông báo gửi đi, nhận được
thông báo qua mạng. Hình vẽ mô tả cấu hình truy nhập cơ sở dữ liệu theo
kiểu đơn vị làm việc từ xa.
28
Máy Client
Máy
Server
Chương trình ứng dụng
Mạng
truyền
thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Hình 11. Cấu hình đơn vị công tác ở xa.
Luận văn tốt nghiệp Nguyễn Văn Duy
Vớ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ành
phầ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 giao
tá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ới
chương trình ứng dụng. Vì truyền thông giữa hai máy tính được bản thân
phần mềm cơ sở dữ liệu quản lý, phần mềm cơ sở dữ liệu có thể được thiết
kế để khôi phục sau sự cố tại máy tính cục bộ, máy ở xa hay trên mạng
truyền thông. Do toàn bộ cơ sở dữ liệu được đặt trên một máy tính, các
chứ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ức
truy 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ép
chương trình truy nhập cơ sở dữ liệu đơn trên máy tính đơn ở xa. Hai mức
hỗ 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ân
tán có thể lập nên cấu hình được mô tả như trong hình vẽ sau:
29
Máy Client
Máy Server
Chương trình ứng dụng
Mạng
truyền
thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Máy Server
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Hình 12. Cấu hình cơ sở dữ liệu phân tán.
Luận văn tốt nghiệp Nguyễn Văn Duy
2.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 vi
giao 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 tham
chiếu đến dữ liệu trong hệ thống tính toán ở xa. Dữ liệu nhằm thoả mãn câu
SQL 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ông
tá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, đồng
bộ 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án
là 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ên
một số máy ở xa, và một câu SQL được phép tham chiếu dữ liệu trên nhiều
hệ 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ương
trì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