Thứ Sáu, 28 tháng 2, 2014

Tổ chức thiết kế cơ sở dữ liệu trên mạng máy tính để người dùng có thể truy nhập đến những thông tin mà họ cần

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

Không có nhận xét nào:

Đăng nhận xét