Tải bản đầy đủ (.docx) (47 trang)

CSDL phan tan ứng dụng quản lý sinh viên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (714.18 KB, 47 trang )

MỤC LỤC


I.
1.

Sơ lược về CSDL và hệ phân tán
Sơ lược về CSDL
a. Định nghĩa Cơ Sở Dữ Liệu –CSDL ( Data Base)
CSDL là một hệ thống các thông tin có cấu trúc được lưu trữ trên
các thiết bị như băng từ, đĩa từ,… để có thể thỏa mãn yêu cầu khai thác
đồng thời của nhiều người sử dụng.
b. Ưu điểm của CSDL
• Giảm sự trùng lặp thông tin xuống mức thấp nhất và do đó đảm
bảo được tính nhất quán và toàn vẹn dữ liệu.
• Đảm bảo dữ liệu có thể truy xuất theo nhiều cách khác nhau.
• Khả năng chia sẻ thông tin cho nhiều người sử dụng.
c. Đặc điểm của CSDL
• Tính chủ quyền của dữ liệu
Tính chủ quyền của dữ liệu được thể hiện ở phương diện an
toàn dữ liệu, khả năng biểu diễn các mối liên hệ ngữ nghĩa của dữ liệu
và tính chính xác của dữ liệu. Điều này có nghĩa là người khai thác
CSDL phải có nhiệm vụ cặp nhật các thông tin mới nhất của CSDL.
• Tính bảo mật và quyền khai thác thông tin của người sử dụng
Do có nhiều người được phép khai thác dữ liệu một cách đồng
thời, nên cần thiết phải có một cơ chế bảo mật và phân quyền hạn khai
thác CSDL. Các hệ điều hành nhiều người sử dụng hay hệ điều hành
mạng cục bộ đều có cung cấp cơ chế này.
• Tranh chấp dữ liệu
Nhiều người được phép truy nhập cùng một lúc vào tài nguyên
dữ liệu của CSDL với những mục đích khác nhau, do đó cần thiết phải


có một cơ chế ưu tiên khi truy nhập dữ liệu. Cơ chế ưu tiên có thể
được thực hiện bằng việc cấp quyền ưu tiên cho từng người khai thác.
• Đảm bảo an toàn dữ liệu khi có sự cố
Việc quản lý dữ liệu tập trung có thể làm tăng khả năng mất
mát hoặc sai lệch thông tin khi có sự cố như mất điện đột xuất, hay
một phần đĩa lưu trữ CSDL bị hư,… một số hệ điều hành mạng có
cung cấp dịch vụ sao lưu ảnh đĩa cứng, tự động kiểm tra và khắc phục
lỗi khi có sự cố. Tuy nhiên, bên cạnh dịch vụ của hệ điều hành, để
đảm bảo CSDL luôn ổn định, một CSDL nhất thiết phải có một cơ chế
khôi phục dữ liệu khi có các sự cố bất ngờ xảy ra.

2.

Sơ lược về hệ phân tán
Mạng máy tính


Một mạng máy tính là một tập các máy tính tự vận hành, được kết nối
lại và có khả năng trao đổi thông tin giữa chúng.
Các máy tính trên một mạng thương được gọi là các nút hay các trạm,
chúng tạo ra các phần cứng cơ bản của mạng và được kết nối lại với nhau
bởi một đường truyền.
Một mạng máy tính là một trường hợp đặc biệt của môi trường xử lý
phân tán, trong đó các máy tính là các thiết bị được kết nối vào kênh truyền
dữ liệu.
a. Các loại mạng máy tính cơ bản
• Mạng hình sao:
Thường được dùng trong các tổ chức có nhiều chi nhánh ở
nhiều vùng khác nhau và có một máy tính trung tâm đặt tại văn
phòng chính hoặc tại trung tâm của vùng.

Với loại mạng này độ tin cậy thấp giao tiếp giữa hai máy
tính phụ thuộc vào máy tính trung tâm. Tải trọng trên máy trung
tâm là rất lớn.
• Mạng vòng:
Các máy tính trong mạng vòng được nối với nhau theo vòng
khép kín. Mỗi trạm đóng vai trò là một bộ phận chuyển tiếp. Trong
vòng tròn thì dữ liệu chỉ truyền theo một chiều. Đối với mạng này
thì nếu đường nối bị đứt tai một vị trí nào đó thì cả hệ thống sẽ
dừng hoạt dộng và lượng thông tin di chuyển trên đường truyền là
rất lớn.
• Mạng bus:
Có một kênh chung để truyền dữ liệu, các máy tính và các
thiết bị đầu cuối sẽ được gắn vào đó.
• Mạng hỗn hợp :
Các mạng truyền thông thường có các đường nối vô định.
Các đường nối không có tính hệ thống cũng không tuân theo một
khuôn mẫu nào. Các kết nối giữa các máy tính trên mạng internet
thuộc loại này.
• Mạng thảm:
Là loại mạng mà mỗi nút đều được kết nối với nút còn lại.
Có độ tin cậy cao hơn và khả năng hoạt động tốt hơn những cấu
trúc khác song lại tốn chi phí xây dựng hệ thống.
b. Các hình thức tổ chức hệ thống phân tán
• Mô hình nhóm làm việc (peer-to-peer)







Các máy tính cá nhân và máy trạm có thể được sử dụng như
một hệ thống độc lập trợ giúp các ứng dụng địa phương.
Mỗi thành viên trong mạng có vai trò ngang nhau tự quản lý
tài nguyên của chính mình và chia sẻ tài nguyên cho các máy
tính khác trên mạng. Mô hình này phù hợp với những hệ thống
mạng nhỏ không có yêu cầu cao về bảo mật.
Mô hình máy dịch vụ file ( File server)
Là mô hình có một số máy server được gắn trực tiếp vào
mạng LAN. File Server là một thiết bị quản lý các hoạt động
file và phục vụ các máy tính cá nhân được kết nối trong mạng
LAN. Mỗi máy tính cá nhân được phân chia một dung lượng cố
định trên ổ cứng của File Server, chương trình ở các máy tính
cá nhân có thể tham chiếu đến các file trên phần đĩa tương ứng
của nó bằng một đặc tả đường dẫn.
Tuy nhiên mô hình này có một số nhược điểm như : dữ
liệu di chuyển trên mạng quá nhiều, việc kiểm soát đữ liệu là
phi tập trung và các máy chủ phải đủ mạnh.
Mô hình Client/Server( mô hình khách/chủ)
Là mô hình có một máy chủ được gắn trực tiếp vào mạng
LAN có chức năng điều khiển, lưu trữ CSDL, xử lý các truy vấn và
quản lý khai thác tài nguyên trên mạng của các máy tính khác.


c.

I.

Các đặc trưng của hệ thống phân tán kiến trúc client/server
• Trình diễn thông tin phân tán
Mục đích: làm mới các ứng dụng trên các máy khách và để

định dạng lại dữ liệu do server quản lý.
Server: quản lý và phân tích mọi dữ liệu. Sử dụng công
nghệ trình diễn của server để gửi dữ liệu gửi cho các clients.
Client: Dữ liệu trình diễn trên server định dạng để trình diễn
cho các clients.
• Trình diễn từ xa
Mục đích: mỗi users muốn thay đổi các biểu mẫu báo cáo
hoặc nội dung mới thì chỉ cần bảo trì phần mềm trên máy khách.
Phần mềm trên các client có khả năng trình diễn dữ liệu được định
dạng theo ý của client.
• Quản lý dữ liệu từ xa
Server quản lý mọi dữ liệu song việc phân tích dữ liệu thô
lấy từ server và trình diễn dữ liệu được thực hiện ở Client.
• Phân tán chức năng
Các chức năng được phân tán, đặt trên cả máy khách lẫn
máy chủ. Toàn bộ chức năng trình diễn dữ liệu được đặt trên máy
khách và toàn bộ chức năng quản lý dữ liệu được đặt trên máy chủ.
• Xử lý phân tán
Cho phép phối hợp tốt nhất các đặc trưng của hệ phân tán
như liên kết dữ liệu và chương trình trên máy chủ và chỉ để lại
chức năng trình diễn trên máy khách. Cho phép định vị một cách
mềm dẻo cả chức năng phân tích và xử lý dữ liệu ở nơi mà chúng
hoạt động tốt nhất.
Tổng quan về CSDL phân tán
1. Định nghĩa
 CSDL phân tán là một tập hợp dữ liệu và về mặt logic tập hợp
này thuộc cùng một hệ thống, nhưng về mặt vật lý dữ liệu đó
được phân tán trên các vị trí khác nhau của một mạng máy tính.
 CSDL phân tán bao gồm tập các trạm, mỗi trạm xem như 1 máy
tính có thiết bị lưu trữ riêng. Cũng có thể có trạm chỉ có thiết bị

lưu trữ nhỏ thậm chí không có. Các trạm được liên kết sao cho
các thông báo dữ liệu có thể truyền qua lại giữa các trạm.






2.

CSDL phân tán không phụ thuộc vào vị trí địa lý của các trạm,
nó có thể ứng dụng trong mạng rộng hay mạng cục bộ. Như thế
1 đơn vị dữ liệu về mặt vật lý chúng có thể lưu trữ khác nhau
nhưng về mặt logic chỉ là một.
2 điểm quan trọng
• Phân tán Dữ liệu không cư trú trên một vị trí mà được
phân bố rộng khắp trên nhiều máy tính đặt tại nhiều vị trí
khác nhau, đây là điểm phân biệt một cơ sở dữ liệu phân
tán với một cơ sở dữ liệu tập trung.
• Tương quan logic Dữ liệu trong hệ phân tán có một số
thuộc tính ràng buộc chúng với nhau. Điều này giúp
chúng ta có thể phân biệt một cơ sở dữ liệu phân tán với
một tập hợp cơ sở dữ liệu tập trung, các file dữ liệu được
lưu trữ tại nhiều vị trí khác nhau, điều này thường thấy
trong các ứng dụng mà hệ thống sẽ phân quyền truy nhập
dữ liệu trong môi trường mạng.

So sánh CSDL tập trung và CSDL phân tán
CSDL phân tán không đơn giản là những sự thực hiện phân tán của
CSDL tập trung, bởi vì chúng cho phép thiết kế các đặc trưng khác

với CSDL tập trung truyền thống.
Các đặc điểm tiêu biểu của CSDL truyền thống:





Điều khiển tập trung
Độc lập dữ liệu
Giảm dư thừa
Biệt lập và bảo mật

Điều khiển tập trung


CSDL tập trung: khả năng điều khiển tập trung trên toàn
nguồn tài nguyên thông tin của tổ chức, được xem là động cơ
mạnh nhất cho việc ra đời CSDL. Chúng được phát triển hư là
sự tiến hóa của hệ thống thông tin, mà trong đó mỗi ứng dụng
có các tập tin riêng của nó.




CSDL phân tán: ý niệm về điều khiển tập trung ít được nhấn
mạnh hơn. Điều này phụ thuộc vào kiến trúc của CSDL phân
tán. CSDL phân tán được điều khiển với cấu trúc phân lớp dựa
vào một hệ quản trị CSDL toàn cục (có trách nhiệm trên toàn
bộ CSDL phân tán) và hệ quản trị CSDL địa phương ( có trách
nhiệm với CSDL địa phương riêng). Điều này cho thấy rằng hệ

quản trị CSDL địa phương có thể có một mức tự trị cao. Các
CSDL phân tán có thể rất khác nhau về mức độ tự trị: từ hoàn
toàn tự trị, không có bất cứ một hệ quản trị CSDL tập trung
nào, đến hầu như hoàn toàn điều khiển tập trung.

Độc lập dữ liệu:
Thuận lợi chính của độc lập dữ liệu là các chương trình không
bị ảnh hưởng bởi sự thay đổi trong cấu trúc vật lý của dữ liệu. Trong
CSDL phân tán độc lập dữ liệu cũng quan trọng giống như trong
CSDL truyền thống. Tuy nhiên, một khía cạnh cũng mới được them
vào trong ý niệm của độc lập dữ liệu là trong suốt phân tán. Với trong
suốt phân tán chúng ta hiểu rằng các chương trình ứng dụng có thể sử
dụng csld như là nó không được tổ chức phân tán. Vì thế sự chính xác
của chương trình không bị ảnh hưởng bởi việc dịch chuyển dữ liệu từ
trạm này đến trạm khác.
Giảm sự dư thừa dữ liệu




Trong csld truyền thống: dữ liệu dư thừa được giảm đến mức tối
thiểu bởi hai lý do:
 Sự không tương thích giữa nhiều bản sao của cùng một tập dữ
liệu
 Tiết kiệm không gian lưu trữ bằng cách loại bỏ các dư thừa.
Việc giảm dư thừa dữ liệu có thể đạt được bằng cách chia sẽ dữ
liệu, cho phép nhiều ứng dụng truy cập cùng bản tin và bản ghi.
Trong CSDL phân tán: việc giảm dư thừa phức tạp hơn vì ngoài
hai lý do trên còn nhiều lý do để giảm dư thừa như:
 Hoạt động của các trình ứng dụng có thể bị tăng lên khi

dữ liệu được sao lại tất cả các vị trí, nơi trình ứng dụng
cần nó.


Tính thường trực của hệ thống sẽ tăng lên, bởi vì khi có
lỗi xảy ra ở một trạm nào đó sẽ không dừng việc thực
hiện các ứng dụng của trạm khác nếu dữ liệu đã được sao
chép lại.
 Biệt lập và bảo mật
 Trong CSDL truyền thống: hệ quản trị CSDL tập trung có
thể đảm bảo chỉ truy cập đến dữ liệu đã được ủy quyền.
 Trong CSDL phân tán: hệ quản trị dữ liệu địa phương thực
chất phải đương đầu với các vấn đề giống như hệ quản trị
CSDL trong CSDL truyền thống.
Tuy nhiên:
trong CSDL phân tán với một mức độ tự trị rất cao của các
địa phương, người chủ dữ liệu địa phương cảm giác được
bảo vệ tốt hơn vì họ có thể tự chủ thực hiện bảo vệ thay vì
phụ thuộc vào người quản trị CSDL trung tâm.
Vấn đề bảo mật là bản chất trong hệ phân tán nói chung, vì
các mạng truyền thông diện rộng cho phép nhiều người cập
nhật và khai thác dữ liệu nên cần được bảo vệ.
Đặc điểm
Ưu điểm:
 Tăng độ tin cậy
CSDL phân tán được mong đợi là tăng cường tính tin cậy
vì nó có các thành phần được nhân bản và do đó làm giảm đi
tác hại do hỏng hóc ở những điểm đơn lẻ mang lại như hệ thống
tập trung. Sự hỏng hóc của một nút hay một đường truyền
thông có thể làm một hay một số vị trí không thể giao tiếp được

nhưng không vì thế mà làm ngừng cả hệ thống.
 Nâng cao hiệu năng
Hiệu năng của các hệ CSDL phân tán được nâng cao dựa trên
hai điểm sau:
o Một hệ CSDL phân tán phân ra mô hình quan niệm
( conceptual model ) thành các mô hình quan niệm địa
phương ( local conceptual model ), dữ liệu được lưu trữ ở
những vị trí gần với nhu cầu sử dụng. Điều này đem đến
hai ưu điểm:
o Mỗi vị trí chỉ phải quản lý một phần dữ liệu, CPU không
phải hoạt động quá tải như trong CSDL tập trung.


3.


Giảm bớt thời gian truy nhập từ xa, thường gây chậm trễ,
hỏng hóc.
o Thừa kế khả năng tính toán song song từ hệ phân tán, hệ
CSDL phân tán cho phép thực thi nhiều query một lúc
hay phân chia query đơn thành nhiều query để thực hiện
tại nhiều nơi.
Điểm thứ nhất giải quyết một nhược điểm của tính
toán phân tán: Dữ liệu và chương trình xử lý được lưu trữ ở
những nơi xa nhau. Nếu thực hiện theo điểm thứ nhất thì
chúng ta không phải truyền tải một khối lượng lớn dữ liệu
qua mạng. Có một số ý kiến cho rằng: Ngày nay, công nghệ
mạng phát triển, những đường truyền cao tốc, băng thông
rộng cài đặt ở nhiều nơi. Như vậy thì vẫn có thể vẫn duy trì
được cơ chế cũ và quên đi CSDL phân tán. Tuy nhiên, tư

tưởng này đã lầm. Trước tiên phải thấy rằng: Dữ liệu về bản
chất là phân tán và chúng ta không thể ép buộc đem chúng
tập trung lại được. Thứ hai, họ đã không phân biệt được
băng thông – dung lượng của đường truyền và khoảng thời
gian cần để truyền thông tin qua mạng. Độ trễ của truyền
thông trên mạng bao giờ cũng giới hạn về mặt vật lý, và
chúng ta khó có thể kiểm soát được điều này. Ví dụ: Đường
truyền vệ tinh cần nửa giây để truyền dữ liệu giữa hai trạm
trên mặt đất. Đây là tính chất vật lý của đường truyền mà
chúng ta không thể cải thiện được.
Điểm thứ hai cũng rất quan trọng. Trong trường hợp
hệ CSDL phân tán sử dụng cơ chế nhân bản. Nhiều truy vấn
read – only sẽ được thực hiện ở các nhân bản thay vì hiện
tượng thắt cổ chai xảy ra trên bản chính như mô hình tập
trung trước đây.
o

Dễ dàng mở rộng hệ thống
Hoạt động trong môi trường phân tán, hệ CSDL phân tán có
thể nói là dễ dàng đối phó với xu hướng mở rộng của hệ CSDL hay
thêm CSDL. Điều này thực hiện bằng việc thêm một thành phần
vật lý hay logic vào hệ thống. Hơn nữa, dữ liệu được lưu trữ ở
nhiều nơi, mà dung lượng tại một nơi thường lớn. Do đó, dung
lượng của cả hệ thống cũng lớn.
 Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các
trạm.











Tăng cường các đơn thể ứng dụng và CSDL mà không làm cản
trở người sử dụng hiện tại.
Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự tích
hợp và quản trị dữ liệu từ xa.
Tăng cường khả năng của hệ thống liên quan đến sự dư thừa dữ
liệu.
Thuận lợi cho nhu cầu phát triển: Xu hướng dùng CSDL phân
tán sẽ cung cấp khả năng phát triển thuận lợi hơn và giảm được
xung đột về chức năng giữa các đơn vị đã tồn tại và giảm được
xung đột giữa các chương trình ứng dụng khi truy cập đến
CSDL. Với hướng tập trung hóa thì nhu cầu phát triển trong
tương lai sẽ gặp khó khăn.
Giảm chi phí truyền thông: Trong CSDL phân tán chương trình
ứng dụng đặt ở địa phương có thể giảm bớt được chi phí truyền
thông khi thực hiện bằng cách khai thác CSDL tại chỗ.

Nhược điểm






Các khó khăn trong phân tán dữ liệu

o Phân tán dữ liệu qua các site trên mạng đảm bảo tính tối
ưu.
o Đảm bảo việc truy nhập và xử lý giữa các site khác nhau
phải hiệu quả và có thể là tối ưu.
o Chuyển đổi giữa dữ liệu và tích hợp kết quả xử lý giữa
các vị trí phải chính xác.
o Kiếm soát người dùng, chương trình ứng dụng truy cập
vào các site và mã hóa thông tin, bảo mật trên đường
truyền.
o Khôi phục dữ liệu từ hỏng hóc của các thành phần phần
cứng và phần mềm phải an toàn và hiệu quả.
o Đảm bảo quản lý giao dịch hiệu quả để giữ vững trạng
thái nhất quán cho CSDL.
Các khó khăn trong tích hợp dữ liệu
o Người dùng và lập trình viên khi muốn tìm hiểu về một
hệ CSDL tích hợp thì cần phải biết vị trí, định dạng dữ
liệu mà họ muốn truy cập.
o Khi muốn tạo ra một truy vấn, thì kiểu cách, cấu trúc dữ
liệu ở các site khác nhau sẽ gây cản trở tạo ra truy vấn.
Các khó khăn khác


o
o
o

Phần mềm đắt và phức tạp
Phải xử lý các thay đổi thông báo trong mọi địa điểm
Đáp ứng chậm nhu cầu của các trạm trong trường hợp
các phần mềm ứng dụng không được phân bộ phù hợp

với việc sử dụng chung

Đánh giá




4.

Cơ sở dữ liệu phân tán là quan trọng trong kinh tế, tổ chức và
kỹ thuật với nhiều lý do khác nhau. Chúng có thể được cài đăt
trên một mạng máy tính có phạm vi rộng lớn hoặc nhỏ bé.
Hiện nay các DDBMSs thương mại đều tích hợp các ứng dụng
phân tán nên rất tiện cho người sử dụng

Kiến trúc chung của CSDL phân tán




Sơ đồ toàn thể:
Mô tả mọi dữ liệu nằm trong CSDL phân tán như các dữ liệu không
bị phân tán ở các trạm trong hệ thống. Tuy nhiên mô hình sử dụng để xác
đinh sơ đồ toàn thể để xác định cách thức ánh xạ đến những mức khác của
CSDL phân tán. Sơ đồ toàn thể xác định một tập các quan hệ chung nhất
của hệ thống.



Sơ đồ phân đoạn:

Mỗi quan hệ có thể chia thành các phần không chồng lên nhau gọi là các
đoạn. Có nhiều cách chia: chia theo chiều ngang, chia theo chiều dọc và
chia theo kiểu hỗn hợp theo chiều ngang và chiều dọc.
Sơ đồ phân đoạn mô tả các ánh xạ giữa các quan hệ tổng thể và các đoạn
được định nghĩa trong sơ đồ phân đoạn. Ánh xạ theo kiểu 1:n ( một quan hệ
sang nhiều đoạn ) là một đoạn tương ứng một quan hệ và một quan hệ tương
đương với một số đoạn. Đoạn xác đinh bởi một quan hệ qua chỉ số ( chỉ số
đoạn dữ liệu).
Đoạn là phần logic của quan hệ, được đặt vật lý tại một hay vài vị trí trên
mạng máy tính. Sơ đồ cấp phát xác định những vị trí đặt đoạn. Kiểu ánh xạ
xác đinh trong sơ đồ cấp phát cho phép nhận ra một CSDL phân tán là dư
thừa hay không dư thừa.



Sơ đồ định vị:
Sơ đồ định vị xác định đoạn dữ liệu nào được định vị tại trạm nào trên
mạng.
Tất cả các đoạn được liên kết với cùng một quan hệ tổng thể R và
được định vị tại cùng một trạm j cấu thành ảnh vật lý quan hệ tổng thể R tại
trạm j.
Do đó ta có thể ánh xạ 1-1 giữa một ảnh vật lý và một cặp ( quan hệ
tổng thể, trạm).
Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một
chỉ mục trạm.







Từ kiểu kiến trúc này ta suy được 3 yếu tố:
 Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu.
 Biết được dữ liệu dư thừa.
 Độc lập với các DBMS địa phương.
Tách rời khái niệm phân đoạn dữ liệu với khái niệm định vị dữ liệu.
Phân đoạn dữ liệu: bao gồm những công việc mà người lập trình ứng
dụng làm việc với quan hệ tổng thể , phân chia quan hệ tổng thể thành các
đoạn. Thông qua tính trong suốt phân đoạn người lập trình sẽ nhìn thấy được
những đoạn dữ liệu bị phân chia như thế nào.
Định vị dữ liệu liên quan đến công việc của người sử dụng và lập
trình ứng dụng tại trên các đoạn dữ liệu được định vị tại các trạm. Thông qua
tính trong suốt vị trí người lập trình sẽ biết được vị trí của đoạn dữ liệu trên
các trạm.



Biết được dữ liệu dư thừa
Người lập trình ứng dụng có thể biết được dư thừa dữ liệu ở các trạm.
Ở hình vẽ trên ta thấy có sự trùng lặp dữ liệu ở trạm 3 giữa 2 ảnh vật lý R2
và R3 do đó có thể tránh được khi xấy dựng các khối ảnh vật lý.



Độc lập với các DBMS địa phương


Tính chất này còn được gọi là trong suốt ánh xạ địa phương cho phép chúng ta
khảo sát các vấn đề về quản lý CSDL phân tán mà không cần phải hiểu rõ mô hình
dữ liệu của DBMS (Database Management System) địa phương đang sử dụng.

Mức trong suốt bản sao liên quan chặt chẽ tới mức trong suốt định vị.
Mức trong suốt bản sao có nghĩa là người sử dụng không biết bản sao của
đoạn đặt ở vị trí nào. Mức trong suốt bản sao tương đương với mức trong
suốt định vị. Tuy nhiên trong những trường hợp thực tế người sử dụng
không có mức trong suốt định vị nhưng lại có mức trong suốt bản sao.
Phân rã quan hệ thành các đoạn thực hiện qua việc áp dụng hai phân
đoạn: phân đoạn ngang và phân đoạn dọc:
Phân đoạn ngang: một đoạn được xác định qua biểu thức đại số quan hệ
với quan hệ là toán tử và các đoạn là kết quả.Việc phân đoạn ngang bao
gồm việc chia các bộ của quan hệ thành các tập con. Mỗi tập con này có
thuộc tính vị trí thông thường. Các đoạn này được xác định qua việc coi
mỗi đoạn là toán tử chọn trên quan hệ.
o Phân đoạn dọc: phân đoạn dọc một quan hệ là việc chia nhỏ tập thuộc
tính thành nhiều nhóm quan hệ và đoạn dọc. Phân đoạn dúng khi mỗi
thuộc tính đều ánh xạ ít nhất sang một thuộc tính của đoạn.
Một số luật để xác định các đoạn:
o



Điều kiện hợp: mọi dữ liệu của quan hệ phải ánh xạ đến các đoạn,
không xảy ra trường hợp dữ liệu thuộc về quan hệ nhưng không thuộc về
một đoạn nào.
Điều kiện tái tạo lại quan hệ: luôn luôn có khả năng tạo lại quan hệ từ
các đoạn của quan hệ.
Điều kiện không liên kết: thích hợp khi các đoạn không liên kết với
nhau vì vậy các bản dữ liệu lặp lại có thể điều khiển rõ ràng ở các mức định
vị .Điều kiện này chủ yếu có ích với phân đoạn ngang.



Môi trường của hệ CSDL phân tán


II.
1.

Thiết kế CSDL phân tán
Cơ sở thiết kế CSDL phân tán:

Các công việc cần làm:
Thiết kế sơ đồ khái niệm: mô tả CSDL đã hợp nhất.
Định vị các địa phương cần phân tán, loại hình phân tán sử dụng cho mỗi
địa phương.
o Tiến hành cân đối các yếu tố được phân tán bao gồm các phần tử dữ liệ
và các hoạt động xử lý trên mỗi trạm.
o Thiết kế CSDL vật lý: tham chiếu từ lược đồ khái niệm tới vùng lưu trữ
và xác định các cách thức truy cập khác nhau.
o Thiết kế phân đoạn: xác định cách thức phân chia những quan hệ toàn bộ
thành những đoạn dữ liệu theo chiều dọc, chiều ngang và kiểu hỗn hợp.
o Thiết kế cấp phát đoạn dữ liệu: xác định cách thức đoạn dữ liệu tham
khảo đến ảnh vật lý nào và cũng xác định các bản sao của đoạn dữ liệu.
Đối tượng thiết kế của cơ sở dữ liệu phân tán
o
o

2.

Tiến trình địa phương: phân tán dữ liệu để cực đại hóa tiến trình địa
phương hay tăng thời gian xử lý trung tâm cho tiến trình địa phương tương ứng
với nguyên tắc là đơn giản hóa công việc : đặt dữ liệu gần chương trình ứng

dụng thường xuyên sử dụng dữ liệu đó. Thực hiện được tiến trình ở địa phương
là mục đích chính của CSDL phân tán. Hai loại tham chiếu tới dữ liệu cần được
chú ý là: tham chiếu địa phương và tham chiếu từ xa. Thiết kế phân tán dữ liệu
để cực đại hóa tiến trình ở địa phương có thể thực hiện qua việc thêm vào một
số tham chiếu địa phương và tham chiếu từ xa tương ứng với phân đoạn.
Tính sẵn có và dễ hiểu của dữ liệu phân tán: Cấp độ cao của tính sẵn có
đối với chương trình ứng dụng có thuộc tính chỉ đọc đạt được qua việc lưu trữ
các bản sao của cùng một thông tin. Hệ thống phải chuyển sang một bản sao
khác khi một bản sao nào đó truy cập ở điều kiện không bình thường hay bản
sao đó không có sẵn.
Tính dễ hiểu cũng đạt được khi lưu trữ nhiều bản sao của cùng một thông
tin khi cho phép phục hồi từ những hỏng hóc hay từ những phá hủy về mặt vật
lý của cùng một bản sao bằng cách dùng một bản sao khác. Hỏng hóc trong
máy tính thường là những sự kiện xảy ra mà không còn khả năng phục hồi lại.


Như vậy việc đặt nhiều bản sao ở trên những vị trí địa lý rải rác khắp nơi là giải
pháp hợp lý.
Phân chia khối lượng công việc: Phân tán công việc cho những vị trí là
đặc điểm quan trọng của hệ thống máy tính phân tán. Việc phân chia công việc
cũng nhằm mục đích đạt được tiện lợi về khả năng hoặc tiện ích máy tính ở mỗi
vị trí trên mạng và cũng để tăng cấp độ thực hiện song song của chương trình
ứng dụng. Khi phân chia khối lượng công việc có thể ảnh hưởng xấu đến tiến
trình xử lý địa phương và cần thiết cân nhắc đến lợi hại trong thiết kế dữ liệu
phân tán,
Giá cả thiết bị lưu trữ và tính sẵn có: Phân tán dữ liệu có thể phán ánh giá
cả và tính sẵn có của thiết bị lưu trữ ở các vị trí khác nhau.
3.

Các sản phẩm yêu cầu sau khi phân tích thiết kế


Mô tả các trạm: Thông tin địa lý. Thiết bị vật lý. Thông tin hạ tầng. Đặc
trưng về con người.
Mô tả về sử dụng dữ liệu cho mỗi trạm: Các phần tử dữ liệu sử dụng từ
hệ thống. Các phần tử dữ liệu cần phải tạo ra. Các phần tử dữ liệu cập nhật. Các
phần tử dữ liệu xóa.
Mô tả quá trình nghiệp vụ cho mỗi trạm: Danh sách các xử lý ở các trạm.
Mô tả các xử lý.
Các thỏa thuận về phương án kiến trúc hệ thống cho mỗi trạm: về trợ
giúp kỹ thuật. Về hệ thống địa phương, nối mạng. về các cấu hình phân tán
khác.
4.

Các chiến lược phân tán dữ liệu

Việc định vị và phân tán dữ liệu ở các nút trong một mạng máy tính sẽ
quyết định tính hiệu quả và đúng đắn của hệ thống phân tán.
Có 4 chiến lược phân tán dữ liệu cơ bản:
Tập trung dữ liệu: Tất cả các dữ liệu được tập trung một chỗ.
Nhược điểm: Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ xa.


Chi phí truyền thông lớn thường làm cực đại việc truy nhập dữ liệu tới nơi tập
trung.
Toàn bộ hệ thống ngừng khi CSDL bị sự cố.
Chia nhỏ dữ liệu: CSDL được chia thành các phần nhỏ liên kết nhau ( không
trùng lặp). Mỗi phần dữ liệu được đưa đến các trạm một cách thích hợp để sử
dụng.
Sao lặp dữ liệu: CSDL được nhân thành nhiều bản từng phần hoặc đầy đủ và
được đặt ở nhiều trạm trên mạng.

Nếu bản sao của CSDL được lưu giữ tại mọi trạm của hệ thống ta gọi là sao lặp
đầy đủ. Có thể tạo bản sao không đầy đủ phù hợp với yêu cầu dữ liệu ở mỗi
trạm và một bản đầy đủ được quản lý ở server. Sau một khoảng thời gian nhất
định các bản sao được làm đồng bộ với bản chính bằng một ứng dụng nào đó.
Phương thức lai: CSDL được phân thành nhiều phần : quan trọng và không
quan trọng. Phần ít quan trọng được lưu giữ ở một nơi. Phần quan trọng được
lưu giữ ở nhiều nơi khác.
5.

Phân mảnh dữ liệu

Việc chia một quan hệ thành nhiều quan hệ nhỏ hơn được gọi là phân
mảnh quan hệ.
5.1 Các lý do phân mảnh
Khung nhìn hoặc đơn vị truy xuất của các ứng dụng không phải là toàn
bộ quan hệ mà thường là một mảnh.
Việc phân rã một quan hệ thành nhiều mảnh được xử lý như một đơn vị
riêng rẽ, sẽ cho phép thực hiện nhiều giao dịch đồng thời.
Việc phân mảnh các quan hệ sẽ cho phép thực hiện song song một câu
truy vấn bằng cách chia nó ra thành một tập các câu truy vấn con ứng với từng
mảnh.
a.

Phân mảnh ngang:


Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các
quan hệ con n-bộ R1, R2, …….,Rk sao cho quan hệ R có thể khôi phục lại từ
các quan hệ con này bằng phép hợp R = R1 R2 Rk
Phân mảnh ngang nguyên thủy: phân mảnh ngang nguyên thủy của

một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ
đó.
Phân mảnh ngang dẫn xuất: phân mảnh ngang dẫn xuất của một quan
hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ khác.
b.

c.

Phân mảnh dọc: phân mảnh dọc một quan hệ tổng thể n-bộ R là tách R
thành các quan hệ con n-bộ R 1, R2, …….,Rk sao cho quan hệ R có thể khôi
phục lại từ các quan hệ con này bằng phép hợp R = R1 R2 Rk
Phân mảnh hỗn hợp : là sự phân mảnh kết hợp giữa phân mảnh ngang và
phân mảnh dọc.

5.2 Các yêu cầu của phân mảnh
Phân mảnh phải tuân thủ theo các quy tắc nhất định khi tái thiết lại quan
hệ cũ vẫn đảm bảo ngữ nghĩa của nó:






6.

Tính đầy đủ: Nếu một quan hệ R được phân rã thành các mảnh R 1, R2, ..., Rk
thì mỗi mục dữ liệu có trong R phải có trong ít nhất một mảnh R i nào đó.
Điều này đảm bảo tính không mất mát thông tin.
Tính tái thiết được: Nếu một quan hệ R được phân rã thành các mảnh thì
phải tồn tại một phép toán nào đó cho phép tổng hợp lại R từ các mảnh đó

tùy thuộc vào từng cách phân mảnh.
Tính tách biệt: Nếu một quan hệ R được phân mảnh ngang thành các quan
hệ thì một mục dữ liệu nào đó chỉ nằm trong một mảnh duy nhất. Nếu quan
hệ được phân mảnh dọc thì thuộc tính chung phải được lặp lại trong mỗi
mảnh. Do đó tính tách biệt trong trường hợp này chỉ được định nghĩa trên
các trường không phải là thuộc tính chung của quan hệ.

Hướng thiết kế trong CSDL phân tán


Thiết kế Top-down: bắt đầu từ việc thiết kế sơ đồ tổng thể, tiếp tục
thiết kế phân đoạn CSDL và sau đó cấp phát các đoạn này cho các vị trí, tạo
hình ảnh vật lý của dữ liệu. Sau đó thực hiện thiết kế vật lý dữ liệu để cấp
phát cho dữ liệu. Thích hợp với hệ thống phát triển từ những hệ thống hỗn
tạp vì nó cho phép thực hiện thiết kế dựa trên các giải pháp hợp lý theo từng
trường hợp.
Thiết kế Bottom-up: thích hợp trong trường hợp CSDL phân tán được
phát triển qua việc liên kết CSDL sẵn có. Các CSDL này có thể dùng hệ
quản trị CSDL địa phương ở vị trí đó. Để hệ thống đồng bộ cần có thêm một
số việc phức tạp như đồng bộ dữ liệu cần phải giải thích giữa các mẫu CSDL
khác nhau. Có thể tạo bản giải thích 1:1 giữa hai hệ quản tị CSDL địa
phương. Khi đó sơ đồ toàn thể được tạo ra bởi sự thỏa hiệp giữa các loại mô
tả dữ liệu có sẵn.
Các yêu cầu của hướng thiết kế này là:
o
o
o

Chọn mô hình CSDL thông thường để thiết kế lược đồ toàn bộ của
CSDL.

Dịch chuyển mỗi lược đồ địa phương sang mô hình dữ liệu thông
thường.
Tích hợp sơ đồ địa phương sang sơ đồ toàn bộ thông thường.


6.1 Hướng thiết kế Top-down:

1.Thiết kế lược đồ quan hệ tổng thể:



Thiết kế các quan hệ tổng thể.
Mô tả toàn bộ dữ liệu sẽ được dùng trong hệ thống.

2. Thiết kế phân đoạn: thực hiện chia nhỏ dữ liệu thành các phần.
3. Thiết kế định vị các đoạn:




Là quá trình thực hiện ánh xạ các đoạn vào các trạm khác nhau.
Tạo các ảnh vật lý tại các trạm.
Các đoạn dữ liệu được đưa vào các vị trí lưu trữ thích hợp với yêu
cầu hoạt động thực tế của hệ thống.

4.Thiết kế cơ sở dữ liệu vật lý: thiết kế dữ liệu vật lý cho các quan hệ tại các
trạm.

7.
a.


Xử lý truy vấn trong CSDL phân tán
Mục đích của xử lý truy vấn:
• Giảm thiểu thời gian xử lý


Giảm vùng nhớ trung gian
Giảm chi phí truyền tin giữa các trạm
Chức năng của xử lý truy vấn:
• Biến đổi một truy vấn ở mức cao thành một truy vấn tương đương ở mức
thấp hơn cần đảm bảo tính đúng đắn và hiệu quả.
• Mỗi cách biến đổi đòi hỏi tài nguyên máy tính khác nhau , ta cần phải lựa
chọn phương án hiệu quả sử dụng ít tài nguyên nhất.
Các phương pháp xử lý truy vấn cơ bản
• Phương pháp biến đổi đại số:



b.

c.

Đơn giản hóa câu truy vấn nhờ phép biến đổi đại số tương đương
nhằm giảm thời gian thực hiện.


Phương pháp ước lượng chi phí:

Xác định kích thước dữ liệu, thời gian thực hiện mỗi phép toán
trong câu truy vấn. Phương pháp này cần phải xác định kích thươc dữ

liệu và chi phí thời gian thực hiện mỗi phép toán trong câu truy vấn.
7.1 Xử lý truy vấn trong môi trường tập trung
a. Xử lý truy vấn trong môi trường tập trung và phân tán


Tập trung: Chọn một truy vấn đại số quan hệ tốt nhất trong số tất cả
các truy vấn đại số tương đương.
Các chiến lược xử lý truy vấn có thể biểu diễn trong sự mở rộng của
đại số quan hệ.



Phân tán: kế thừa chiến lược xử lý truy vấn như môi trường tập trung.

Cần chú ý đến :




Các phép toán truyền dữ liệu giữa các trạm
Chọn các trạm tố nhất để xử lý dữliệu
Cách thức và biến đổi dữ liệu


b. Chiến lược tối ưu trong CSDL tập trung:
Câu truy vấn phân tán phải được dịch thành các câu truy vấn cục bộ,
và được xử lý theo phương pháp tập trung , các kỹ thuật tối ưu hóa phân tán
thường là các mở rộng của kỹ thuật tập trung vì vậy trước khi tìm hiểu chiến
lược tối ưu trong CSDL phân tán cần xem xét trong môi trường tập trung.
Hai thuật toán thông dụng nhất được sử dụng là INGRES và

SYSTEM R
o

Thuật toán INGRES
Ý tưởng: Thuật toán tổ hợp hai giai đoạn phân rã và tối ưu hóa.


Phân rã câu truy vấn dạng phép toán quan hệ thành các phần nhỏ hơn.
Câu truy vấn được phân rã thành một chuỗi các truy vấn có một quan hệ
chung duy nhất.
Mỗi câu truy vấn đơn quan hệ được xử lý bởi một thể xử lý truy vấn
một biến (one variable query processor-OVQP)
OVQP tối ưu hóa việc truy xuất đến một quan hệ bằng cách dựa trên
vị từ phương pháp truy xuất hữu hiệu nhất đến quan hệ đó.
Trước tiên OVQP sẽ thực hiện các phép toán đơn ngôi và giảm thiểu
kích thước của các kết quả trung gian bằng cách tách và thay thế.
Các quan hệ không thể tách tiếp được gọi là bất khả giản. Các truy
vấn bất khả giản được biến đổi thành truy vấn đơn quan hệ nhờ phép thế bộ.
Cho câu truy n-quan hệ q, các bộ của một biến được thay bằng các giá trị
của chúng, tạo ra được một tập các truy vấn (n-1) biến.
Phép thế bộ được tiến hành như sau:
Trước tiên chọn một quan hệ trong truy vấn q để thay thế. Gọi R 1 là
quan hệ đó. Thế thì với mỗi bộ t1i trong R1, các thuộc tính được tham chiếu
trong q được thay bằng các giá trị thật sự trong t 1i, tạo ra một câu truy vấn q’
có (n-1) quan hệ. Vì vậy số câu truy vấn q’ được sinh ra bởi phép thế bộ là
card(R1).
Phép thế bộ có thể tóm tắt như sau:
q(R1, R2, . . . , Rn) được thay bởi {q’(t1i, R2, R3, . . . , Rn), t1i∈ R1}
Vì thế đối với mỗi bộ thu được, câu truy vấn con được xử lý đệ quy
bằng phép thế nếu nó chưa bất khả giản.

Đặc điểm:
Thuật toán tối ưu hóa INGRES sẽ xử lý đệ quy cho đến khi không còn
câu truy vấn đa quan hệ nào nữa.
Thuật toán áp dụng cho các phép chọn và các phép chiếu ngay khi có
thể sử dụng kỹ thuật tách.


Kết quả của câu truy vấn đơn quan hệ được lưu trong những cấu trúc
dữ liệu có khả năng tối ưu hóa những câu truy vấn sau đó và sẽ được OVQP
sử dụng.
Các câu truy vấn bất khả giản còn lại sau phép tách được xử lý bằng
phép thế bộ.
d.

Tối ưu hóa trong CSDL phân tán

Phân rã truy vấn
Biến đổi một phép tính quan hệ thành một truy vấn đại số trên quan hệ
tổng thể.
Cả hai truy vấn vào/ra đều được thực hiện trên quan hệ tổng thể và không
quan tâm đến tính phân tán của dữ liệu.
Vì vậy phân rã truy vấn được thực hiện chung cho cả hệ tập trung và
phân tán
Giai đoạn này gồm 4 bước: Chuẩn hóa , phân tích , loại bỏ dư thừa và
viết lại.
o

Chuẩn hóa:
• Mục đích: chuyển đổi truy vấn thành một dạng chuẩn để thuận lợi cho
các xử lý tiếp theo.

• Với SQL có hai dạng chuẩn cho các tân từ trong mệnh đề WHERE:
Dạng chuẩn hội là hội (∧) của những phép toán tuyển (∨):
(p11∨ p12∨ ... ∨ p1n) ∧ ... ∧ (pm1∨ pm2∨ ... ∨ pmn)
Dạng chuẩn tuyển là tuyển (∨) của những phép toán hội (∧):
(p11 ∧ p12 ∧ ... ∧ p1n) ∨ ... ∨ (pm1 ∧ pm2 ∧ ... ∧pmn), trong đó pij là
các biểu thức nguyên tố.

o

Phân tích:
• Mục đích : phát hiện ra những thành phần không đúng ( sai về kiểu
hoặc ngữ nghĩa) và loại bỏ chúng sớm nhất có thể


×