về vấn đề tổ chức sao cho kinh doanh cóhiệu quả nhất và nắm bắt thông tin nhanh nhất khi các cơ sở của công ty hiện ở nhữngđịa điểm xa nhau cho nên xây dựng một hệ thống làm việc trên cơ
Trang 1BÁO CÁO THU HOẠCH CHUYÊN ĐỀ
CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài:
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN
Giảng viên HD: SV thực hiện:
Lớp Cao học CNTT Qua mạng Khóa 6
TP HCM, 7/2012
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 1
CHƯƠNG 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 2
1.1 Cơ sở dữ liệu tập trung 2
1.2 Cơ sở dữ liệu phân tán 2
1.2.1 Định nghĩa 2
1.2.2 Các đặc điểm chính của cơ sở dữ liệu phân tán 4
1.2.2.1 Chia sẻ tài nguyên 4
1.2.2.2 Tính mở 4
1.2.2.3 Khả năng song song 5
1.2.2.4 Khả năng mở rộng 5
1.2.2.5 Khả năng thứ lỗi 5
1.2.2.6 Tính trong suốt 6
1.2.2.7 Đảm bảo tin cậy và nhất quán 6
1.2.3 Sự khác nhau cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung 6
1.2.4 Lợi điểm của cơ sở dữ liệu phân tán 9
1.2.5 Hệ quản trị cơ sở dữ liệu phân tán 9
CHƯƠNG 2 :THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 12
2.1 Các chiến lược thiết kế 12
2.1.1 Quá trình thiết kế từ trên xuống (top-down) 12
2.1.2- Quá trình thiết kế từ dưới tên (Bottom-up) 12
2.2.Các vấn đề thiết kế 12
2.2.1 Lý do phân mảnh 12
2.2.2.Các quy tắc phân mảnh đúng đắn 12
2.3 Các yêu cầu thông tin 13
2.4 Phân mảnh ngang 14
2.4.1 Hai kiểu phân mảnh ngang 14
2.4.2 Phân mảnh ngang nguyên thuỷ 14
2.4.2.1 Thuật toán COM_MIN 15
2.4.2.2 Thuật toán phorizontal 17
2.4.3 Phân mảnh ngang dẫn xuất 18
2.4.4 Kiểm định tính đúng đắn 19
2.5 Phân mảnh dọc 20
2.5.1 Các yêu cầu thông tin của phân mảnh dọc 21
2.5.2 Ái lực của các thuộc tính 22
2.5.4 Thuật toán phân mảnh dọc 25
2.5.4.1 Thuật toán PARTITION 26
2.6 - Phân mảnh hỗn hợp 27
CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MÔ PHỎNG 28
KẾT LUẬN 30
TÀI LIỆU THAM KHẢO 31
Trang 3LỜI MỞ ĐẦU
Vào những năm 1970, các máy tính đã có đủ khả năng xây dựng hệ thống thôngtin và hệ cơ sở dữ liệu Các hệ thống cơ sở dữ liệu (Database systems) đã khôngngừng phát triển và đã có những thành công lớn trong suốt hơn ba thập kỷ qua Ngàycàng có nhiều dữ liệu được thu thập và lưu trữ dưới dạng cơ sở dữ liệu lớn Một mặt
đã hình thành và phát triển các mô hình lý thuyết hệ cơ sở dữ liệu, mặt khác nhữngnguồn phát triển hệ thống ứng dụng cũng ngày càng lớn mạnh Hệ thống thông tinhình thành trên cơ sở kết nối các máy tính lại với nhau
Những năm gần đây, hệ cơ sở dữ liệu phân tán được phát triển mạnh trong thực
tế dựa trên sự phát triển của cơ sở dữ liệu (CSDL) và mạng máy tính Vì yêu cầu củacông ty, doanh nghiệp, đơn vị kinh doanh về vấn đề tổ chức sao cho kinh doanh cóhiệu quả nhất và nắm bắt thông tin nhanh nhất khi các cơ sở của công ty hiện ở nhữngđịa điểm xa nhau cho nên xây dựng một hệ thống làm việc trên cơ sở dữ liệu phân tán
là phù hợp xu hướng hiện nay vì hệ thống này thoả mãn được những yêu cầu tổ chứccủa đơn vị Lợi điểm về tổ chức và kỹ thuật của xu hướng phát triển cơ sở dữ liệuphân tán là: giải quyết được những hạn chế của cơ sở dữ liệu tập trung và phù hợp xuhướng phát triển tự nhiên với cơ cấu không tập trung của các tổ chức, công ty doanhnghiệp
CSDL phân tán ra đời dựa trên nền tảng chính của CSDL tập trung nhưng vớiđặc điểm riêng nổi bật là thiết kế theo phương pháp phân mảnh dữ liệu và sử dụng cácbản sao (replication), dữ liệu phân tán sẽ được cập nhật và lưu tại các nút (site), mỗinút tương ứng với một database server và chỉ thực hiện một số chức năng nhất định.Việc ứng dụng CSDL phân tán có thể khắc phục được các nhược điểm vốn có củaCSDL tập trung Ngoài ra, việc kết nối giữa các CSDL từ xa được thực hiện qua kếtnối database link sẽ đáp ứng được một số tiêu chuẩn cơ bản như cải thiện năng suấtthực hiện công việc, đảm bảo an toàn dữ liệu, giảm giá thành truyền thông, bảo mậtcao, dễ dàng thay đổi, phát triển, …
Trang 4CHƯƠNG 1: KHÁI QUÁT VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1 Cơ sở dữ liệu tập trung
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ệctham khảo, xử lý
Mỗi cơ sở dữ liệu cần có chương trình quản lý, xắp xếp, 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 khái 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 khái 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 khái 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 kháiniệm gọi là khung nhìn Như vậy sự khác nhau giữa khung nhìn và mức khái niệmkhông lớn
1.2 Cơ sở dữ liệu phân tán
1.2.1 Định nghĩa
Cơ sở dữ liệu phân tán (distributed database) là sự tập hợp dữ liệu mà về mặtluận lý chúng thuộc cùng một hệ thống nhưng được đặt ở nhiều nơi (site) của mộtmạng máy tính
Sự phân tán dữ liệu(data distribution): dữ liệu phải được phân tán ở nhiềunơi
Sự tương quan luận lý(logical correlation): dữ liệu của các nơi được sử dụngchung để cùng giải quyết một vấn đề
Về cơ bản thì CSDL phân tán được mô tả như 3 mô hình sau:
Trang 5Cơ sở dữ liệu phân tán trên một mạng phân tán địa lý
Cơ sở dữ liệu phân tán trên một mạng cục bộ
Trang 61.2.2 Các đặc điểm chính của cơ sở dữ liệu phân tán
1.2.2.1 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 đượ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 truycậ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,
1.2.2.2 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ântá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ủanhiề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ộttiêu chuẩn chung
Tính mở của hệ phân tán được xem như là mức độ bổ sung 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
Cơ sở dữ liệu phân tán trên hệ thống đa xử lý
Trang 7Tí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ínhcủ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áctiến trình và công khai các giao diện dùng để truy cập các tài nguyên chung
1.2.2.3 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ỗimá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ùngtồn 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â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ìnhhuố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ươ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
1.2.2.4 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 FileServer 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 độ nào đóvới hệ phân tán hiện tại Yêu cầu 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
1.2.2.5 Khả năng thứ lỗi
Việc thiết kế khả năng thứ lỗi của các hệ thống máy tính dựa trên hai giải pháp
cơ bản sau:
- 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 hồi phục 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 tanố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á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 đôiphầ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ẻ đượccung 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ộtServer nào đó, các ứng dụng Clien 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
Trang 8hiệ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áthiệ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 saihỏng phần cứng
1.2.2.6 Tính trong suốt
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ácthà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 ứngdụ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ệnbở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ácngườ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 đó.
1.2.2.7 Đả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ộ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ất quán
1.2.3 Sự khác nhau cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung
Cơ sở dữ liệu tập trung cùng với cơ sở dữ liệu không qua thiết kế hình thànhtrước khi có cơ sở dữ liệu phân tán Hai hình thức này phát triển trên cơ sở tự phát và
hệ thống tập trung Như vậy hai hình thức này không đáp ứng được yêu cầu tổ chức vàcông việc trên phạm vi lớ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 đốisá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 đượclợ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à điềukhiể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, hồi phục, điều khiển tương tranh, biệt lập và an toàn dữ liệu
Trang 9Đ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 địaphươ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 độngchươ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ậptrung 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àmviệ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
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ệctruy 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
Trang 10Trong 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 rabở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áncũ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, hồi phục và điều khiển tương tranh: Mặc dù trong cơ sở dữ liệu,
tính toàn vẹn, hồi phục và điều khiển đồng thời liên quan nhiều vấn đề liên quan lẫnnhau 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ảncủ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 quantrọ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ó haimối nguy hiểm của giao tác tự trị là lỗi và tương tranh
Tính biệt lập và an toàn: 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 có 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ệutậ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ảiquyế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ĩaquan trọng khi đề cập đến:
-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ìnhthay 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
1.2.4 Lợi điểm của cơ sở dữ liệu phân tán
Có nhiều nguyên nhân để phát triển cơ sở dữ liệu phân tán nhưng tựu trung lạichỉ gồm những điểm sau đây:
Lợi điểm 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
Trang 11kinh 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ữacá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 truycập đế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á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ý đanhiệ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ệunhư 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àmcho 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à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
Khả năng phục hồi nhanh chóng: Việc truy nhập dữ liệu không phụ thuộc vào
một máy hay một đường nối trên mạng Nếu có bất kỳ một lỗi nào hệ thống có thể
tự động chọn đường lại qua các đường nối khác
1.2.5 Hệ quản trị cơ sở dữ liệu phân tán
Hệ Quản trị CSDL phân tán (D–DBMS) là phần mềm quản trị CSDLPT và cungcấp cơ chế truy cập giúp người sử dụng không nhận biết được sự phân tán
Hệ CSDL phân tán (DDBS) = DDB + D– DBMS
DDBMS Hệ thống phát triển theo kiểu thương mại có sẵn được phát triển bởi
những người cung cấp hệ cơ sở dữ liệu tập trung Hệ cơ sở dữ liệu tập trung mở rộngbằng cách thêm vào những phần bổ xung qua cách cung cấp thêm đường truyền vàđiều khiển giữa các hệ quản trị cơ sở dữ liệu tập trung cài đặt ở những điểm khác nhautrên mạng máy tính Những phần mềm cần thiết cho việc xây dựng cơ sở dữ liệu phântán là:
Phần quản lý cơ sở dữ liệu ( Database Management - DB )
Phần truyền thông dữ liệu (Data Communication - DC )
Trang 12Từ điển dữ liệu được mở rộng để thể hiện thông tin về phân tán dữ liệu trongmạng máy tính (Data Dictionary - DD).
Phần cơ sở dữ liệu phân tán (Distributed Database DDB)
Các thành phần của hệ quản trị CSDLPT
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)
-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 tương tranh và điều khiển hồi phục 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 hai cách
cơ bản: Truy cập từ xa trực tiếp và gián tiếp
Trang 13Mô hình truy cập từ xa qua phương thức cơ sở của hệ quản trị cơ sở dữ liệu
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 ứngdụ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ằngcá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
Mô hình dưới đây mô tả cách thức truy cập phức tạp hơn (truy cập gián tiếp):
Theo mô hình truy cập này, chương trình ứng dụng thực hiện yêu cầu quachương trình phụ ở điểm khác Chương trình phụ này được người lập trình ứng dụngviế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ụngyê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áchtruy cập đều có ưu điểm của nó
Trang 14CHƯƠNG 2 :THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN2.1 Các chiến lược thiết kế
2.1.1 Quá trình thiết kế từ trên xuống (top-down)
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 về dữ liệu và nhu cầu xử lý của tất cả mọi người có sử dụng CSDL Thiết kếkhung nhìn: định nghĩa các giao- diện cho người sử dụng cuối (end- user)
Thiết kế khái niệm: xem xét tổng thể xí nghiệp nhằm xác định các loại
thực thể và mối liên hệ giữa các thực thể
Thiết kế phân tán: chia các quan hệ thành nhiều quan hệ nhỏ hơn gọi là
phân mảnh và cấp phát chúng cho các vị trí
Thiết kế vật 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
2.1.2- Quá trình thiết kế từ dưới tên (Bottom-up)
Thiết kế từ trên xuống thích hợp với những CSDL được thiết kế từ đầu
Tuy nhiên chúng ta cũng hay gặp trong thực tế là đã có sẵn một số CSDL,nhiệm vụ thiết kế là phải tích hợp chúng thành một CSDL 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 đồ khái
niệm cục bộ Quá trình này sẽ bao gồm việc tích hợp các lược đồ cục bộ thành khái
niệm lược đồ toàn cục
2.2.Các vấn đề thiết kế
2.2.1 Lý do phân mảnh
Khung nhìn của các ứng dụng thường chỉ là một tập con của quan hệ Vì thếđơn vị truy xuất không phải là toàn bộ quan hệ nhưng chỉ là các 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 sẽ là điều thích hợp duy nhất.Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý nhưmột đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời Ngoài ra việc phânmảnh các quan hệ sẽ cho phép thực hiện song song một câu vấn tin bằng cách chia
nó ra thành một tập các câu vấn tin con hoạt tác trên các mảnh Vì thế việc phânmảnh sẽ làm tăng mức độ hoạt động đồng thời và như thế làm tăng lưu lượng hoạtđộng của hệ thống
2.2.2.Các quy tắc phân mảnh đúng đắn
Chúng ta sẽ tuân thủ ba quy tắc trong khi phân mảnh mà chúng bảo đảm rằngCSDL sẽ không có thay đổi nào về ngữ nghĩa khi phân mảnh
Trang 15a) Tính đầy đủ (completeness).
Nếu một thể hiện quan hệ R được phân rã thành các mảnh R1, R2,…,Rn, thìmỗi mục dữ liệu có thể gặp trong R cũng có thể gặp một trong nhiều mảnh Ri Đặctính này giống như tính chất phân rã nối không mất thông tin trong chuẩn hoá, cũngquan trọng trong phân mảnh bởi vì nó bảo đảm rằng dữ liệu trong quan hệ Rđược ánh xạ vào các mảnh và không bị mất Chú ý rằng trong trường hợp phân mảnhngang "mục dữ liệu" muốn nói đến là một bộ, còn trong trường hợp phân mảnh dọc,
nó muốn nói đến một thuộc tính
b) Tính tái thiết được (reconstruction).
Nếu một thể hiện quan hệ R được phân rã thành các mảnh R1, R2,…,Rn, thìcần phải định nghĩa một toán tử quan hệ ∇ sao cho
R= ∇ Ri, Ri ∈ Fr
Toán tử ∇ thay đổi tuỳ theo từng loại phân mảnh, tuy nhiên điều trọng
là phải xác định được nó Khả năng tái thiết một quan hệ từ các mảnh của nó bảo đảm rằng các ràng buộc được định nghĩa trên dữ liệu dưới dạng các phụ thuộc sẽ được bảo toàn
c) Tính tách biệt (disjointness).
Nếu quan hệ R được phân rã ngang thành các mảnh R1, R2,…,Rn, và mục dữliệu di nằm trong mảnh Rj, thì nó sẽ không nằm trong mảnh Rk khác ( k ≠ j ) Tiêuchuẩn này đảm bảo các mảnh ngang sẽ tách biệt (rời nhau) Nếu quan hệ được phân
rã dọc, các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh Vì thế trongtrường hợp phân mảnh dọc, tính tách biệt chỉ được định nghĩa trên
các trường không phải là khoá chính của một quan hệ
2.3 Các yêu cầu thông tin
Một điều cần lưu ý trong việc thiết kế phân tán là quá nhiều yếu tố có ảnhhưởng đến một thiết kế tối ưu tổ chức logic của CSDL, vị trí các ứng dụng, đặc tínhtruy xuất của các ứng dụng đến CSDL, và các đặc tính của hệ thống máy tính tạimỗi vị trí đều có ảnh hưởng đến các quyết định phân tán Điều này khiến cho việcdiễn đạt bài toán phân tán trở nên hết sức phức tạp
Các thông tin cần cho thiết kế phân tán có thể chia thành bốn loại:
- Thông tin CSDL
- Thông tin ứng dụng
- Thông tin về mạng
- Thông tin về hệ thống máy tính
Hai loại sau có bản chất hoàn toàn định lượng và được sử dụng trong các môhình cấp phát chứ không phải trong các thuật toán phân mảnh
Trang 162.4.1 Hai kiểu phân mảnh ngang
Phân mảnh ngang chia một quan hệ r theo các bộ, vì vậy mỗi mảnh là một tậpcon các bộ t của quan hệ r
Phân mảnh nguyên thuỷ (primary horizontal fragmentation) 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ệ đó
Ngược lại phân mảnh ngang dẫn xuất (derived horizontal fragmentation ) làphân mảnh một quan hệ dựa vào các vị từ được định trên một quan hệ khác
Như vậy trong phân mảnh ngang tập các vị từ đóng vai trò quan trọng.
2.4.2 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êncác quan hệ chủ nhân của một lược đồ của CSDL Vì thế cho biết quan hệ R, cácmảnh ngang của R là các Ri:
150000135000250000310000
Montreal New York New York ParisChúng ta có thể định nghĩa các mảnh ngang dựa vào vi trí dự án Khi đó cácmảnh thu được, được trình bày như sau:
DA1=σĐịa điềm="Montreal"(DA)
DA2=σĐịa điềm="New York"(DA)
DA3=σĐịa điểm="Paris"(DA)