Quản lý cơ sở dữ liệu trên mạng Internet bằng mô hình cơ sở dữ liệu phân tán - Pdf 41

LờI CảM ƠN

Tôi xin bày tỏ lòng kính trọng và biết ơn sâu sắc tới PGS.TS Phạm Văn ất,
ng-ời thầy đã trực tiếp h-ớng dẫn, cho tôi những định h-ớng và ý kiến rất quý báu
để hoàn thành cuốn luận văn này.
Tôi xin cảm ơn các thầy cô trong khoa Công Nghệ, Viện Công nghệ thông tin Đại học Quốc gia Hà Nội đã nhiệt tình giúp đỡ tôi trong suốt quá trình học tập và
thực hiện luận văn.
Tôi xin cảm ơn gia đình, đồng nghiệp, bạn bè đã giúp đỡ và động viên tôi trong
quá trình học tập, nghiên cứu và làm việc
.
Hà Nội, ngày 20/06/2004
Học viên
Đăng Quỳnh Nga


2

mục lục
Mở đầu .................................................................................................................................... 4
Ch-ơng 1. Tìm hiểu về các hệ cơ sở dữ liệu phân tán ................................. 7

1.1 Xử lý dữ liệu phân tán...................................................................................... 8
1.2 Hệ cơ sở dữ liệu phân tán là gì? .................................................................... 11
1.3 Triển vọng của các hệ cơ sở dữ liệu phân tán .............................................. 15
1.3.1 Quản lý dữ liệu phân tán và nhân bản một cách vô hình .......................... 15
1.3.2 Độ tin cậy qua các giao dịch phân tán ...................................................... 23
1.3.3 Cải thiện hiệu năng .................................................................................... 24
1.3.4 Tính dễ mở rộng ........................................................................................ 26
1.4 Các yếu tố phức tạp ........................................................................................ 27
1.5 Một số vấn đề còn tồn tại trong hệ CSDL phân tán ................................... 29
1.5.1 Thiết kế CSDL phân tán ............................................................................ 29


3.1 Ngôn ngữ định dạng HTML ......................................................................... 45
3.1.1 Trang HTML mẫu ..................................................................................... 45
3.1.2 Các định dạng ............................................................................................ 46
3.1.3. Đ-a hình ảnh vào trang WEB ................................................................... 48
3.1.4 Liên kết và URL ........................................................................................ 49
3.1.5 Tạo danh sách ............................................................................................ 49
3.1.6. Bảng.......................................................................................................... 51
3.1.7. Chia trang Web thành các frame .............................................................. 55
3.1.8. Các ô điều khiển để nhập dữ liệu ............................................................. 56
3.1.9. Các nút lệnh .............................................................................................. 58
3.1.10 Bài trí Form ............................................................................................. 60
3.2. Ngôn ngữ kịch bản ....................................................................................... 60
3.2.1 Ngôn ngữ kịch bản VB Script .................................................................... 61
3.2.2 Ngôn ngữ kịch bản JAVA Script ............................................................... 71
3.3 Xây dựng trang web động với ASP ............................................................... 72
3.3.1 Mở đầu ...................................................................................................... 72
3.3.2 Ngôn ngữ ASP ........................................................................................... 72
3.3.3 Các đối t-ợng trong ASP ........................................................................... 80
3.3.4 Kết nối cơ sở dữ liệu.................................................................................. 97
3.4 Vấn đề tiếng Việt trong website .................................................................. 111
Ch-ơng 4. Phần mềm thực nghiệm: Quản lý đào tạo từ xa.................. 112

4.1 Phân tích thiết kế .......................................................................................... 112
4.2 Website .......................................................................................................... 113
4.3 Một số mã nguồn .......................................................................................... 116
4.3.1 Đăng ký học từ xa ................................................................................... 116
4.3.2 Nhập điểm theo lớp, môn ........................................................................ 120
Kết luận ............................................................................................................................... 125
Tài liệu tham khảo ............................................................................................................. 125

tán - giới thiệu về cấu trúc Client/Server và các hệ quản trị cơ sở dữ liệu đang đ-ợc
dùng thông dụng hiện nay.

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


5

Ch-ơng 3. Các ngôn ngữ lập trình dùng trong bài toán quản lý trên mạng
Internet - Giới thiệu các ngôn ngữ lập trình hiện nay đang đ-ợc sử dụng để xây dựng
phần mềm quản lý CSDL phân tán:
- HTML: Xây dựng các trang web tĩnh
- VB Script, Java Script: là ngôn ngữ kịch bản để xử lý dữ liệu, xử lý các sự
kiện trên các mẫu biểu ngay tại User tr-ớc khi dữ liệu đ-ợc gửi về Server.
- ASP: Xây dựng trang Web động và kết nối CSDL.
Ch-ơng 4. Phần mềm thực nghiệm: Quản lý hệ đào tạo từ xa - giới thiệu cách
xây dựng một trang web cụ thể.
Phần kết luận tổng hợp những kết quả nghiên cứu của luận văn, chỉ ra một số
hạn chế ch-a hoàn thiện. Đồng thời đề xuất một số h-ớng nghiên cứu cụ thể tiếp
theo của tác giả luận văn.

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


6

bảng chú giải một số cụm từ viết tắt
ASP

Active Server Pages


Structure Query Language

WWW

World Wide Web

bảng chú giải một số thuật ngữ tiếng việt
Đa ph-ơng tiện

Multimedia

Đào tạo từ xa

Distance learning

Mật khẩu

Password

Máy chủ

Server

Máy khách

Client

Tên định danh


Mô tả dữ liệu

Tập tin 1
Tập tin 2

Ch-ơng trình 3
Mô tả dữ liệu

Dữ liệu thừa

Mô tả dữ liệu

Tập tin 3

Hình 1.1 Mô hình xử lý dữ liệu
Một trong những động lực chủ yếu thúc đẩy việc sử dụng hệ CSDL là nhu cầu
tích hợp các dữ liệu của một xí nghiệp và cho phép truy xuất tập trung, nhờ vậy có
thể điều khiển đ-ợc các truy xuất đến dữ liệu. Còn công nghệ mạng máy tính đi
ng-ợc lại với mọi nỗ lực tập trung hóa. Nhìn thoáng qua, chúng ta rất khó hình dung
ra làm cách nào tổng hợp hai h-ớng tiếp cận trái ng-ợc nhau để cho ra một công
nghệ mạnh mẽ và nhiều hứa hẹn hơn so với từng công nghệ riêng lẻ. Mấu chốt của
vấn đề là cần phải hiểu rằng, mục tiêu quan trọng nhất của công nghệ CSDL là sự
tích hợp (integratior), không phải sự tập trung hóa (centralization). Cũng cần phải
hiểu rằng giữa hai thuật ngữ, có đ-ợc điều này không dẫn đến điều kia. Và vẫn có
thể có tích hợp mà không cần tập trung hóa. Đây chính là mục tiêu của công nghệ
cơ sở dữ liệu phân tán.
Chúng ta sẽ bắt đầu bằng cách nghiên cứu về các hệ thống phân tán nói chung,
qua đó nêu bật đ-ợc vai trò của công nghệ CSDL trong quá trình xử lý dữ liệu phân
tán rồi chuyển sang các đề tài có liên quan trực tiếp đến các hệ cơ sở dữ liệu.


(Central Proccessing Unit) và các chức năng xuất nhập (Input/output function) đã
đ-ợc tách riêng nh-ng vẫn đan quyện vào nhau. Sự tách biệt và đan quyện này có
thể đ-ợc xem nh- một dạng xử lý phân tán. Tuy nhiên cũng cần nhận ra rằng điều
mà chúng ta xem là xử lý phân tán ở đây không phải là hình thức phân bổ chức năng
trên một hệ thống đơn bộ xử lý.
Một thuật ngữ đã gây nhiều nhầm lẫn sẽ rất khó định nghĩa chính xác. Có một
số cố gắng nhằm định nghĩa việc xử lý phân tán một cách cụ thể và hầu nh- mỗi nhà
nghiên cứu đều đ-a ra một định nghĩa riêng. Trong luận văn này, chúng tôi định
nghĩa xử lý phân tán theo một cách mà đ-ợc nhiều tác giả dùng hơn cả để có thể dẫn
đến một định nghĩa về hệ CSDL phân tán. Định nghĩa của chúng tôi cho một hệ
thống tính toán phân tán (distributed computing system) khẳng định rằng đó là một

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


9

số các bộ phận xử lý (processing element) tự vận hành (không nhất thiết phải cùng
chủng loại) đ-ợc liên kết bởi một mạng máy tính và hiệp đồng thực hiện các tác vụ
mà chúng đ-ợc phân công. Các bộ phận xử lý muốn nói đến trong định nghĩa này là
các thiết bị tính toán có thể chạy đ-ợc một ch-ơng trình trên chính nó.
Câu hỏi cơ bản đ-ợc đặt ra là: Những gì đ-ợc phân tán? Một trong những
cái có thể đ-ợc phân tán là thiết bị xử lý. Thực tế, định nghĩa về hệ thống tính toán
phân tán đ-ợc trình bày ở trên đã ngầm giả sử rằng các bộ phận xử lý đ-ợc phân tán.
Một kiểu phân tán nữa là chức năng. Nhiều chức năng của hệ thống máy tính có thể
đ-ợc chuyển giao cho các thành phần phần cứng và phần mềm. Kiểu thứ ba là theo
dữ liệu. Dữ liệu đ-ợc dùng bởi một số ứng dụng có thể đ-ợc phân tán cho một số vị
trí xử lý. Cuối cùng là quyền điều khiển (control) cũng có thể phân tán. Quyền điều
khiển việc thực hiện một số tác vụ có thể đ-ợc phân tán thay vì đ-ợc thực hiện bởi
một hệ thống máy tính. Từ góc độ của hệ CSDL phân tán, những kiểu phân tán này

công ty, xí nghiệp, đồng thời một hệ thống nh- thế phải có độ tin cậy cao hơn và có
khả năng đáp ứng tốt hơn. Quan trọng hơn, nhiều ứng dụng hiện tại của công nghệ
máy tính đ-ợc phân tán nh- một hệ quả tất yếu. Th-ơng mại điện tử trên Internet,
các ứng dụng đa ph-ơng tiện nhờ việc cung cấp tin tức theo yêu cầu, các kỹ thuật
chẩn đoán hình ảnh trong y khoa hoặc các hệ thống điều khiển sản xuất đều là
những minh họa cho ứng dụng phân tán.
Tuy nhiên từ góc độ tổng thể hơn, chúng ta có thể khẳng định rằng lý do cơ
bản của việc xử lý phân tán là do nó có thể giải quyết tốt hơn các bài toán lớn và
phức tạp mà chúng ta gặp phải hiện nay bằng cách sử dụng qui tắc cổ điển "chia để
trị" đã đ-ợc biết từ lâu. Nếu việc hỗ trợ bằng phần mềm cần cho vấn đề xử lý phân
tán phát triển đ-ợc, thì có thể giải các bài toán này một cách đơn giản là chia nhỏ
chúng ra và gán chúng cho các nhóm phần mềm đ-ợc chạy trên các máy tính khác
nhau, tạo ra một hệ thống chạy trên nhiều bộ phận xử lý nh-ng có thể hoạt động
hiệu quả nhằm thực thi một tác vụ chung nào đó.
Từ quan điểm kinh tế, cách tiếp cận này có hai -u điểm cơ bản. Tr-ớc tiên việc
tính toán phân tán cung cấp một ph-ơng pháp kinh tế nhằm tận dụng đ-ợc sức mạnh
tính toán bằng cách sử dụng nhiều bộ phận xử lý một cách tối -u. Nó đòi hỏi phân
tích nghiên cứu về các hệ thống phân tán, và cả những hệ thống xử lý song song.
Bằng việc giải quyết bài toán theo từng nhóm hoạt động khá độc lập, chúng ta có thể
kiểm soát đ-ợc chi phí phát triển phần mềm. Thực sự chúng ta đều biết rằng chi phí
phần mềm đã tăng ng-ợc lại với chi phí của phần cứng.
Các hệ CSDL phân tán cũng có thể đ-ợc xem xét trong khuôn khổ của bộ
khung này và đ-ợc xử lý nh- những công cụ có thể làm cho việc xử lý phân tán dễ
dàng và hiệu quả hơn. Chúng ta có thể phác họa tính chất t-ơng đồng giữa những gì
mà các hệ CSDL phân tán có thể hỗ trợ cho việc xử lý dữ liệu với những gì mà công
nghệ CSDL đã cung cấp. Chẳng nghi ngờ gì nữa, việc phát triển các hệ CSDL phân
tán đa mục đích, dễ áp dụng và có hiệu quả sẽ giúp rất nhiều cho việc phát triển các
phần mềm phân tán.
Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán



Hình 1.3 Hệ đa bộ xử lý có bộ nhớ chung
Đôi khi chúng ta giả thiết rằng việc phân bố vật lý của các dữ liệu không phải
là vấn đề quyết định. Đ-a ra quan điểm này có thể tạo thoải mái khi gán cho hai
CSDL (có liên hệ) hiện hữu trên cùng một hệ thống máy tính là một CSDL phân tán.
Tuy nhiên việc phân bố vật lý của các dữ liệu vẫn hết sức quan trọng. Nó làm nảy
sinh những vấn đề không hề gặp phải khi dữ liệu đ-ợc l-u trên cùng một máy tính.

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


12

Chú ý rằng phân bố vật lý không nhất thiết là các hệ thống máy tính phải tách biệt
nhau về mặt địa lý thực sự chúng có thể ở trong cùng một phòng. Nó chỉ khẳng định
một điều là việc giao tiếp giữa chúng đ-ợc thực hiện trên một mạng thay vì qua bộ
nhớ chung, với mạng đ-ợc xem là tài nguyên dùng chung duy nhất.
Điều này lại dẫn đến một vấn đề khác. Định nghĩa trên cũng loại bỏ các hệ
thống đa bộ xử lý ra khỏi nhóm các hệ CSDL phân tán. Một hệ đa bộ xử lý nói
chung đ-ợc xem nh- một hệ thống có hai hoặc nhiều bộ xử lý cùng dùng chung một
dạng bộ nhớ nào đó, hoặc là bộ nhớ chính và khi đó đ-ợc gọi là có bộ nhớ chung
(shared memory) (Hình 1.3), hoặc dùng chung bộ nhớ thứ cấp và khi đó đ-ợc gọi là
có đĩa chung (shared disk).
Hệ thống máy tính

Hệ thống máy tính

Hệ thống máy tính

CPU

tr-ờng tính toán phân tán. Sự khác biệt cơ bản là thể thức hoạt động. Thiết kế một hệ
thống đa bộ xử lý khá đối xứng bao gồm một số bộ xử lý và các thành phần bộ nhớ
đồng nhất, đ-ợc điều khiển bởi một hoặc nhiều bản sao của cùng một hệ điều hành,
chịu trách nhiệm kiểm soát chặt chẽ việc phân công tác vụ cho mỗi bộ xử lý. Trong
môi tr-ờng tính toán phân tán, điều này không đúng do tính đa chủng của các hệ
điều hành cũng nhờ phần cứng.
Hệ thống máy tính

Hệ thống máy tính

CPU

CPU

Bộ nhớ

Bộ nhớ

Kênh chuyển mạch
Hệ thống máy tính

Hệ thống máy tính

CPU

CPU

Bộ nhớ

Bộ nhớ


Tr¹m 5

M¹ng truyÒn d÷ liÖu
Tr¹m 3

Tr¹m 4

H×nh 1.7 M«i tr-êng cña hÖ CSDL ph©n t¸n

Qu¶n lý CSDL trªn m¹ng Internet b»ng m« h×nh CSDL ph©n t¸n


15

1.3 Triển vọng của các hệ cơ sở dữ liệu phân tán [7, 14]
Nhiều -u điểm của CSDL phân tán đã đ-ợc nói đến trong nhiều tài liệu chuyên
ngành từ lý do xã hội của việc phi tập trung [Doliviera, 1977] đến hiệu quả kinh tế
của nó. Tất cả những lý do này đề có thể đ-ợc phân làm bốn nhóm cơ bản, đ-ợc
xem là triển vọng đầy hứa hẹn của công nghệ CSDL phân tán.
1.3.1 Quản lý dữ liệu phân tán và nhân bản một cách vô hình
Đặc tính vô hình muốn nói đến sự tách biệt về ngữ nghĩa ở cấp độ cao của một
hệ thống với các vấn đề cài đặt ở cấp độ thấp. Nói cách khác, một hệ thống vô hình
sẽ "che khuất" các chi tiết cài đặt, không cho ng-ời dùng "nhìn thấy". Ưu điểm của
một DBMS vô hình hoàn toàn là mức độ hỗ trợ cao mà nó cung cấp cho việc phát
triển các ứng dụng phức tạp. Rõ ràng là chúng ta mong muốn làm cho tất cả các
DBMS (tập trung và phân tán) đều vô hình hoàn toàn.
Chúng ta hãy bắt đầu bằng một thí dụ. Một công ty điện toán có các văn phòng
ở Boston, Edmonton, Paris và San Francisco. Họ có một số dự án (project) đ-ợc
thực hiện tại mỗi nơi này và muốn duy trì một CSDL về nhân viên (employee), dự

mảnh (fragmentation).
Hơn nữa, ng-ời ta cũng mong muốn sao chép một phần dữ liệu này tại những
vị trí khác nhau, vì các lý do hiệu quả hoạt động (hiệu năng) và độ tin cậy (độ khả
tín). Kết quả của yêu cầu này là một CSDL phân tán, đ-ợc phân mảnh và nhân bản
(Hình 1.8). Truy xuất vô hình hoàn toàn có nghĩa là ng-ời sử dụng vẫn có thể đ-a
ra các câu vấn tin nhờ đã viết ở trên mà không phải quan tâm đến việc phân mảnh,
định vị hoặc nhân bản dữ liệu, và để cho hệ thống lo giải quyết các vấn đề này.
Paris
Nhân viên ở Boston
Nhân viên Paris
Dự án ở Boston
Boston

Nhân viên ở Paris
Nhân viên ở Boston
Dự án ở Paris
Dự án ở Boston

Mạng truyền dữ liệu
San Francisco
Nhân viên ở San Francisco
Dự án ở San Francisco
Edmonton
Nhân viên ở Edmonton
Dự án ở Edmonton
Dự án ở Paris

Hình 1.8 Một ứng dụng phân tán
Để hệ thống có thể giải quyết đ-ợc kiểu vấn tin này trên một CSDL phân tán,
phân mảnh và nhân bản, nó cần có khả năng giải quyết một số loại vô hình. Chúng

đ-ợc viết, sẽ không quan tâm đến chi tiết tổ chức dữ liệu vật lý. Dữ liệu có thể đ-ợc
tổ chức trên nhiều loại đĩa khác nhau, và các phần có thể đ-ợc tổ chức theo những
ph-ơng thức khác nhau (thí dụ nh- truy xuất tuần tự theo chỉ mục hoặc ngẫu
nhiên), thậm chí có thể đ-ợc phân bố trên các hệ thống l-u trữ khác nhau (đĩa, băng
từ). ứng dụng không bị "lôi kéo" vào những vấn đề này bởi vì về khái niệm, không
hề có sự khác biệt gì trong các thao tác đ-ợc thực hiện trên dữ liệu. Do vậy không
cần phải hiệu chỉnh lại ứng dụng khi có các thay đổi về cách tổ chức dữ liệu. Tuy
nhiên hiểu biết về những thay đổi sẽ giúp ích cho việc đánh giá hiệu năng hệ
thống.
Vô hình kết mạng
Trong các hệ CSDL tập trung, tài nguyên có sẵn duy nhất cần đ-ợc "bọc" lại là
dữ liệu (đó là hệ thống l-u trữ). Tuy nhiên, trong môi tr-ờng quản trị CSDL phân
tán, có một tài nguyên nữa cũng cần phải quản lý bằng một cách gần nh- thế, đó là
hệ thống mạng. Thông th-ờng, ng-ời sử dụng cần đ-ợc tách ra khỏi mọi chi tiết
hoạt động của mạng. Hơn nữa ng-ời ta cũng mong muốn che dấu ngay cả sự tồn tại

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


18

của mạng nếu đ-ợc. Khi đó sẽ không có sự khác biệt nào giữa các ứng dụng CSDL
chạy trên một CSDL tập trung và các ứng dụng chạy trên các CSDL phân tán. Kiểu
vô hình này th-ờng đ-ợc xem là vô hình kết mạng (network transparency) hoặc vô
hình phân bố (distribution transparency).
Ng-ời ta có thể xem xét đặc tính vô hình kết mạng từ quan điểm các dịch vụ
đ-ợc cung cấp hoặc từ quan điểm dữ liệu. Đối với các dịch vụ, ng-ời ta mong muốn
có một ph-ơng tiện thống nhất để truy xuất chúng. Từ quan điểm của hệ quản trị
CSDL, vô hình phân bố đòi hỏi rằng ng-ời dùng không phải đặc tả vị trí l-u trữ dữ liệu.
Cũng có quan điểm phân chia tính vô hình phân bố thành hai loại: vô hình vị

chỉ là sự tồn tại của chúng). Từ quan điểm ng-ời sử dụng, câu trả lời hoàn toàn rõ
ràng. Ng-ời ta không muốn phải xử lý các bản sao và phải xác định rõ một hành
động có thể hoặc/và phải đ-ợc thực hiện trên nhiều bản sao. Tuy nhiên từ quan
điểm hệ thống, câu trả lời không phải giản đơn. Khi ủy thác cho ng-ời sử dụng
trách nhiệm xác định xem hành động nào cần phải thực hiện trên nhiều bản
sao, quản lý giao dịch sẽ đơn giản hơn cho các hệ DBMS phân tán. Nh-ng ng-ợc lại
nó làm mất đi độ linh hoạt của hệ thống. Không phải chính hệ thống quyết định
xem có phải nhân bản hay không và cần phải tạo ra bao nhiêu bản sao mà do các
ứng dụng quyết định. Thay đổi những quyết định này vì nhiều vấn đề khác nhau
đều ảnh h-ởng đến ứng dụng và vì thế giảm đi tính độc lập dữ liệu. Do đó, ng-ời ta
mong rằng tính vô hình nhân bản sẽ đ-ợc cung cấp nh- một đặc điểm chuẩn của
DBMS. Cần nhớ ràng đặc tính vô hình nhân bản chỉ đề cập đến sự tồn tại của các
bản sao chứ không phải vị trí thực sự của chúng. Cũng cần chú ý rằng việc phân bố
các bản sao trên mạng theo ph-ơng thức vô hình nằm trong phạm vi của vấn đề vô
hình kết mạng.
Vô hình phân mảnh
Dạng vô hình cuối cùng cần phải thảo luận trong ngữ cảnh của các hệ CSDL
phân tán là vô hình phân mảnh (fragmentation transparency). Ng-ời ta có nhu cầu
tách mỗi quan hệ thành các thành dữ liệu (fragment) nhỏ hơn và xử lý mỗi mảnh
này nh- một đối t-ợng CSDL độc lập (nghĩa là nh- một quan hệ). Thông th-ờng nó
đ-ợc thực hiện vì những lý do về hiệu năng, tính sẵn sàng và độ tin cậy. Hơn nữa
việc phân mảnh có thể làm giảm đi các tác dụng không mong muốn của việc nhân
bản. Mỗi bản sao khi đó không phải là một quan hệ đầy đủ mà chỉ là một tập con
của nó; nh- thế cần ít chỗ để l-u trữ và ít công sức quản lý các mục dữ liệu.
Có hai kiểu chọn lựa phân mảnh tổng quát. Một là phân mảnh ngang
(horizontal fragmentation), trong đó một quan hệ đ-ợc phân hoạch thành một tập
các quan hệ con (subrelation), mỗi quan hệ này chứa một tập con các bộ (các hàng)
của quan hệ ban đầu. Chọn lựa thứ hai là phân mảnh dọc (vertical fragmentation)
trong đó mỗi quan hệ con đ-ợc định nghĩa trên một tập con các thuộc tính (các cột)
của quan hệ ban đầu.

Chẳn hạn các trình điều khiển thiết bị (device driver) trong hệ điều hành sẽ lo xử lý
các chi tiết khi tiếp nhận thêm các thiết bị ngoại vi. Ng-ời sử dụng, hoặc thậm chí
cả lập trình viên ứng dụng, th-ờng không phải viết các trình điều khiển thiết bị để
t-ơng tác với từng thiết bị; công việc này hoàn toàn vô hình đối với ng-ời sử dụng3.
Cung cấp đặc tính vô hình khi truy xuất các tài nguyên ở cấp độ hệ điều hành
có thể đ-ợc mở rộng ra cho môi tr-ờng phân tán, trong đó việc quản lý tài nguyên
mạng là trách nhiệm của hệ điều hành phân tán. Đây chính là nơi cung cấp đặc tính
vô hình kết mạng rất tốt nếu nó có thể đảm nhận đ-ợc. Điều không may là không
3

Có thể nói rằng đặc tính plug-and-play của các hệ điều hành Windows 9.x là một nỗ lực cung cấp tính vô
hình ở cấp độ hệ điều hành, làm cho việc cài đặt các thiết bị phần cứng dễ dàng và đơn giản hơn.
Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


21

phải tất cả mọi hệ điều hành phân tán hiện có trên thị tr-ờng đều có thể cung cấp
một mức vô hình hợp lý cho việc quản trị mạng.
Tầng thứ ba có thể hỗ trợ đặc tính vô hình là hệ quản trị CSDL. Tính vô hình
và việc hỗ trợ các chức năng CSDL cho các nhà thiết kế DBMS từ hệ điều hành là
hết sức hạn chế và thông th-ờng chỉ là một số thao tác cơ bản cần để thực hiện một
số nhiệm vụ nào đó. Nhiệm vụ của DBMS là phải thực hiện các quá trình phiên dịch
cần thiết từ hệ điều hành sang giao diện cấp cao của ng-ời sử dụng. Kiểu hoạt động
này là ph-ơng pháp thông dụng nhất hiện nay. Tuy nhiên cũng có nhiều vấn đề đi
kèm với việc trao cho DBMS nhiệm vụ cung cấp đặc tính vô hình hoàn toàn.
Vì thế, điều quan trọng cần nhận ra rằng, mức độ vô hình hợp lý phụ thuộc
vào nhiều thành phần khác nhau trong môi tr-ờng quản trị CSDL. Vô hình kết
mạng có thể dễ dàng đ-ợc xử lý bởi hệ điều hành phân tán, xem đó là một trong
những nhiệm vụ cung cấp tính vô hình nhân bản và phân mảnh (đặc biệt là các khía

Hình 1.9. Các tầng vô hình.
Còn các hệ thống hiện tại?
Phần lớn các DBMS phân tán th-ơng mại hiện đã bắt đầu cung cấp một số mức
độ vô hình. Điển hình chúng cung cấp đ-ợc tính vô hình phân bổ, hỗ trợ việc phân
mảnh ngang và một dạng vô hình nhân bản. Mức độ này chỉ mới gần đây thôi.
Phần lớn các hệ DBMS phân tán trên thị tr-ờng đã không cung cấp một mức vô hình
đầy đủ. Một số nh- R* [Williams ét al. 1982] đòi hỏi ng-ời sử dụng phải cho biết
tên vị trí kèm với tên của mỗi đối t-ợng dữ liệu cần truy xuất. Hơn nữa chúng còn
yêu cầu ng-ời dùng phải mô tả tên đầy đủ khi truy xuất đến đối t-ợng này. Rõ ràng
ng-ời ta có thể đặt các bí danh (alias) cho những tên dài nếu hệ điều hành cung cấp
một tiện ích nh- thế. Tuy nhiên bí danh do ng-ời dùng định nghĩa không phải là
giải pháp thực sự cho vấn đề đ-ợc nh- những cố gắng tránh phải định vị rõ chúng
trong các hệ quản trị CSDL phân tán. Chính hệ thống, chứ không phải ng-ời sử
dụng, phải chịu trách nhiệm gán tên duy nhất cho các đối t-ợng và dịch tên đ-ợc
ng-ời sử dụng biết thành tên nội tại duy nhất cho đối t-ợng.
Bên cạnh các điểm về ngữ nghĩa, cũng còn có một vấn đề mô thức đi kèm với
việc gắn tên vị trí vào tên đối t-ợng. Cách tiếp cận này gây ra nhiều khó khăn khi
cần di chuyển các đối t-ợng giữa các máy nhằm tối -u hóa hiệu năng hoặc vì những
mục đích khác. Mỗi di chuyển nh- thế đòi hỏi ng-ời sử dụng phải thay đổi tên truy
xuất cho mỗi đối t-ợng bị ảnh h-ởng mà rõ ràng là điều không ai mong đợi.
Những hệ thống khác cũng không hỗ trợ gì cho việc quản lý dữ liệu nhân bản
CSDL logic. Chúng đòi hỏi ng-ời sử dụng phải "đăng nhập" (logon) cụ thể vào một
CSDL tại một thời điểm đã cho (các phiên bản của Oracle tr-ớc V7).

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


23

ở điểm này, chúng ta cần biết rằng vô hình hoàn toàn không phải là một mục

việc thực hiện đồng thời các giao dịch của ng-ời dùng sẽ không vi phạm tính nhất

Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán


24

quán của CDSL khi có sự cố hệ thống, với điều kiện là mỗi giao dịch đều hợp lệ,
nghĩa là tuân thủ các quy tắc toàn vẹn đ-ợc đặc tả trên CSDL.
Nếu có hỗ trợ đầy đủ cho các giao dịch phân tán, các ứng dụng có thể có đ-ợc
một hình ảnh cục bộ duy nhất về CSDL và nhờ hệ quản trị CSDL phân tán để bảo
đảm rằng các yêu cầu sẽ đ-ợc thực hiện chính xác, bất kể điều gì xảy ra đối với hệ
thống. "Chính xác" ở đây có nghĩa là các ứng dụng không cần phải biết về việc điều
phối các truy xuất đến các CSDL cục bộ, cũng không phải thắc mắc về khả năng
xảy ra sự cố của đ-ờng liên lạc hay sự cố các trạm trong khi thực hiện giao dịch của
chúng. Điều này minh họa cho sự liên quan giữa giao dịch phân tán và tính vô hình
bởi vì cả hai đều có những vấn đề liên quan với việc đặt tên phân tán và quản lý thmục, cùng với một số hỗ trợ giao dịch đòi hỏi phải cài đặt các nghi thức điều khiển
đồng thời phân tán và nghi thức khả tín phân tán - đặc biệt là các nghi thức ủy thác
hai pha (two-phase commit, 2PC) và khôi phục phân tán - là những nghi thức phức
tạp hơn nhiều so với tr-ờng hợp hệ thống tập trung.
Hỗ trợ nhiều bản sao (nhân bản) đòi hỏi phải cài đặt các nghi thức điều khiển
bản sao (replica control protocol) nhằm bảo đảm các ngữ nghĩa đ-ợc đặc tả khi truy
xuất chúng.
Các hệ thống th-ơng mại cung cấp nhiều mức độ hỗ trợ giao dịch phân tán.
Một số (thí dụ nh- Oracle V7 và V8) có hỗ trợ các giao dịch phân tán trong khi các
phiên bản cũ đòi hỏi tại mỗi thời điểm ng-ời dùng mở một CSDL, vì thế loại bỏ nhu
cầu đối với các giao dịch phân tán, và một số khác (chẳng hạn nh- Sybase) cài đặt
các nguyên thủy (primitive) cần cho nghi thức 2PC, nh-ng đòi hỏi các ứng dụng
phải lo điều phối giữa các hành dộng ủy thác. Nói cách khác, DBMS phân tán
không c-ỡng chế tính nguyên tử cho các giao dịch phân tán nh-ng có cung cấp các

độ cao và mạnh, việc phân tán dữ liệu và các chức năng quản lý dữ liệu không còn ý
nghĩa nữa và sẽ đơn giản hơn khi l-u dữ liệu tại vị trí trung tâm và truy xuất nó (tải
dữ liệu về) qua một mạng tốc độ cao. Lập luận này, mặc dù nghe có lý, đã bỏ qua
vấn đề của CSDL phân tán. Tr-ớc tiên, trong phần lớn các ứng dụng ngày nay, dữ
liệu đều phân tán; điều cần tranh luận là làm cách nào xử lý nó và xử lý ở đâu. Thứ
hai, và là điều quan trọng hơn, đó là lập luận này không phân biệt giữa dải thông
(khả năng của các đ-ờng truyền máy tính) và độ trễ (thời gian cần để truyền dữ
liệu). Độ trễ vốn dĩ tồn tại ngay trong bản thân các môi tr-ờng phân tán và có
những giới hạn vật lý về tốc độ truyền dữ liệu trên các mạng máy tính nh- đã chỉ ra
ở trên, các đ-ờng nối qua vệ tinh mất khoảng nửa giây để truyền dữ liệu giữa hai
trạm mặt đất. Điều này là do khoảng cách từ trái đất đến vệ tinh và không có gì để
chúng ta có thể cải thiện đ-ợc nó. Đối với một số ứng dụng, đây là một thời gian trễ
không thể chấp nhận đ-ợc.
Lập luận về vấn đề song hành cũng quan trọng. Nếu ng-ời dùng truy xuất
đến CSDL phân tán chỉ bằng cách vấn tin (nghĩa là truy xuất chỉ đọc) thì việc cung
cấp khả năng thực hiện song hành liên vấn tin và nội vấn tin cho rằng CSDL đ-ợc
nhân bản càng nhiều càng tốt. Tuy nhiên vì phần lớn các truy xuất không phải chỉ
Quản lý CSDL trên mạng Internet bằng mô hình CSDL phân tán



Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status