Như vậy có hai vấn đề của cơ sở dữ liệuphâ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
Trang 1CHƯƠ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
Trang 3
MỤC LỤC
Lương Trí Quân Trang 3
Trang 4MỞ ĐẦ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ệuthế 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àonă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ủacá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ôngnghệ 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ầuhoá 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ấthiệ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áckhá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áncũ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 ơnthầy
Trang 5CHƯƠ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ụngthao 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 Tuynhiê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ônglớ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
Trang 6Trạm 1
Trạm 2
Trạm 3Trạm 4
Trạm 5
Mạng truyền dữ liệu
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ảirộ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ệuphâ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ácgiao 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 chinhá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ỗimá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ềnthô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 đốichiế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
Trang 7đ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ềncho 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áchkhá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
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ềnthố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ủatí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
Trang 8Cơ 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 rathà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 truycậ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 đườngtruyề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ệtnà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ệcthự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ựchiệ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ậygiao 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 nguyhiể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ềnmớ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ậptrung, 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ữngngườ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:
Trang 9- 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à đòihỏ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ườidù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ềnthông Để chia sẻ tài nguyên một cách có hiệu quả thì mỗi tài nguyên cần đượcquả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 đượctruy 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ầnmề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ảitheo 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ùngchung 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ủamộ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 trì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ồnLương Trí Quân Trang 9
Trang 10tạ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ânchia 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ốngsau:
- 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ươngtrì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ầncứ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ốihai máy tính với nhau để thực hiện cùng một chương trình, một trong hai máychạ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ấthiện Khi không có các sự cố các Server hoạt động bình thường, khi có sự cố trênmộ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ệnthờ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ầncứng
Tính trong suốt
Trang 11Tí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ànhphầ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ựchiệ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 thaotá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ầnbiế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ứcnă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ínhnhất quán cũng rất quan trọng trong thể hiện: không được có mâu thuẫn trong nộidung 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ấtquá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 đẩykinh 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ântá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ậpLương Trí Quân Trang 11
Trang 12đế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ặpkhó 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áchkhai 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 trongmạ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àykhô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ủacá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âydự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ênhai 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ánrấ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óikiế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ổngthể
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ệcphân chia này Ánh xạ (một - nhiều) giữa sơ đồ tổng thể và các đoạn được định nghĩatrong sơ đồ phân đoạn
Trang 13Sơ đồ tổng thể
Sơ đồ phân đoạn
Sơ đồ định vị
Sơ đồ ánh xạ địa phương 2
Sơ đồ á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
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 địnhCSDL 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 ảnhvậ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 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ântán trở nên trong suốt với người sử dụng
System-Đặ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ớingười sử dụng làm cho người sử dụng truy nhập vào CSDL phân tán như hệ CSDLtậ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
Trang 14• Chứa các chương trình để quản trị việc truyền thông dữ liệu liệu (DataCommunication - 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ậptin 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ộtgiao 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ốngtheo 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ốtphâ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ảnhơn)
Trang 15Truy 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
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
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ậphợ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ớicá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áchtạ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
Trang 16Theo 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ìnhphụ ở đ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 cungcấ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ệcquả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ọiviệ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ựchiện tại Server Client, ngoài ứng dụng và giao diện sẽ có module DBMS Server chịutrá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ôngdụng trong các hệ thống quan hệ, ở đó việc giao tiếp giữa Client và Server nằm tại mứccâ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ôngtì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
Trang 17Mộ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ượcquả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ếtServer “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ậnthứ 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áyClient 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ôngphả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ếntrú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ơicung 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
Trang 18CHƯƠ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ìnhtrê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ìnhnằ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ằmtạ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ôngthể đượ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ềuhành khác
Trang 19(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
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
Trang 20Việ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íchchứ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ĩanà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ìnhkhá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ụngtrong 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ốiliê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ácthô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ựcthể 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
Trang 21(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ỉnhthườ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ínhtrong 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 Tuynhiê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ợpchú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ốngnà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íchhợ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
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ệ chotrướ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
Trang 22đượ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ựchiệ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êncá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.
PN
O PNAME BUDGET 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
ASGENO PNO RESP DU
RE1 P1 Manager 12E2 P1 Analyst 24E2 P2 Analyst 6E3 P3 Consultant 10E3 P4 Engineer 48E4 P2 Programme
r
18
E5 P2 Manager 24E6 P4 Manager 48E7 P3 Engineer 36E8 P3 Manager 40
Trang 23P4 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ệ PROJ1chứ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
PROJ1PN
O PNAME BUDGET LOCP1 Instrumentation 150000 MontrealP2 Database Develop.135000 New York
PROJ2PN
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
PROJ2PNO
PNAME LOC
P1 Instrumentation MontrealP2 Database Develop.New YorkP3 CAD/CAm New YorkP4 Maintenamce Paris
Trang 24lạ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 ∀ri
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ẽ đượcbả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 đảmbả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ộctí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ácmả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ặcchỉ 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ủacá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 đếncù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í
Trang 25Ngượ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ấntin 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ácthuậ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ácquan hệ Tuy nhiên trong các mô hình khác, như mô hình thực thể-quan hệ, các mốiliê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ốidạ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
Trang 26PAY( TITLE, SAL)
EMP( ENO, ENAME, TITLE ) PROJ( PNO, PNAME, BUDGET )
ASG( ENO, PNO, RESP, DUR )
Hình sau trình bày một cách biểu diễn các đường nối giữa các quan hệ PAY,EMP, PROJ và ASG
L1
L2
L3
Ở đây có ba đường nối L1, L2, L3 Ta có
owner(L1) = PAY và member(L1) = EMPowner(L2) = EMP và member(L2) = ASGowner(L3) = PROJ và member(L3) = ASG
Thông tin định lượng về CSDL, tức là lực lượng (cardinality) của mỗi quan hệ R, ký hiệu card(R).
• Thông tin về ứng dụng
Yêu cầu thông tin định tính lẫn định lượng về các ứng dụng Thông tin định tính địnhhướng cho hoạt động phân mảnh, còn thông tin định lượng sử dụng cho các mô hình cấpphát
Những thông tin định tính cơ bản gồm các vị từ được dùng trong các câu vấn tin Nếukhông thể phân tích được hết tất cả các ứng dụng đê xác định những vị từ này thì ít nhấtcũng phải nghiên cứu được các ứng dụng quan trọng nhất Một hướng dẫn quan trọng, gọi
là qui tắc 80/20, là “20% câu vấn tin sẽ chiếm đến 80% truy xuất dữ liệu”.
Cho quan hệ R(A1, , An) , trong đó Ai là một thuộc tính được định nghĩa trên miềngiá trị Di Một vị từ đơn giản p được định nghĩa trên R có dạng:
p: A iθ Value
Trong đó θ∈ { =, <, ≤, ≠, >, ≥ } và Value là giá trị được chọn từ miền Di
Trang 27Các câu vấn tin thường chứa nhiều vị từ phức tạp, là tổ hợp các vị từ đơn giản Một tổ
hợp cần đặc biệt chú ý được gọi là vị từ hội sơ cấp (minterm predicate), là hội (conjuction) của các vị từ đơn giản Bởi vì ta luôn có thể biến đổi một biểu thức bool thành dạng chuẩn hội (conjuctive normal form), việc sử dụng vị từ hội sơ cấp trong thuật
toán thiết kế không làm mất tính tổng quát
Cho một tập các vị từ đơn giản Pr = {p1, , pm} trên quan hệ R Tập các vị từ hội sơcấp M={m1, , mz} gồm các vị từ dạng
Theo những thông tin định tính về các ứng dụng, chúng ta cần biết hai tập dữ liệu
(1) Độ tuyển hội sơ cấp (minterm selectivity): Số lượng các bộ quan hệ sẽ được truy
xuất bởi câu vấn tin được đặc tả theo một vị từ hội sơ cấp đã cho Ta ký hiệu độ
tuyển của hội sơ cấp m là sel(m).
(2) Tần số truy xuất (access frequency): tần số ứng dụng truy xuất dữ liệu Cho
Q = { q1, q2, , qk } là tập các câu vấn tin, ký hiệu acc(q i ) biểu thị tần số truy xuất của
qi trong một khoảng thời gian đã cho Ta cũng ký hiệu tần số truy xuất của một hội sơ
cấp m là acc(m).
b) Phân mảnh ngang nguyên thuỷ
Phân mảnh ngang nguyên thuỷ được định nghĩa bằng một phép toán chọn trên cácquan hệ chủ nhân của một lược đồ CSDL
Cho quan hệ r , các mảnh ngang của r là các quan hệ con ri, i=1, ,k, với
r i = σFi(r), i=1, ,k trong đó Fi , i=1, ,k, là công thức chọn để có mảnh r i
Trang 28Ta cũng có thể định nghĩa các mảnh ngang sau đây
PRJ1 = σLOC=”Montreal”(PROJ)PRJ2 = σLOC=”New York”(PROJ)PRJ3 = σLOC=”Paris”(PROJ)
PRJ1PN
O PNAME BUDGET LOCP1 Instrumentation 150000 Montreal
PRJ2PN
O PNAME BUDGET LOCP2 Database Develop 135000 New YorkP3 CAD/CAm 250000 New York
PRJ3PN
O
PNAME BUDGE
T
LOCP4 Maintenamce 310000 Paris
Bây giờ ta có thể định nghĩa một mảnh ngang chặt chẽ hơn Một mảnh ngang r i của quan
hệ r có chứa tất cả các bộ của r thoả vị từ hội sơ cấp mi Như vậy, cho tập M các vị từhội sơ cấp, số mảnh ngang bằng số các vị từ hội sơ cấp trong tập M Tập các mảnh ngang
này gọi là tập các mảnh hội sơ cấp (minterm fragment).
Theo như đã phân tích, việc định nghĩa các mảnh ngang phụ thuộc vào các vị từ hội sơcấp Vì thế bước đầu tiên của mọi thuật toán phân mảnh là xác định tập các vị từ đơn giản
sẽ cấu thành các vị từ hội sơ cấp
Các vị từ đơn giản cần có các tính chất đầy đủ và cực tiểu.
• Tính đầy đủ: Tập các vị từ đơn giản Pr gọi là đầy đủ nếu và chỉ nếu xác suất
mỗi ứng dụng truy xuất đến một bộ bất kỳ thuộc về một mảnh hội sơ cấp nào đó được
định nghĩa theo Pr đều bằng nhau.
Ví dụ:
Xét phân mảnh PRJ1, PRJ2, PRJ3 ở ví dụ trước Nếu ứng dụng duy nhất truy xuấtPROJ muốn truy xuất các bộ theo vị trí, thì tập vị từ này là đầy đủ bởi vì mỗi bộ của mỗimảnh PRJi đều có xác suất truy xuất như nhau
Trang 29Tuy nhiên nếu có ứng dụng thứ hai chỉ truy xuất các bộ dự án có ngân sách trên
200000 USD thì tập vị từ
Pr = {LOC=”Montreal”, LOC=”New York”, LOC=”Paris” }
xác định các mảnh trên không còn đầy đủ nữa
Để cho tập vị từ đầy đủ ta phải thêm các vị từ vào Pr
Pr={LOC=”Montreal”, LOC=”New York”, LOC=”Paris”,
BUDGET≤200000, BUDGET>200000 }
Lý do cần phải đảm bảo tính đầy đủ là vì các mảnh thu được theo tập vị từ đầy đủ sẽ nhấtquán về mặt logic do tất cả chúng đều thoả vị từ hội sơ cấp Chúng cũng đồng nhất vềmặt thống kê theo cách mà các ứng dụng truy xuất chúng
• Tính cực tiểu:
Cho tập các vị từ đơn giản Pr Ta nói một vị từ là có liên đới (relevant) trong việc xác
định phân mảnh, nếu nó ảnh hưởng đến việc mảnh f bị phân thành f1 và f2 thì phải có ítnhất một ứng dụng truy xuất đến f1 và f2 theo cách khác nhau
Tập Pr gọi là cực tiểu nếu mọi vị từ trong nó là có liên đới.
♦Qui tắc 1 Một quan hệ hoặc một mảnh được phân hoạch thành ít nhất hai phần và
chúng được truy xuất khác nhau bởi một ứng dụng
Ký hiệu f(p) là mảnh sinh bởi vị từ p và F là tập các mảnh.
Thuật toán: COM_MIN
Đầu vào: Quan hệ r và tập các vị từ đơn giản Pr.
Đầu ra: Tập các vị từ Pr’ đầy đủ và cực tiểu.
Khai báo: F: tập các mảnh hội sơ cấp.