CSDL3_ chuong1
CHƯƠNG 1: HỆ CƠ SỞ DỮ LIỆU CLIENT/SERVER
Khi thiết kế một cơ sở dữ liệu, bao giờ cũng xuất phát từ các yêu cầu dữ liệu
của bài toán. Và tùy thuộc vào mô hình dữ liệu mà có cách thức xây dựng, có chiến
lược quản trị CSDL cho phù hợp. Cho tới nay, có rất nhiều mô hình dữ liệu được đề
xuất: Mô hình dữ liệu phân cấp, mô hình dữ liệu mạng, mô hình dữ liệu quan hệ, ...
Tuy nhiên, mô hình dữ liệu quan hệ, với sự uyển chuyển về cấu trúc nên nhiều hệ
thống áp dụng dễ dàng triển khai, bảo trì hơn. Chính vậy mà mô hình này trở nên phổ
biến và đã được trình bày chi tiết trong học phần CSDL HP1. Trong chương này chủ
yếu trình bày về cấu trúc mạng client/server.
1. Cấu trúc của CSDL
Cấu trúc logic của CSDL có thể được thiết kế khác nhau tùy thuộcvào mô hìnhCSDL mà chúng được tổ chức. Do vậy, cấu trúc vật lí của những hệCSDL cũng khác nhau một cách đáng kể. Tổ chức ở MTĐT lớn (mainframe) rõ ràng làkhác hẳn ởMTĐT mini và lại khác biệt nhiều hơn nữa khi tổ chức trên PC. Tấtcả các hệ thống
trên đều có thể chạy những hệ quản trị CSDL, tuy vậy cấu trúc củacác hệ quản trịCSDL này tùy thuộc vào phần cứng và phụ thuộc vào kiểu truy xuấtdữ liệu yêu cầu.
Có một số phương thức mà theo đó xây dựng các cấu hình cho hệthống máy tính truy xuất CSDL, nhưng thông thường rơi vào hai loại sau:
- Cấu hình đơn lẻ (StandAlone)
- Cấu hình nhiều người sử dụng (MultiUser)
1.1 Hệ CSDL đơn lẻ (StandAlone DataBase System)
Một hệ CSDL đơn lẻ thì chỉ bao gồm một máy tính. Dữ liệu,NSD đều làm việc
trên máy này và hệ quản trị CSDL chỉ là một phần mềm tích hợp đơn độc. Với hệ
thống này, mỗi thời điểm chỉ phục vụ một người, nên quy mô tương đối nhỏ.
Cách khai thác trên vô hình chung đã phung phí rất nhiềunăng lực của máy
tính. Vì thế, những máy tính chạy đơn lẻ và sử dụng trong việc khaithác những CSDLnhỏ sẽ phí thời gian rất nhiều vào việc chờ NSD thực hiện một thaotác nào đó.
1.2 Hệ CSDL nhiều người sử dụng
Hệ CSDL nhiều người sử dụng có thể sử dụng đồng thời bởi nhiều NSD. Điềunày làm tăng hiệu quả sử dụng, bởi vì hệ thống có thể lo chuyện đápứng yêu cầu củaNSD này trong lúc chờ đợi NSD khác nhập liệu.
Có bốn cấu hình khác nhau có thể cung cấp khả năng khai thác của nhiều NSD:
- Khai thác từ xa (Teleprocessing)
- Cấu trúc Client/Server
- Cấu trúc chia xẻ nguồn lực hệ thống (Resource Sharing)
- Khai thác dữ liệu phân tán (Distributed Data Processing)
1.2.1 Khai thác từ xa
Hệ thống khai thác từ xa gồm một máy trung tâm có năng lực xử lí cao chứaCSDL và các máy khai thác đầu cuối dành cho NSD khai thácCSDL.
Hệ thống này bộc lộ rất nhiều nhược điểm
- Hiệu năng của hệ thống phụ thuộc rất nhiều vào năng lực của máytrung tâm,số NSD, băng thông, ...
- Chi phí cao
- Nếu máy trung tâm hỏng thì cả hệ thống tê liệt (Do mọi xửlí đều diễn ra ở
máy trung tâm)
1.2.2 Cấu trúc Client/Server
Hệ thống Client/Server gồm một máy trung tâm gọi làmáychủ (Server) sẽ
được nối với nhiều máy khác mà gọi là máy trạm (Client). Tại máyclient, NSD ápdụng các hệ thống khai thác CSDL nằm trên máy server. Với mỗiNSD sẽ khai thác và sử dụng dữ liệu đặc thù của mình (chỉ áp dụng tại client), nênmáy server đang chạy như một động cơ chính của hệ quản trịCSDL (DBMS’s Database Engine), có thể tập chung vào việcxử lí dữ kiệnMột hệ thống theo cấu trúc Client/Server có thể có nhiềuserver, nhưng vậy thì
mỗi server sẽ lưu trữ các CSDL khác nhau.\
1.2.3 Cấu trúc chia xẻ nguồn lực hệ thốngHệ thống chia xẻ nguồn lực là hệ thống bao gồm nhiều máydạng “server” liênkết với nhau thông qua mạng LAN, các máy “server” này được nốivới các máy vitính của NSD. Các máy “server” chủ yếu chứa các tập tin (file servers) chứ không phải là cácdatabase servers. Có nghĩa là các máy này chỉ chứa các dữliệuthôichứ không chứahệ quản trị CSDL. Hệ quản trị CSDL nằm trên các máy của NSD vàdùng để truy xuấtdữ liệu trên các máy file servers.
Rõ ràng, cách tổ chức này kém hiệu quả hơn mô hìnhClient/Server, vì CSDL
và hệ quản trị CSDL được lưu trữ tách biệt nhau và chỉ được nối vớinhau thông quamạng LAN. Một nhược điểm lớn khác là khi một NSD khai thác trênmột tập tin thì
tất cả các NSD khác sẽ bị khoá chốt không cho xen vào. Điều nàylàm chậm khả năngkhai thác dữ liệu một cách đáng kể.
1.2.4 Khai thác dữ liệu phân tán
Hệ thống khai thác dữ liệu phân tán gồm nhiều servers cũngnhư nhiều clients. Các thành phần cơ sở dữ liệu được chia nhỏ thành nhiều cơ sở dữ liệu thành phần, trải ra ở nhiềuservers.
2. Mô hình dữ liệu Client/ Server với SQL
2.1 Lợi ích khi dùng cấu trúc Client/Server
Cấu trúc Client/Server đã nổi bật lên như một kiểu cấu hình nhiều người sửdụng có ưu thế hơn cả. Có rất nhiều nguyên nhân dẫn đến sự lựachọn này:
-
-
-
-
-
Chi phí về phần cứng: Khác với cấu hình khai thác từ xa, phải sử dụng
những MTĐT đất tiền (mainframe), thì cả máy server và các máy clients có
thể sử dụng là các máy PC.
Chi phí về phần mềm: Phần mềm dành cho máy PC thì không đắt và lại rẻ
hơn rất nhiều so với phần mềm chạy trên các mainframe hay minicoputer
Chi phí thiết lập mạng: Hệ thống Client/Server thì bề rộng băng truyền dữ
liệu ít hơn mà vẫn đạt được cùng hiệu suất như một hệ thống chia xẻ nguồn
lực.
Hiệu suất:
Sử dụng dễ dàng.
2.2 Sử dụng SQL trên cấu trúc Client/Server:
SQL là một ngôn ngữ phụ về dữ liệu, nó có thể hoạt động trên một hệ thốngđơn lẻ hoặc trên bất cứ một hệ thống nhiều người sử dụng nào đã kểtrên. Ngôn ngữnày đặc biệt làm việc rất tốt trên các hệ thống theo cấu hìnhClient/Server. Nhữngchương trình ứng dụng chạy trên trạm khách có thể chứa nhữngmệnh lệnh xử lí dữ
liệu của SQL. DBMS sẽ gửi các mệnh lệnh này đến máy serverthông qua mạng máytính. Tại máy server, một bộ phận của DBMS dành cho server sẽthông dịch và thi
hành các mệnh lệnh của SQL rồi gửi kết quả trở lại trạm khách thôngqua mạng.Ngoài ra, những tác vụ rất phức tạp cũng có thể được viết bằng SQLtại trạm khách vàrồi được giải mã và thi hành tại máy server.
Khi truy xuất dữ liệu bằng cách dùng SQL trên một hệthốngtheo cấu hình
Client/Server thì chỉ những dữ liệu mà định truy xuất mới đượcchuyển từ máy server
về máy trạm thông qua mạng máy tính. Trái lại, trong một hệ thốngtheo cấu hình
chia xẻ nguồn lực, với mức độ thông minh tối thiểu của các fileserver, nó sẽ truyền cả
một khối dữ liệu thật lớn, trong khi, thực sự chỉ cần một số dữ liệumà thôi. Điều này
đã làm chậm quá trình khai thác một cách đáng kể.
Ngoài ra, hệ thống dựa trên cấu hình Client/Server còn hỗtrợbổ sung cho
những đặc trưng của SQL hầu như đem lại hiệu suất cao hơn với chiphí rẻ hơn đối
với mạng máy tính cỡ nhỏ, trung bình và khôngể cả mạng máy tínhlớn.
2.3 Nhiệm vụ của máy server và client
2.3.1 Nhiệm vụ của máy server
Trong mô hình Client/Server, nhiệm vụ chính của máy serverlà nhận các yêu
cầu của máy client và đáp ứng các yêu cầu đó. Nếu trong cùng mộtlúc nhiều máy
clients đòi hỏi máy server phục vụ thì máy server phải đáp ứng mộtcách nhanh
chóng. Máy server thường khác biệt với các máy clients ở chỗ chúngcó nhiều thiết bị
lưu trữ với vận tốc cao, và đều được tối ưu hóa để có thể truy xuất dữliệu một cách
nhanh nhất.
Máy server (cách gọi ngắn ngọn của cụm từ Database Server)là một bộ phận
của hệ thống theo cấu trúc Client/Server dùng để lưu trữ và bảo quảncác CSDL.
Trong đó, máy server chứa một bộ phận của DBMS. Bộ phận này loliệu việc thông
dịch những mệnh lệnh gửi từ các máy clients và biến các mệnh lệnhnày thành những
hoạt động đối với CSDL. Bộ phận phần mềm dành cho máy servercũng định dạng kết
quả của những yêu cầu vấn tin và gửi kết quả trở về máy client đãphát đi yêu cầu này.
Công việc của máy server tương đối đơn giản và không rắc rối lắm. Tất cả
những gì server phải làm là đọc, thông dịch, và thi hành những mệnhlệnh gửi đến từcác clients trong mạng máy tính. Những mệnh lệnh này có dạng củamột trong những ngôn ngữ phụ về dữ liệu. Ngôn ngữ phụ (Sublanguege) thì chưađược xem là một ngôn ngữ hoàn toàn, nó chỉ thực hiện một phần nàođó của ngôn ngữmà thôi. Ngônngữ phụ về dữ liệu (Data Sublanguege) thì chỉ quan tâm tới việchành xử với dữ liệumà thôi. Ngôn ngữ này được trang bị để thực hiện những tác vụ nhưchèn, xóa, cậpnhật, và tuyển chọn dữ liệu, nhưng không có những cấu trúc điềukhiển như các lệnhđiều khiển vào ra, rẽ nhánh, vòng lặp... SQL là một ngôn ngữ phụ vềdữ liệu dược sửdụng phổ biến nhất hiện nay và đã trở thành một tiêu chuNn côngnghệ. Những ngônngữ phụ về dữ liệu được sản xuất trước đây đã dần dần bị SQL loạira trên hầu hết cáchệ thống máy tính.
Những đặc trưng của một máy server lý tưởng:
- Thi hành những chỉ thị gửi đến và chuyển khôngết quả khai thác trở lại máy client ngay tứcthời.
- Không bao giờ chuyển trở lại máy client những trả lời sai về vấn tin
- Cung cấp những thông báo sai lầm trung thực và hữu ích đối với những chỉ thịkhông thích
nghi hoặc không có hiệu lực được gửi đến từ clients
- Bảo đảm sự truy xuất chỉ được cung cấp cho những NSD có thẩm quyền.
- Tránh được những tác động của một client nào đó nhằm gây tổn thương dữ liệucủa một client khác
- Thông báo lưu ý tới NSD ngay khi mệnh lệnh truy xuất dữ liệu mà NSD đã viếtnhưng
không phản ánh chính xác tác vụ vấn tin theo ý nghĩ của họ. (Điều này hiểu là máytính chỉ
làm theo mệnh lệnh của NSD chứ không làm theo suy nghĩ của họ)
Thực tế, một máy server lí tưởng không thể tồn tại. Nhiều máy server hiện nay đã có những
đặc tính của một máy server lí tưởng, hoặc ít nhất là đã tiếp cận được những đặc tính này.
2.3.2 Nhiệm vụ của máy client
Máy client là một bộ phận của hệ thống theo cấu trúc Client/Server dùng để cung cấp giao diện với NSD. Đứng ở góc độ NSD, có thể hiểu, client gồm máy tính của NSD và giao diện với NSD chính là hệ thống chương trình ứng dụng. Ngoài phần giao diện với NSD, máy client còn chứa cả chương trình ứng dụng và một bộ phận dành cho máy khách của DBMS. Chương trình ứng dụng thì thực hiện những tác vụ riêng biệt mà nó phải làm. Còn bộ phận dành cho máy khách của DBMS thì thi hành những mệnh lệnh của chương trình ứng dụng, thực hiện việc trao đổi dữ liệu và những mệnh lệnh xử lí dữ liệu với bộ phận dành cho server của DBMS.
Máy client lo chuyện hiển thị thông tin trên màn hình và đáp ứng đối với dữ
liệu nhập do NSD cung cấp thông qua bàn phím, chuột hay một thiết bị nhập khác.
Ngoài ra, cũng có thể, máy client còn khai thác dữ liệu truyền đến bởi các hoạt động
liên lạc viễn thông hoặc từ các client khác.
Những đặc trưng của một trạm khách lí tưởng:
- Hiển thị một màn hình dưới dạng có thể hiểu ngay được đối với bất cứ NSD nào.
- Hiển thị tất cả các thông tin cần thiết để thực hiện tác vụ hiện hành
- Không hiển thị những thông tin không liên quan
- Trình bày một giao diện dễ xem và dễ nhận biết.
- Tất cả các nhiệm ý về việc trả lời NSD có thể chọn thì rõ ràng và thực hiện dễ dàng
- Không cần dùng quá hai phím hặc nhiều lần click chuột để thực hiện một chức năng nào đó.
- Bất cứ một hoạt động nào không cho phép phục hồi dữ liệu nguyên thủy thì, trước khi dữliệu bị thay đổi phải yêu cầu NSD xác nhận.
Trạm khách lí tưởng là mục tiêu phấn đấu của bất cứ người thiết kế chương trình ứng dụng nào, nhưng khó đạt được. Tuy vậy, vẫn có thể thiết lập được những trạm khách tiếp cận được với những đặc tính lí tưởng này.
Bạn đang đọc truyện trên: AzTruyen.Top