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

Tiểu luận môn cơ sở dữ liệu nâng cao CƠ SỞ DỮ LIỆU PHÂN TÁ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 (819.68 KB, 59 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTT QUA MẠNG
________________
KHÓA LUẬN MÔN HỌC
CƠ SỞ DỮ LIỆU NÂNG CAO
ĐỀ TÀI: CƠ SỞ DỮ LIỆU PHÂN TÁN
Giảng viên hướng dẫn: PGS.TS.Đỗ Phúc
Học viên thực hiện: Lương Trí Quân
MSHV: CH1101125

TP. HCM, năm 2012
Khoá luận môn học: Cơ sở dữ liệu nâng cao
MỤC LỤC
Lương Trí Quân Trang 3
Khoá luận môn học: Cơ sở dữ liệu nâng cao
MỞ ĐẦU
Như chúng ta đã biết các cơ sở dữ liệu đầu tiên được xây dựng theo các mô hình phân cấp
và mô hình mạng đã xuất hiện vào những năm 1960 và có thể xem đó là các cơ sở dữ liệu
thế hệ thứ nhất. Tiếp theo là sự phát triển cơ sở dữ liệu quan hệ do E.F. Codd đề xuất vào
năm 1970 và có thể xem đây cơ sở dữ liệu thế hệ thứ hai nhằm mục tiêu tổ chức dữ liệu
và truy xuất một lượng lớn dữ liệu sao cho thuận lợi, an toàn và đạt hiệu quả cao nhất.
Cơ sở dữ liệu quan hệ đã đáp ứng được hầu hết nhu cầu tổ chức và lưu trữ dữ liệu của
các cá nhân, cơ quan, công ty vv Tuy nhiên, với sự phát triển nhanh chóng của công
nghệ truyền thông và sự bùng nổ mạnh mẽ của mạng Internet cùng với xu thế toàn cầu
hoá trong mọi lĩnh vực, đặc biệt là về thương mại đã làm nảy sinh nhiều đối tượng dữ liệu
có cấu trúc phức tạp như: văn bản, âm thanh, hình ảnh nên trong những năm 1990 đã xuất
hiện thêm cơ sở dữ liệu multimedia có khả năng hỗ trợ các ứng dụng đa phương tiện, cơ
sở dữ liệu phân tán, cơ sở dữ liệu suy diễn, cơ sở dữ liệu đồ thị, cơ sở dữ liệu ảnh, cơ sở
dữ liệu thời gian, cơ sở dữ liệu không gian vv
Mục đích của khoá luận này, học viên sẽ tập trung tìm hiểu về cơ sở dữ liệu phân tán: các


khái niệm, kiến trúc, đặc điểm vv… và các thuật toán để thiết kế cơ sở dữ liệu phân tán
cũng như viết code minh hoạ thuật toán phân mảnh dọc (Vertical Fragment).
Do thời gian cũng như trình độ còn nhiều hạn chế chắc chắn khóa luận còn có nhiều chỗ
sai sót mong thầy PGS.TS Đỗ Phúc góp ý và chỉ dẫn thêm. Em xin chân thành cảm ơn
thầy.
Lương Trí Quân Trang 4
Khoá luận môn học: Cơ sở dữ liệu nâng cao
CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU VÀ CƠ SỞ DỮ
LIỆU PHÂN TÁN

1. Cơ bản về cơ sở dữ liệu
Về cơ bản cơ sở dữ liệu (Database) là tập hợp dữ liệu được lưu trữ một cách có tổ
chức để phục vụ cho công việc sử dụng thuận tiện nhất. Dữ liệu là số liệu, hình ảnh
cần được lưu trữ dưới dạng file, record tiện lợi cho người dùng đối với việctruy xuất,
xử lý
Mỗi cơ sở dữ liệu cần có chương trình quản lý, sắp xếp và duy trì dữ liệu gọi là hệ
quản trị cơ sở dữ liệu (DBMS - Database Management System). Hệ quản trị cơ sở dữ
liệu được coi là bộ diễn dịch ngôn ngữ bậc cao để dịch các công việc người sử dụng
thao tác trên dữ liệu mà người dùng không cần quan tâm đến thuật toán.
Về mặt kiến trúc, cơ sở dữ liệu được phân chia thành các mức khác nhau. Một cơ sở
dữ liệu cơ bản có ba phần chính là mức vật lý, mức ý niệm và mức thể hiện. Tuy
nhiên với cơ sở dữ liệu cấp cao thì có thể có nhiều mức phân hoá hơn.
 Mức vật lý: là mức thấp nhất của kiến trúc hệ cơ sở dữ liệu, ở mức này dữ liệu
được tổ chức dưới nhiều cấp khác nhau như bản ghi, file
 Mức ý niệm: là sự biểu diễn trừu tượng của cơ sở dữ liệu vật lý và có thể nói
mức vật lý là sự cài đặt cụ thể của cơ sở dữ liệu ở mức ý niệm.
 Mức thể hiện: khi cơ sở dữ liệu được thiết kế, những gì thể hiện (giao diện,
chương trình quản lý, bảng ) gần gũi với người sử dụng với cơ sở dữ liệu ở mức ý
niệm gọi là khung nhìn. Như vậy sự khác nhau giữa khung nhìn và mức ý niệm không
lớn.

Mô hình phổ biến nhất của cơ sở dữ liệu là mô hình quan hệ: trong mô hình quan hệ
xét tập con của tích decard của các miền D(Domain) với miền là một tập các giá trị.
Gọi D1, D2, D3, Dn là n miền. Tích decard của các miền D1 × D2 × D3 × × Dn là
tập tất cả n bộ (v1,v2,v3 ,vn) sao cho vi ∈ Di với i=1, ,n. Mỗi hàng của quan hệ là
một bộ (tuples). Quan hệ là tập con của tích Decard D1 × D2 × D3 × × Dn gọi là
quan hệ n ngôi. Khi đó mỗi bộ có n thành phần ( n cột ), mỗi cột của quan hệ gọi là
thuộc tính (field).
2. Khái niệm về cơ sở dữ liệu phân tán
Lương Trí Quân Trang 5
Trạm 1
Trạm 2
Trạm 3Trạm 4
Trạm 5
Mạng truyền dữ liệu
Hình 1.1 Môi trường hệ CSDL phân tán
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Cơ sở dữ liệu phân tán là tập hợp dữ liệu logic thuộc về cùng một hệ thống nhưng trải
rộng ra nhiều địa điểm trên mạng máy tính. Như vậy có hai vấn đề của cơ sở dữ liệu
phân tán với tầm quan trọng tương đương nhau:
 Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy đây là
đặc điểm để phân biệt cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung và cơ sở dữ
liệu đơn lẻ.
 Liên quan logic: Trong cơ sở dữ liệu phân tán, dữ liệu có một số đặc tính liên kết
chặt chẽ với nhau như tính kết nối, tính liên quan logíc Trong cơ sở dữ liệu tập trung,
mỗi vị trí quản lý một cơ sở dữ liệu và người sử dụng phải truy cập đến cơ sở dữ liệu
ở những vị trí khác nhau để lấy thông tin tổng hợp.
Trong hệ thống cơ sở dữ liệu phân tán gồm nhiều trạm, mỗi trạm có thể khai thác các
giao tác truy cập dữ liệu trên nhiều trạm khác.
Chẳng hạn: Với một ngân hàng có 3 chi nhánh đặt ở các vị trí khác nhau. Tại mỗi chi
nhánh có một máy tính điều khiển một số máy kế toán cuối cùng (Teller terminal). Mỗi

máy tính với cơ sở dữ liệu thống kê địa phương của nó tại mỗi chi nhánh được đặt ở một
vị trí của cơ sở dữ liệu phân tán. Các máy tính được nối với nhau bởi một mạng truyền
thông.
3. So sánh cơ sở dữ liệu tập trung và cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán được thiết kế khác cơ sở dữ liệu tập trung. Do đó cần phải đối
chiếu và so sánh các đặc trưng của cơ sở dữ liêu phân tán với cơ sở dữ liệu tập trung để
thấy được lợi ích của cơ sở dữ liệu phân tán. Đặc trưng mô tả cơ sở dữ liệu tập trung là
Lương Trí Quân Trang 6
Mô hình hệ cơ sở dữ liệu phân tán
Mạng truyền dữ liệu
Trạm 5Trạm 4 Trạm 3 Trạm 2Trạm 1
Khoá luận môn học: Cơ sở dữ liệu nâng cao
điều khiển tập trung, độc lập dữ liệu, giảm bớt dư thừa, cơ cấu vật lý phức tạp đối với khả
năng truy cập, toàn vẹn, phục hồi, điều khiển tranh chấp, biệt lập (saparate) và an toàn dữ
liệu.
 Điều khiển tập trung: Điều khiển tập trung các nguồn thông tin của công việc hay
tổ chức. Có người quản trị đảm bảo an toàn dữ liệu. Trong cơ sở dữ liệu phân tán: không
đề cập đến vấn đề điều khiển tập trung. Người quản trị cơ sở dữ liệu chung phân quyền
cho người quản trị cơ sở dữ liệu địa phương.
 Độc lập dữ liệu: là một trong những nhân tố tác động đến cấu trúc cơ sở dữ liệu để
tổ chức dữ liệu chuyển cho chương trình ứng dụng. Tiện lợi chính của độc lập dữ liệu là
các chương trình ứng dụng không bị ảnh hưởng khi thay đổi cấu trúc vật lý của dữ liệu.
Trong cơ sở dữ liệu phân tán, độc lập dữ liệu có tầm quan trọng cũng như trong cơ sở dữ
liệu truyền thống. Khái niệm cơ sở dữ liệu trong suốt mô tả hoạt động chương trình trên
cơ sở dữ liệu phân tán được viết như làm việc trên cơ sở dữ liệu tập trung. Hay nói cách
khác tính đúng đắn của chương trình không bị ảnh hưởng bởi việc di chuyển dữ liệu từ
nơi này sang nơi khác trong mạng máy tính. Tuy nhiên tốc độ làm việc bị ảnh hưởng do
có thời gian di chuyển dữ liệu.
 Giảm dư thừa dữ liệu: Trong cơ sở dữ liệu tập trung, tính dư thừa hạn chế được
càng nhiều càng tốt vì:

- Dữ liệu không đồng nhất khi có vài bản sao của cùng cơ sở dữ liệu logic; để
tránh được nhược điểm này giải pháp là chỉ có một bản sao duy nhất.
- Giảm không gian lưu trữ. Giảm dư thừa có nghĩa là cho phép nhiều ứng dụng
cùng truy cập đến một cơ sở dữ liệu mà không cần đến nhiều bản sao ở những nơi chương
trình ứng dụng cần .
Trong cơ sở dữ liệu truyền thống tính dư thừa dữ liệu cũng cần quan tâm vì:
- Tính cục bộ của chương trình ứng dụng sẽ tăng nếu dữ liệu đặt ở mọi nơi mà
chương trình ứng dụng cần.
- Khả năng sẵn sàng của hệ thống cao bởi vì khi có lỗi ở một nơi nào đó trong
hệ thống thì không cản trở hoạt động của chương trình ứng dụng.
Nói chung, nguyên nhân đối lập với tính dư thừa đưa ra trong môi trường truyền
thống vẫn còn đúng cho hệ thống phân tán và vì vậy công việc định giá mức độ tốt của
tính dư thừa đòi hỏi định giá lại công việc lựa chọn mức độ dư thừa dữ liệu.
Lương Trí Quân Trang 7
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Cơ sở dữ liệu phân tán khắc phục được hai nhược điểm này vì dữ liệu được chia ra
thành nhiều phần nhỏ và chỉ có một bản sao logic tổng thể duy nhất để tiện cho việc truy
cập dữ liệu.
 Cấu trúc vật lý và khả năng truy cập: người sử dụng truy cập đến cơ sở dữ liệu
tập trung phải thông qua cấu trúc truy cập phức tạp: định vị cơ sở dữ liệu, thiết lập đường
truyền
Trong cơ sở dữ liệu phân tán, cấu trúc truy cập phức tạp không phải là công cụ chính
để truy cập hiệu quả đến cơ sở dữ liệu. Hiệu quả có nghĩa là thời gian tìm kiếm và chuyển
dữ liệu nhỏ nhất, chi phí truyền thông thấp nhất.
Mỗi cách thức truy cập cơ sở dữ liệu phân tán viết bởi người lập trình hoặc tạo ra bởi một
bộ tối ưu. Công việc viết ra một cách thức truy cập cơ sở dữ liệu phân tán cũng giống như
viết chương trình duyệt trong cơ sở dữ liệu tập trung. Công việc mà chương trình duyệt
này làm là xác định xem có thể truy cập đến được bao nhiêu cơ sở dữ liệu.
 Tính toàn vẹn, phục hồi và điều khiển tranh chấp: Mặc dù trong cơ sở dữ liệu,
tính toàn vẹn, phục hồi và điều khiển đồng thời liên quan nhiều vấn đề liên quan lẫn nhau.

Mở rộng hơn vấn đề này là việc cung cấp các giao tác. Giao tác là đơn vị cơ bản của việc
thực hiện: giao tác cụ thể là bó công việc được thực hiện toàn bộ hoặc không được thực
hiện.
Trong cơ sở dữ liệu phân tán, vấn đề điều khiển giao tác tự trị có ý nghĩa quan trọng:
hệ thống điều phối phải chuyển đổi các quỹ thời gian cho các giao tác liên tiếp. Như vậy
giao tác tự trị là phương tiện đạt được sự toàn vẹn trong cơ sở dữ liệu Có hai mối nguy
hiểm của giao tác tự trị là lỗi và tranh chấp.
 Tính biệt lập và an toàn dữ liệu: Trong cơ sở dữ liệu truyền thống, người quản trị
hệ thống có quyền điều khiển tập trung, người sử dụng phải chắc chắn được phân quyền
mới truy cập vào được dữ liệu. Điểm quan trọng là trong cách tiếp cận cơ sở dữ liệu tập
trung, không cần thủ tục điều khiển chuyên biệt. Trong cơ sở dữ liệu phân tán, những
người quản trị địa phương cũng phải giải quyết vấn đề tương tự như người quản trị cơ sở
dữ liệu truyền thống. Tuy nhiên, hai vấn đề đặc biệt sau đây của cơ sở dữ liệu phân tán có
ý nghĩa quan trọng khi đề cập đến:
Lương Trí Quân Trang 8
Khoá luận môn học: Cơ sở dữ liệu nâng cao
- Thứ nhất trong cơ sở dữ liệu phân tán với cấp độ tự trị cao ở mỗi điểm, người có
dữ liệu địa phương sẽ cảm thấy an toàn hơn vì họ có thể tự bảo vệ dữ liệu của mình thay
vì phụ thuộc vào người quản trị hệ thống tập trung.
- Thứ hai, vấn đề an toàn thực chất với hệ thống phân tán không giống như các hệ
thống thông thường khác mà còn liên quan đến mạng truyền thông.
Như vậy trong cơ sở dữ liệu phân tán vấn đề an toàn cơ sở dữ liệu phức tạp hơn và đòi
hỏi nhiều kỹ thuật bảo vệ. Nguyên nhân gây ra là hệ thống này có tính mở và nhiều người
dùng trong cùng hệ thống sử dụng nhiều cơ sở dữ liệu.
4. Các đặc điểm của cơ sở dữ liệu phân tán
 Chia sẻ tài nguyên
Việc chia sẻ tài nguyên của hệ phân tán được thực hiện thông qua mạng truyền
thông. Để chia sẻ tài nguyên một cách có hiệu quả thì mỗi tài nguyên cần được
quản lý bởi một chương trình có giao diện truyền thông, các tài nguyên có thể
được truy cập, cập nhật một cách tin cậy và nhất quán. Quản lý tài nguyên ở đây là

lập kế hoạch dự phòng, đặt tên cho các lớp tài nguyên, cho phép tài nguyên được
truy cập từ nơi này đến nơi khác, ánh xạ lên tài nguyên vào địa chỉ truyền thông,
 Tính mở
Tính mở của hệ thống máy tính là dễ dàng mở rộng phần cứng (thêm các thiết bị
ngoại vi, bộ nhớ, các giao diện truyền thông ) và các phần mềm (các mô hình hệ
điều hành, các giao thức truyền tin, các dịch vụ chung tài nguyên, )
Một hệ phân tán có tính mở là hệ có thể được tạo từ nhiều loại phần cứng và phần
mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này phải
theo một tiêu chuẩn chung.
Tính mở của hệ phân tán được xem xét thao mức độ bổ sung vào các dịch vụ dùng
chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính
mở được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của
một hệ và làm cho nó tương thích với các nhà phát triển phần mềm.
Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến t
rình và công khai các giao diện dùng để truy cập các tài nguyên chung.
 Khả năng song song
Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy có
thể có 1 hay nhiều CPU. Trong cùng một thời điểm nếu có N tiến trình cùng tồn
Lương Trí Quân Trang 9
Khoá luận môn học: Cơ sở dữ liệu nâng cao
tại, ta nói chúng thực hiện đồng thời. Việc thực hiện tiến trình theo cơ chế phân
chia thời gian (một CPU) hay song song (nhiều CPU)
Khả năng làm việc song song trong hệ phân tán được thực hiện do hai tình huống
sau:
- Nhiều người sử dụng đồng thời ra các lệnh hay các tương tác với các chương
trình ứng dụng
- Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng các yêu cầu từ
các tiến trình Client khác.
 Khả năng mở rộng
Hệ phân tán có khả năng hoạt động tốt và hiệu quả ở nhiều mức khác nhau. Một hệ

phân tán nhỏ nhất có thể hoạt động chỉ cần hai trạm làm việc và một File Server.
Các hệ lớn hơn tới hàng nghìn máy tính.
Khả năng mở rộng được đặc trưng bởi tính không thay đổi phần mềm hệ thống và
phần mềm ứng dụng khi hệ được mở rộng. Điều này chỉ đạt được mức dộ nào đó
với hệ phân tán hiện tại. Yêu cầu việc mở rộng không chỉ là sự mở rộng về phần
cứng, về mạng mà nó trải trên các khía cạnh khi thiết kế hệ phân tán.
 Khả năng khử lỗi
Việc thiết kế khả năng khử lỗi của các hệ thống máy tính dựa trên hai giải pháp:
- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
- Dùng các chương trình phục hồi khi xảy ra sự cố.
Xây dựng một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì người ta nối
hai máy tính với nhau để thực hiện cùng một chương trình, một trong hai máy
chạy ở chế độ Standby (không tải hay chờ). Giải pháp này tốn kém vì phải nhân
đôi phần cứng của hệ thống. Một giải pháp để giảm phí tổn là các Server riêng lẻ
được cung cấp các ứng dụng quan trọng để có thể thay thế nhau khi có sự cố xuất
hiện. Khi không có các sự cố các Server hoạt động bình thường, khi có sự cố trên
một Server nào đó, các ứng dụng Client tự chuyển hướng sang các Server còn lại.
Cách hai thì các phần mềm hồi phục được thiết kế sao cho trạng thái dữ liệu hiện
thời (trạng thái trước khi xảy ra sự cố) có thể đưọc khôi phục khi lỗi được phát hiện.
Các hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai hỏng phần
cứng.
 Tính trong suốt
Lương Trí Quân Trang 10
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Tính trong suốt của một hệ phân tán được hiểu như là việc che khuất đi các thành
phần riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng.
- Tính trong suốt về vị trí: Người sử dụng không cần biết vị trí vật lý của
dữ liệu. Người sử dụng có quyền truy cập tới đến cơ sở dữ liệu nằm bất kỳ tại vị trí
nào. Các thao tác lấy, cập nhật dữ liệu tại một điểm dữ liệu ở xa được tự động thực
hiện bởi hệ thống tại điểm đưa ra yêu cầu, người sử dụng không cần biết đến sự

phân tán của cơ sở dữ liệu trên mạng.
- Tính trong suốt trong việc sử dụng: Việc chuyển đổi của một phần hay
toàn bộ cơ sở dữ liệu do thay đổi về tổ chức hay quản lý, không ảnh hưởng tới thao
tác người sử dụng.
- Tính trong suốt của việc phân chia: Nếu dữ liệu được phân chia do tăng
tải, nó không được ảnh hưởng tới người sử dụng.
- Tính trong suốt của sự trùng lặp: Nếu dữ liệu trùng lặp để giảm chi phí
truyền thông với cơ sở dữ liệu hoặc nâng cao độ tin cậy, người sử dụng không cần
biết đến điều đó.
 Đảm bảo tin cậy và nhất quán
Hệ thống yêu cầu độ tin cậy cao: sự bí mật của dữ liệu phải được bảo vệ, các chức
năng khôi phục hư hỏng phải được đảm bảo. Ngoài ra yêu cầu của hệ thống về tính
nhất quán cũng rất quan trọng trong thể hiện: không được có mâu thuẫn trong nội
dung dữ liệu. Khi các thuộc tính dữ liệu là khác nhau thì các thao tác vẫn phải nhất
quán.
5. Ưu điểm của cơ sở dữ liệu phân tán
Có nhiều lí do để xây dựng và phát triển cơ sở dữ liệu phân tán bao gồm những ưu
điểm sau đây:
 Thuận lợi về tổ chức và tính kinh tế: tổ chức phân tán nhiều chi nhánh và dùng cơ
sở dữ liệu phân tán phù hợp với các tổ chức kiểu này. Với vai trò là động lực thúc đẩy
kinh tế thương mại phát triển rộng hơn, thì việc phát triển các trung tâm máy tính phân
tán ở nhiều vị trí trở thành nhu cầu cần thiết.
 Tận dụng những cơ sở dữ liệu sẵn có: Hình thành cơ sở dữ liệu phân tán từ các cơ
sở dữ liệu tập trung có sẵn ở các vị trí địa phương.
 Thuận lợi cho nhu cầu phát triển: Xu hướng dùng cơ sở dữ liệu 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
Lương Trí Quân Trang 11
Khoá luận môn học: Cơ sở dữ liệu nâng cao
đến cơ sở dữ liệu. Với hướng tập trung hoá, 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 cơ sở dữ liệu 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 cơ sở dữ liệu tại chỗ.
 Tăng số công việc thực hiện: Hệ cơ sở dữ liệu phân tán có thể tăng số lượng công
việc thực hiện qua áp dụng nguyên lý xử lý song song với hệ thống xử lý đa nhiệm.
Tuy nhiên cơ sở dữ liệu phân tán cũng có tiện lợi trong việc phân tán dữ liệu như tạo
ra các chương trình ứng dụng phụ thuộc vào tiêu chuẩn mở rộng vị trí làm cho các nơi
xử lý có thể hỗ trợ lẫn nhau. Do đó tránh được hiện tượng tắc nghẽn cổ chai trong
mạng truyền thông hoặc trong các dịch vụ thông thường của toàn bộ hệ thống.
 Tính dễ hiểu và sẵn sàng: Hướng phát triển cơ sở dữ liệu phân tán cũng nhằm đạt
được tính dễ hiểu và tính sẵn sàng cao hơn. Tuy nhiên để đạt được mục tiêu này
không phải là dễ làm và đòi hỏi sử dụng kỹ thuật phức tạp. Khả năng xử lý tự trị của
các điểm làm việc khác nhau không đảm bảo tính dễ sử dụng.
Hai nguyên nhân về mặt kỹ thuật đáp ứng cho sự phát triển hệ cơ sở dữ liệu phân tán:
- Công nghệ tạo ra máy tính nhỏ và nền tảng phần cứng có khả năng phục vụ xây
dựng hệ thống thông tin phân tán.
- Kỹ thuật thiết kế hệ cơ sở dữ liệu phân tán được phát triển vững chắc dựa trên
hai kỹ thuật thiết kế chính là Top-down và Bottom-up từ những năm thập kỷ
60.
Kỹ thuật thiết kế cơ sở dữ liệu phân tán là phức tạp nhưng hệ cơ sở dữ liệu phân tán
rất cần thiết cho xu hướng phát triển kinh tế xã hội hiện nay và trong tương lai.
6. Kiến trúc của cơ sở dữ liệu phân tán
Đây không là kiến trúc tường minh cho tất cả các CSDL phân tán, tuy nhiên có thể nói
kiến trúc này thể hiện tổ chức của bất kỳ một cơ sở dữ liệu phân tán
 Sơ đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán.
Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của các tập quan hệ tổng
thể.
 Sơ đồ phân đoạn: Mỗi quan hệ tổng thể có thể chia thành một vài phần không gối
lên nhau được gọi là đoạn (fragments). Có nhiều cách khác nhau để thực hiện việc

phân chia này. Ánh xạ (một - nhiều) giữa sơ đồ tổng thể và các đoạn được định nghĩa
trong sơ đồ phân đoạn.
Lương Trí Quân Trang 12
Sơ đồ tổng thể
Sơ đồ phân đoạn
Sơ đồ định vị
Sơ đồ ánh xạ địa phương 2Sơ đồ ánh xạ địa phương 1
DBMS của vị trí 1
CSDL địa phương tại vị trí 1
Các vị trí khác…
DBMS của vị trí 2
CSDL địa phương tại vị trí 2
Kiến trúc cơ bản của cơ sở dữ liệu phân tán
Khoá luận môn học: Cơ sở dữ liệu nâng cao
 Sơ đồ định vị: Các đoạn là các phần logic của quan hệ tổng thể được định vị vật lý
trên một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đoạn nào định vị tại các
vị trí nào. Lưu ý rằng kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định
CSDL phân tán là dư thừa hay không.
 Sơ đồ ánh xạ địa phương: ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại
một trạm (tất cả các đoạn của một quan hệ tổng thể trên cùng một vị trí tạo ra một ảnh
vật lý).
7.
Hệ
quản trị cơ sở dữ liệu phân tán
Hệ quản trị cơ sở dữ liệu phân tán (Distributed Database Management System-
DBMS) được định nghĩa là một hệ thống phần mềm cho phép quản lý các hệ CSDL
(tạo lập và điều khiển các truy nhập cho các hệ CSDL phân tán) và làm cho việc phân
tán trở nên trong suốt với người sử dụng.
Đặ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. Sự phân tán dữ liệu được che dấu với

người sử dụng làm cho người sử dụng truy nhập vào CSDL phân tán như hệ CSDL
tập trung. Sự thay đổi việc quản trị không ảnh hưởng tới người sử dụng.
Hệ quản trị CSDL phân tán gồm 1 tập các phần mềm sau đây:
• Các chương trình quản trị các dữ liệu phân tán (Distributed Database DDB)
Lương Trí Quân Trang 13
Khoá luận môn học: Cơ sở dữ liệu nâng cao
• Chứa các chương trình để quản trị việc truyền thông dữ liệu liệu (Data
Communication - DC )
• Các chương trình để quản trị các cơ sở dữ liệu địa phương (Database Management –
DB).
• Các chương trình quản trị từ điển dữ liệu (Data Dictionary - DD).
Để tạo ra một hệ cơ sở dữ liệu phân tán (Distributed Database System-DDBS) các tập
tin không chỉ có liên đới logic chúng còn phải có cấu trúc và được truy xuất qua một
giao diện chung. Môi trường hệ cơ sở dữ liệu phân tán là môi trường trong đó dữ liệu
được phân tán trên một số vị trí.
Mô hình các thành phần của hệ quản trị cơ sở dữ liệu phát triển theo kiểu
thương mại (Truy cập từ xa trực tiếp).
Những dịch vụ hệ quản trị cơ sở dữ liệu cung cấp:
 Cách thức truy cập dữ liệu từ xa: bằng chương trình ứng dụng.
 Lựa chọn một cấp độ trong suốt phân tán thích hợp: cho phép mở rộng hệ thống
theo nhiều cách khác nhau theo từng hoàn cảnh (phải cân nhắc giữa cấp độ trong suốt
phân tán và phân chia công việc thực hiện để công việc quản trị hệ thống đơn giản
hơn).
Lương Trí Quân Trang 14
Truy cập cơ sở dữ liệu
Phương thức truy cập dữ liệu
Hệ quản trị cơ sở dữ liệu 1
Kết quả
Cơ sở dữ liệu 2
Chương trình ứng dụng

Hệ quản trị cơ sở dữ liệu 2
Cơ sở dữ liệu 2
Kết quả
toàn bộ
Chương trình ứng dụng
Chương trình phụ
Hệ quản trị cơ sở dữ liệu 1
Hệ quản trị cơ sở dữ liệu 2
Khoá luận môn học: Cơ sở dữ liệu nâng cao
 Quản trị và điều khiển cơ sở dữ liệu bao gồm công cụ quản lý cơ sở dữ liệu, tập
hợp thông tin về các thao tác trên cơ sở dữ liệu và cung cấp thông tin tổng thể về file
dữ liệu đặt ở các nơi trong hệ thống.
 Điều khiển tranh chấp và điều khiển phục hồi dữ liệu của giao tác phân tán.
Cách thức truy cập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo
kiểu “Truy cập từ xa trực tiếp “
Theo mô hình trực tiếp trên, chương trình ứng dụng đưa ra yêu cầu truy cập đến cơ sở
dữ liệu từ xa, yêu cầu này được hệ quản trị cơ sở dữ liệu tự động tìm nơi đặt dữ liệu
và thực hiện yêu cầu tại điểm đó. Kết quả được trả lại cho chương trình ứng dụng.
Đơn vị chuyển đổi giữa hai hệ quả trị cơ sở dữ liệu là phương thức truy cập cơ sở dữ
liệu và kết quả nhận được (thông qua việc thực hiện phương thức truy cập này). Với
cách thức truy cập từ xa như vậy cấp độ trong suốt phân tán được xây dựng bằng cách
tạo ra tên file toàn bộ để đánh địa chỉ thích hợp cho những điểm lưu trữ dữ liệu ở xa.

Cách thức truy cập cơ sở dữ liệu từ xa qua chương trình ứng dụng theo
kiểu “Truy cập từ xa gián tiếp “
Lương Trí Quân Trang 15
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Theo mô hình truy cập trên, chương trình ứng dụng thực hiện yêu cầu qua chương trình
phụ ở điểm khác. Chương trình phụ này được người lập trình ứng dụng viết để truy cập từ
xa đến cơ sở dữ liệu và trả về kết quả của chương trình ứng dụng yêu cầu.

Hệ quản trị cơ sở dữ liệu phân tán cung cấp cả hai kiểu truy cập bỏi vì mỗi cách truy cập
đều có ưu điểm của nó.
8. Kiến trúc hệ quản trị cơ sở dữ liệu phân tán
8.1. Kiến trúc hệ phân tán Client/Server
Các hệ quản trị cơ sở dữ liệu Client / Server xuất hiện vào đầu những năm 1990 và
có ảnh hưởng rất lớn đến công nghệ hệ quản trị cơ sở dữ liệu(DBMS) và phương thức xử
lý tính toán. Ý tưởng tổng quát hết sức đơn giản: phân biệt các chức năng cần được cung
cấp và chia những chức năng này thành hai lớp: chức năng Server (Server function) và
chức năng Client (Client function). Nó cung cấp kiến trúc hai cấp, tạo dễ dàng cho việc
quản lý mức độ phức tạp của các DBMS hiện đại và độ phức tạp của việc phân tán dữ
liệu.
Server thực hiện phần lớn công việc quản lý dữ liệu. Điều này có nghĩa là tất cả mọi
việc xử lý và tối ưu hoá vấn tin, quản lý giao dịch và quản lý thiết bị lưu trữ được thực
hiện tại Server. Client, ngoài ứng dụng và giao diện sẽ có module DBMS Server chịu
trách nhiệm quản lý dữ liệu được gửi đến cho bên client và đôi khi việc quản lý các khoá
chốt giao dịch cũng có thể giao cho nó. Kiến trúc được mô tả bởi hình dưới rất thông
dụng trong các hệ thống quan hệ, ở đó việc giao tiếp giữa Client và Server nằm tại mức
câu lệnh SQL. Nói cách khác, Client sẽ chuyển các câu vấn tin SQL cho Server mà không
tìm hiểu và tối ưu hoá chúng. Server thực hiện hầu hết công việc và trả quan hệ kết quả
về cho Client.
Có một số loại kiến trúc Client/ Server khác nhau. Loại đơn giản nhất là trường hợp
có một Server được nhiều Client truy xuất. Chúng ta gọi loại này là Client một Server.
Lương Trí Quân Trang 16
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Một kiến trúc Clinet/ Server phức tạp hơn là kiến trúc có nhiều Server trong hệ thống
(được gọi là nhiều Client nhiều Server). Trong trường hợp này chúng ta có hai chiến lược
quản lý: hoặc mỗi Client tự quản lý nối kết của nó với Server hoặc mỗi Client chỉ biết
Server “ruột” của nó và giao tiếp với các Server khác qua Server đó khi cần. Lối tiếp cận
thứ nhất làm đơn giản cho các chương trình Server nhưng lại đặt gánh nặng lên các máy
Client cùng với nhiều trách nhiệm khác. Điều này dẫn đến tình huống được gọi là các hệ

thống Client tự phục vụ. Lối tiếp cận sau tập trung chức năng quản lý dữ liệu tại Server.
Vì thế sự vô hình của truy xuất dữ liệu được cung cấp qua giao diện của Server.
Từ góc độ tính logíc cả dữ liệu, DBMS Client/ Server cung cấp cùng một hình ảnh dữ
liệu như các hệ ngang hàng sẽ được thảo luận ở phần tiếp theo. Nghĩa là chúng cho người
sử dụng thấy một hình ảnh về một cơ sở dữ liệu logic duy nhất, còn tại mức vật lý nó có
thể phân tán. Vì thế sự phân biệt chủ yếu giữa các hệ Client/Server và ngang hàng không
phải ở mức vô hình được cung cấp cho người dùng và cho ứng dụng mà ở mô hình kiến
trúc được dùng để nhận ra mức độ vô hình này.
8.2. Kiến trúc hệ phân tán Peer/Peer(Ngang hàng)
Mô hình Client / Server phân biệt Client (nơi yêu cầu dịch vụ) và Server (nơi phục
vụ các yêu cầu). Nhưng mô hình xử lý ngang hàng, các hệ thống tham gia có vai trò như
nhau. Chúng có thể yêu cầu vừa dịch vụ từ một hệ thống khác hoặc vừa trở thành nơi
cung cấp dịch vụ. Một cách lý tưởng, mô hình tính toán ngang hàng cung cấp cho xử lý
hợp tác giữa các ứng dụng có thể nằm trên các phần cứng hoặc hệ điều hành khác nhau.
Mục đích của môi trường xử lý ngang hàng là để hỗ trợ các cơ sở dữ liệu được nối mạng.
Như vậy người sử dụng hệ quản trị cơ sở dữ liệu (DBMS) sẽ có thể truy cập tới nhiều cơ
sở dữ liệu không đồng nhất.
Lương Trí Quân Trang 17
Khoá luận môn học: Cơ sở dữ liệu nâng cao
CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Thiết kế một hệ thống máy tính phân tán cần phải chọn vị trí đặt dữ liệu và chương trình
trên một mạng máy tính, rất có thể phải kể luôn cả việc thiết kế mạng. Đối với hệ quản trị
cơ sở dữ liệu phân tán cần phải thực hiện hai điều:

Phân tán hệ quản trị cơ sở dữ liệu

Phân tán các chương trình ứng dụng chạy trên hệ đó.
Ở đây chúng ta chỉ tập trung tìm hiểu vào việc phân tán dữ liệu.
Việc tổ chức các hệ phân tán có thể được nghiên cứu dựa theo ba trục không gian:
• Mức độ chia sẻ dữ liệu (level of sharing)

• Kiểu mẫu truy xuất (behavior of access pattern)
• Mức độ hiểu biết về kiểu mẫu truy xuất
(1) Theo mức độ chia sẻ có ba khả năng xảy ra:
 Không chia sẻ dữ liệu: mỗi ứng dụng và dữ liệu của nó thực thi tại một vị trí,
không có trao đổi hoặc giao tiếp với những chương trình khác hoặc truy xuất dữ
liệu ở những vị trí khác. Hình thức này đặc trưng cho các kết nối mạng ở thời kỳ sơ
khai.
 Chia sẻ dữ liệu: tất cả chương trình đều được nhân bản cho mỗi vị trí, nhưng
không nhân bản dữ liệu. Theo đấy các yêu cầu của người dùng được xử lý tại mỗi
vị trí và dữ liệu cần thiết được chuyển đi trên mạng.
 Chia sẻ dữ liệu - chương trình: cả chương trình và dữ liệu được dùng chung.
Nghĩa là chương trình nằm tại một vị trí có thể yêu cầu dịch vụ từ một chương trình
nằm ở vị trí thứ hai, và đến lượt nó chương trình này có thể truy xuất dữ liệu nằm
tại vị trí thứ ba.
Ở đây cần phân biệt giữa Chia sẻ dữ liệu và Chia sẻ dữ liệu - chương trình, đặc biệt
đối với hệ phân tán đa chủng. Trong môi trường đa chủng rất khó khăn, có khi không
thể được, cho thực thi một chương trình trên một phần cứng khác và trong hệ điều
hành khác.
Lương Trí Quân Trang 18
Khoá luận môn học: Cơ sở dữ liệu nâng cao
(2) Theo kiểu mẫu truy xuất có 2 kiểu lựa chọn:
- Loại tĩnh, không thay đổi theo thời gian
- Loại động, thay đổi theo thời gian.
1. CÁC CHIẾN LƯỢC THIẾT KẾ
Có 2 chiến lược chính trong việc thiết kế cơ sở dữ liệu phân tán là tiếp cận từ trên
xuống(TOP-DOWN) và tiếp cận từ dưới lên(BOTTOM-UP). Trong thực tế rất hiếm
các ứng dụng đơn giản để chỉ sử dụng 1 cách tiếp cận, vì vậy trong phần lớn thiết kế cả
hai cách tiếp cần đều được áp dụng bổ sung cho nhau.
1.1. Quá trình thiết kế từ trên xuống(Top-Down)
Sơ đồ quá trình thiết kế từ trên xuống biểu diễn trong hình sau:

Lương Trí Quân Trang 19
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Việc phân tích yêu cầu nhằm định nghĩa môi trường hệ thống và thu thập các nhu cầu xử
lý của tất cả người dùng, đồng thời cũng xác định yêu cầu hệ thống.
Hồ sơ ghi chép các yêu cầu là nguyên liệu cho hai hoạt động song song:
Thiết kế khung nhìn (view design) và Thiết kế ý niệm (conceptual design).
 Thiết kế khung nhìn : Định nghĩa các giao diện cho người dùng đầu cuối (end-
user).
 Thiết kế ý niệm : Là quá trình xem xét tổng thể đối tượng - xí nghiệp, nhằm xác
định các loại thực thể và mối liên hệ giữa chúng với nhau. Ta có thể chia quá trình này
thành 2 nhóm bao gồm các hoạt động liên quan tới nhau: Phân tích thực thể (entity
analysis) và Phân tích chức năng (functional analysis). Phân tích thực thể có liên quan
đến việc xác định các thực thể, các thuộc tính và các mối liên hệ giữa chúng. Phân tích
chức năng đề cập đến việc xác định các chức năng cơ bản có liên quan đến xí nghiệp cần
được mô hình hoá. Kết quả của hai quá trình này cần được đối chiếu qua lại, giúp chúng
ta biết được chức năng nào sẽ hoạt tác trên những thực thể nào.
Có sự liên hệ khăng khít giữa thiết kế khái niệm và thiết kế khung nhìn. Theo nghĩa
nào đó thiết kế khái niệm được coi như là sự tích hợp các khung nhìn. Tuy nhiên mô hình
khái niệm cần phải hỗ trợ không chỉ những ứng dụng hiện có mà còn cả những ứng dụng
trong tương lai. Tích hợp khung nhìn nhằm đảm bảo các yêu cầu về thực thể và các mối
liên hệ giữa các khung nhìn đều phải được bao quát trong lược đồ khái niệm.
Trong các hoạt động thiết kế khái niệm và thiết kế khung nhìn, người thiết kế cần phải
đặc tả các thực thể dữ liệu và phải xác định các ứng dụng chạy trên CSDL cũng như các
thông tin thống kê về những ứng dụng này. Thông tin thống kê bao gồm đặc tả về tần số
ứng dụng, khối lượng thông tin khác nhau,
Lược đồ khái niệm toàn cục GCS và thông tin về kiểu mẫu truy xuất thu được trong
thiết kế khung nhìn sẽ là nguyên liệu (input) cho bước thiết kế phân tán. Mục tiêu của
giai đoạn này là thiết kế các lược đồ khái niệm cục bộ LCS bằng cách phân tán các thực
thể cho các vị trí của hệ thống phân tán.
Ta chia quan hệ thành nhiều quan hệ nhỏ hơn gọi là các mảnh (Fragment) và phân

tán các mảnh này. Hoạt động thiết kế phân tán gồm hai bước: Phân mảnh
Lương Trí Quân Trang 20
Khoá luận môn học: Cơ sở dữ liệu nâng cao
(Fragmentation) và cấp phát (Allocation). Ta sẽ thảo luận về vấn đề này trong các phần
sau.
Thiết kế vật lý: là ánh xạ lược đồ khái niệm cục bộ sang các thiết bị lưu trữ vật lý có
sẵn tại các vị trí tương ứng. Nguyên liệu cho quá trình này là lược đồ khái niệm cục bộ và
thông tin về kiểu mẫu truy xuất các mảnh.
Hoạt động phát triển và thiết kế luôn là quá trình liên tục, đòi hỏi theo dõi hiệu chỉnh
thường xuyên. Vì thế, chúng ta đưa vấn đề quan sát và theo dõi như một hoạt động chính
trong qua trình này. Cần chú ý rằng chúng ta không chỉ theo dõi vấn đề cài đặt cơ sở dữ
liệu mà còn quan sát theo dõi tính thích hợp của các khung nhìn của người dùng. Kết quả
này có tác dụng phản hồi, tạo cơ sở cho việc tái thiết kế về sau.
1.2. Quá trình thiết kế từ dưới lên
Thiết kế từ trên xuống thích hợp cho những cơ sở dữ liệu được thiết kế từ đầu. Tuy
nhiên trong thực tế cũng có khi đã có sẵn một số cơ sở dữ liệu, và chúng ta phải tích hợp
chúng thành một cơ sở dữ liệu chung. Tiếp cận từ dưới lên sẽ thích hợp cho tình huống
này. Khởi điểm của thiết kế từ dưới lên là các lược đồ ý niệm cục bộ, sẽ phải được tích
hợp thành lược đồ ý niệm toàn cục.
2. NHỮNG VẤN ĐỀ THIẾT KẾ PHÂN TÁN
Khi thiết kế cơ sở dữ liệu phân tán chúng ta sẽ phải trả lời các câu hỏi sau:
• Tại sao cần phân mảnh
• Làm thế nào để thực hiện phân mảnh
• Phân mảnh nên thực hiện đến mức độ nào
• Cách thức kiểm tra tính đúng đắn của phân mảnh
• Cách thức cấp phát dữ liệu
• Những thông tin nào cần thiết cho phân mảnh và cấp phát
2.1. Các lý do phân mảnh
Trước tiên, khung nhìn của các ứng dụng thường chỉ là tập con của quan hệ. Vì thế
đơn vị truy xuất không phải toàn bộ quan hệ mà chỉ là tập con của quan hệ. Kết quả là

xem tập con của quan hệ là đơn vị phân tán là thích hợp.
Thứ hai là, nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho
trước lại nằm tại những vị trí khác nhau thì chỉ có hai cách chọn lựa với đơn vị phân tán
là toàn bộ quan hệ, khi không có phân mảnh. Hoặc quan hệ không được nhân bản mà
Lương Trí Quân Trang 21
Khoá luận môn học: Cơ sở dữ liệu nâng cao
được lưu ở một vị trí, hoặc quan hệ được nhân bản cho tất cả hoặc một số vị trí có chạy
ứng dụng. Chọn lựa đầu gây ra một số lượng lớn truy xuất không cần thiết đến dữ liệu ở
xa. Còn chọn lựa sau có thể dẫn đến nhân bản không cần thiết, gây khó khăn khi cập nhật
và lãng phí không gian lưu trữ.
Cuối cùng việc phân rã quan hệ thành nhiều mảnh, mỗi mảnh xử lý như một đơn vị, sẽ
cho phép thực hiện nhiều giao dịch đồng thời. Việc phân mảnh quan hệ cho phép thực
hiện song song câu vấn tin, bằng cách chia nó thành một tập câu vấn tin con hoạt tác trên
các mảnh. Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và kéo theo
tăng lưu lượng hoạt động của hệ thống. Kiểu hoạt động này gọi là đồng thời nội vấn tin
(intraquerry concurency), sẽ được phân tích trong các phần sau.
2.2. Các kiểu phân mảnh
Có hai kiểu phân mảnh: theo chiều dọc và theo chiều ngang .
Ví dụ:
Chúng ta sử dụng lược đồ cơ sở dữ liệu đã phát triển trong chương trước. Ta thêm
vào lược đồ PROJ thuộc tính LOC (vị trí) để chỉ nơi thực hiện dự án. Sau đây là 1 thể
hiện cơ sở dữ liệu sẽ được dùng:
PROJ PAY
PN
O
PNAME BUDGE
T
LOC TITLE SAL
P1 Instrumentation 150000 Montreal Elect.Eng. 40000
P2 Database Develop.135000 New York Syst.Anal. 34000

P3 CAD/CAm 250000 New York Mech.Eng. 27000
Lương Trí Quân Trang 22
ASG
ENO PNO RESP DU
R
E1 P1 Manager 12
E2 P1 Analyst 24
E2 P2 Analyst 6
E3 P3 Consultant 10
E3 P4 Engineer 48
E4 P2 Programme
r
18
E5 P2 Manager 24
E6 P4 Manager 48
E7 P3 Engineer 36
E8 P3 Manager 40
EMP
ENO ENAME TITLE
E1 J.Doe Elect.Eng.
E2 M.Smith Syst.Anal.
E3 A.Lee Mech.Eng.
E4 J.Miller Programmer
E5 B.Casey Syst.Anal.
E6 L.Chu Elect.Eng.
E7 R.David Mech.Eng.
E8 J.Jones Syst.Anal.
Khoá luận môn học: Cơ sở dữ liệu nâng cao
P4 Maintenamce 310000 Paris Programmer 24000
Trong hình sau trình bày quan hệ PROJ được tách ngang thành 2 quan hệ PROJ1

chứa các thông tin về dự án có kinh phí dưới 200000 USD, và PROJ2 chứa các thông tin
về dự án có kinh phí lớn hơn 200000 USD.
PROJ1
PN
O
PNAME BUDGE
T
LOC
P1 Instrumentation 150000 Montreal
P2 Database Develop.135000 New York
PROJ2
PN
O
PNAME BUDGE
T
LOC
P3 CAD/CAm 250000 New York
P4 Maintenamce 310000 Paris
Còn trong hình sau trình bày quan hệ PROJ được tách dọc thành 2 quan hệ
PROJ1 chứa các thông tin về kinh phí dự án, và PROJ2 chứa các thông tin về tên và vị trí
dự án.
PROJ 1
PN
O
BUDGE
T
P1 150000
P2 135000
P3 250000
P4 310000

Việc phân mảnh có thể lồng ghép, vừa phân mảnh ngang vừa phân mảnh dọc, thành phân
mảnh tổng hợp (hybrid fragmentation).
2.3. Các qui tắc phân mảnh đúng đắn
Có ba qui tắc trong khi phân mảnh đảm bảo cơ sở dữ liệu sẽ không thay đổi ngữ nghĩa
khi phân mảnh.
1) Tính đầy đủ (completeness): Cho quan hệ r bất kỳ. Giả sử r được phân rã thành
các mảnh. Khi đó tính đầy đủ yêu cầu mỗi mục dữ liệu trong r cũng phải được lưu trữ
trong 1 hoặc vài mảnh nào đó.
2) Tính tái thiết (reconstruction): Cho quan hệ r bất kỳ. Giả sử r được phân rã thành
các mảnh r
1
, , r
n
. Khi đó tính đầy đủ yêu cầu “hợp” các phân mảnh của quan hệ r trả
Lương Trí Quân Trang 23
PROJ2
PN
O
PNAME LOC
P1 Instrumentation Montreal
P2 Database Develop.New York
P3 CAD/CAm New York
P4 Maintenamce Paris
Khoá luận môn học: Cơ sở dữ liệu nâng cao
lại đầy đủ dữ liệu ban đầu của quan hệ r. Khái niệm “hợp” ở đây là toán tử quan hệ ∆
sao cho
r = ∆ r
i
∀r
i

Toán tử ∆ thay đổi tuỳ theo từng loại phân mảnh. Khả năng tái thiết một quan hệ từ
các mảnh của nó đảm bảo rằng các ràng buộc định nghĩa theo phụ thuộc dữ liệu sẽ được
bảo toàn.
3) Tính tách biệt (disjointness): Cho quan hệ r bất kỳ. Giả sử r được phân rã thành
các mảnh r
1
, , r
n
. Khi đó tính tách biệt yêu cầu một mục dữ liệu d nào đó một khi đã
xuất hiện trong mảnh r
i
thì sẽ không xuất hiện trong mảnh r
k
khác. Tiêu chuẩn này đảm
bảo các mảnh ngang sẽ tách biệt nhau. Còn trong phân mảnh dọc thì các thuộc tính khoá
chính phải được lặp lại trong mỗi mảnh, vì vậy tính tách biệt chỉ áp dụng với các thuộc
tính không khoá.
2.4. Các kiểu cấp phát
Giả sử cơ sở dữ liệu đã được phân mảnh thích hợp và cần phải quyết định cấp phát các
mảnh cho các vị trí trên mạng. Khi dữ liệu được cấp phát, nó có thể được nhân bản hoặc
chỉ duy trì một bản duy nhất.
Một cơ sở dữ liệu không nhân bản, gọi là CSDL phân hoạch, có chứa các mảnh được
cấp phát cho các vị trí, trong đó chỉ tồn tại một bản duy nhất cho mỗi mảnh trên mạng.
Kiểu cơ sở dữ liệu nhân bản có hai dạng:
- Cơ sở dữ liệu nhân bản hoàn toàn, trong đó toàn bộ CSDL đều có bản sao ở mỗi vị
trí.
- Cơ sở dữ liệu nhân bản một phần, trong đó các mảnh được phân tán đến các vị trí,
mỗi mảnh có thể có nhiều bản sao nằm ở các vị trí khác nhau. Số lượng các bản sao của
các mảnh có thể là tham số (input) cho các thuật toán cấp phát (allocation algorithm) hoặc
là biến quyết định (dicision variable) mà giá trị của nó được xác định bằng thuật toán này.

Lý do nhân bản là nhằm đảm bảo được độ tin cậy và hiệu quả cho các câu vấn tin chỉ
đọc. Nếu có nhiều bản sao của một mục dữ liệu thì chúng ta vẫn có cơ hội truy xuất được
dữ liệu đó ngay cả khi hệ thống có sự cố. Hơn nữa các câu vấn tin chỉ đọc truy xuất đến
cùng một mục dữ liệu có thể cho thực hiện song song vì các bản sao có mặt tại nhiều vị
trí.
Lương Trí Quân Trang 24
Khoá luận môn học: Cơ sở dữ liệu nâng cao
Ngược lại, trong CSDL nhân bản các câu vấn tin cập nhật có thể gây nhiều rắc rối vì
phải đảm bảo các bản sao phải được cập nhật chính xác.
Vì vậy quyết định nhân bản cần được cân nhắc và phụ thuộc vào tỉ lệ giữa các câu vấn
tin chỉ đọc và câu vấn tin cập nhật. Quyết định này hầu như ảnh hưởng đến tất cả các
thuật toán của hệ QTCSDL phân tán và các chức năng kiểm soát khác.
3. PHƯƠNG PHÁP PHÂN MẢNH
Trong phần này chúng ta sẽ bàn đến các chiến lược và thuật toán phân mảnh. Có
hai chiến lược phân mảnh cơ bản: phân mảnh ngang (horizontal fragmentation) và
phân mảnh dọc (vertical fragmentation). Ngoài ra còn có khả năng phân mảnh hỗn hợp.
3.1. Phân mảnh ngang
Phân mảnh ngang chia quan hệ theo các bộ. Mỗi mảnh là một tập con của quan hệ. Có
hai loại phân mảnh ngang: phân mảnh nguyên thuỷ (primary horizontal fragmentation),
thực hiện dựa trên các vị từ định nghĩa trên chính quan hệ đó, và phân mảnh dẫn xuất
(derived horizontal fragmentation), dựa trên các vị từ định nghĩa trên quan hệ khác.
Trước khi thực hiện phân mảnh, chúng ta cần thu thập thông tin cần thiết.
a) Yêu cầu thông tin
• Thông tin về CSDL
Thông tin này bao gồm lược đồ khái niệm toàn cục, các liên kết giữa các quan hệ,
đặc biệt là phép nối. Trong mô hình quan hệ, các mối liên hệ được biểu thị bằng các
quan hệ. Tuy nhiên trong các mô hình khác, như mô hình thực thể-quan hệ, các mối
liên hệ được biểu diễn tường minh. Với mục đích thiết kế phân tán, các mối liên hệ
cũng được mô hình hoá trong bộ khung quan hệ. Theo cách này chúng ta sẽ vẽ các
đường nối (L) có hướng giữa các quan hệ (R, S) ràng buộc nhau qua phép đẳng nối

dạng
R L S,
Trong đó R gọi là quan hệ chủ, S gọi là quan hệ thành viên. Người ta dùng hàm
owner và member để phân biệt các quan hệ này:
owner(L) = R và member(L) = S
Ví dụ:
Lương Trí Quân Trang 25

×