Hình 1.1: Mô hình cơ sở dữ liệu phân tán Trong CSDL phân tán có hai vấn đề quan trọng và tương đương nhau là: 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 đ
Trang 1Đại Học Công Nghệ Thông Tin
Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Trang 2Lời cảm ơn
Lời đầu tiên em xin chân thành cảm ơn thầy Đỗ Phúc đã truyền đạt cho em những bài học thật bổ ích với những câu truyện đầy tính sáng tạo và lý thú.
Cảm ơn nhà trường đã tạo điều kiện cho em cùng các bạn trong lớp có thể học tập
và tiếp thu những kiến thức mới.
Em cũng chân thành cảm ơn các bạn trong lớp đã chia sẻ cho nhau những tài liệu
và hiểu biết về môn học để cùng hoàn thành tốt môn học này.
Trong thời gian vừa qua mặc dù em đã cố gắng rất nhiều để hoàn thành tốt đề tài của mình, song chắc chắn kết quả không tránh khỏi những thiếu sót Em kính mong được
sự cảm thông và tận tình chỉ bảo của thầy.
TP.Hồ Chí Minh Tháng 8/2012
Học viên thực hiện
Trương Lê Hưng
Lớp Cao Học khóa 6
Trang 3Nhận xét
-Lời mở đầu
Trang 4Sự phát triển không ngừng của thông tin số đã nảy sinh nhiều vấn đề trong việclưu trữ và sử lý các thông tin dữ liệu với khối lượng lớn và phức tạp Do vậy, yêu cầu về
sử lý cơ sở dữ liệu ngày càng đòi hỏi việc thiết kế sao cho phù hợp và tiện dụng
Các hệ thống cơ sở dữ liệu tập trung truyền thống bộc lộ nhiều khuyết điểm nhưtăng khả năng lưu trữ thông tin khó bởi giởi hạn về bộ nhớ thiết bị, độ sẵn sàng phục vụcủa cơ sở dữ liệu không cao khi số người sử dụng tăng, khả năng tính toán của các máytính đơn lẻ đang dần tới giới hạn vật lý, mô hình lưu trữ, xử lý dữ liệu tập trung khôngphù hợp với các tổ chức hoạt động đa quốc gia Tuy nhiên những nhược điểm này đượckhắc phục khá nhiều trong hệ thống phân tán Do đó càng ngày các hệ thống phân tánxuất hiện càng nhiều đã chứng minh tính ưu việt của nó hơn hẳn các hệ thống tập trungtruyền thống
Trong nội dung bài tiểu luận này em xin được trình bày khái quát cơ sở lý thuyết
về cơ sở dữ liệu phân tán cũng như tập trung tìm hiểu về phân mảnh dọc, một trong cáccách phân mảnh trong cơ sở dữ liệu phân tán Nội dung bài tiểu luận bao gồm:
Phần 1 : Cơ sở lý thuyết về cơ sở dữ liệu phân tánPhần 2 : Thiết kế cơ sở dữ liệu phân tán
Phần 3 : Phân mảnh dọc trong cơ sở dữ liệu phân tánPhần 4 : Tổng kết và Demo
Trang 5Mục lục
Trang 6Phần I Cơ sở lý thuyết về cơ sở dữ liệu phân tán
Cơ sở dữ liệu (CSDL) phân tán là một tập hợp nhiều CSDL có liên quanlogic và được phân bố trên một mạng máy tính
Hình 1.1: Mô hình cơ sở dữ liệu phân tán
Trong CSDL phân tán có hai vấn đề quan trọng và tương đương nhau là:
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 CSDL phân tán với CSDL tập trung
Liên quan logic: Trong CSDL 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 logic Trong CSDL phân tánmỗi vị trí chỉ quản lý một CSDL và người sử dụng phải truy cập đến CSDL ởnhững vị trí khác để lấy thông tin tổng hợp
Đặc tính vô hình là sự tách biệt về ngữ nghĩa ở mức độ cao của hệ thốngvới các vấn đề cài đặt ở cấp độ thấp Ưu điểm của hệ CSDL vô hình là không
cho người dùng “nhìn thấy” các chi tiết cài đặt, hỗ trợ phát triển cho các ứng
dụng phức tạp
Trang 7Độc lập dữ liệu là dạng vô hình cơ bản cần có trong một hệ CSDL Sự độclập dữ liệu liên quan đến khả năng “miễn nhiễm” của các ứng dụng đối vớinhững thay đổi trong định nghĩa, tổ chức dữ liệu và ngược lại.
Vô hình kết mạng: Trong môi trường phân tán, hệ thống mạng là một loạitài nguyên quan trọng cần quản lý Thông thường, người dùng cần được táchkhỏi mọi chi tiết hoạt động của mạng, thậm chí người ta mong muốn che dấu
sự tồn tại của mạng nếu được Khi đó đối với người dùng sẽ không thấy sựkhác biệt giữa các ứng dụng chạy trên CSDL tập trung và các ứng dụng chạy
trên CSDL phân tán Kiểu vô hình này gọi là vô hình kết mạng (network transparency) hoặc vô hình phân bổ (distribution transparency).
Vô hình nhân bản: Vì những lý do về hiệu năng (performance), độ tin cậy
(reliability) và tính sẵn sàng (availability), người ta mong muốn có thể
nhân dữ liệu thành nhiều bản (nhân bản) trên các máy mạng Việc nhân bảngiúp tăng hiệu năng vì những yêu cầu sử dụng có xung đột và nằm rải rác cóthể đáp ứng kịp thời
Khi các đối tượng CSDL bị phân mảnh, chiến lược xử lý vấn tin là dựa trên
các mảnh chứ không phải quan hệ Như vậy câu vấn tin toàn cục (global query) phải được dịch thành câu vấn tin theo mảnh (fragment query).
- Ưu điểm:
o Dữ liệu gần với nơi xử lý -> Hiệu suất cao
o Tính sẵn sàng của hệ thống cao: Nếu một trạm bị lỗi sẽ không ảnhhưởng tới các trạm khác trong hệ thống
o Việc tăng các trạm sử dụng trong hệ thống là đơn giản nên việc mởrộng CSDL là dễ dàng
- Nhược điểm:
o Lưu trữ: Ngoài lược đồ CSDL như trong CSDL tập trung (Thuộctính, kiểu dữ liệu, …) còn thêm các lược đồ phân đoạn CSDL, lược
đồ định vị CSDL (cho biết các đoạn được lưu trữ ở đâu)
o Xử lý: Truy vấn tập trung là đơn giản còn truy vấn phân tán phứctạp
Trang 8o An toàn: CSDL được lưu trữ ở nhiều nơi nảy sinh vấn đề: đảm bảo
an toàn dữ liệu khi truyền qua mạng
Hệ quản trị CSDL 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àmcho việc phân tá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ủamộ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 đượcche dấu với người sử dụng làm cho người sử dụng truy nhập vào CSDL phântán như hệ CSDL tập trung Sự thay đổi việc quản trị không ảnh hưởng tớingười sử dụng
Hệ quản trị CSDL phân tán gồm 1 tập các phần mềm (chương trình) sau:
• Các chương trình quản trị các dữ liệu phân tán
• Chứa các chương trình để quản trị việc truyền thông dữ liệu
• Các chương trình để quản trị các CSDL địa phương
• Các chương trình quản trị từ điển dữ liệu
Để tạo ra một hệ CSDL phân tán (Distributed Database System-DDBS) cáctậ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ấtqua một giao diện chung
Môi trường hệ CSDL phân tán là môi trường trong đó dữ liệu được phântán trên một số vị trí
Trang 9Hình 1.2: Mô hình Peer-to-Peer
File server một số máy dịch vụ file được gán trực tiếp vào mạng LAN File server là một thiết bị quản lý các hoạt động file và phục vụ các máytính cá nhân được kết nối trong mạng LAN
Mỗi máy cá nhân được phân chia một dung lượng cố định trên ổ cứng củaFile server, chương trình ở các máy tính cá nhân có thể tham chiếu đến các filetrên phần đĩa tương ứng của nó bằng một đặc tả đường dẫn
Những hạn chế của File server như: Dữ liệu di chuyển trên mạng quá nhiều,việc kiểm soát dữ liệu là phi tập trung, các máy trạm phải đủ mạnh
Hình 1.3: Mô hình file Server
Một số máy dịch vụ file được gán trực tiếp vào mạng LAN:
Trang 10Server có chức năng điều khiển, lưu trữ CSDL, xử lý các truy vấn và quản
lý việc khai thác tài nguyên trên mạng của các máy tính khác
Thuật ngữ client được sử dụng để chỉ người khai thác tài nguyên mạng
Hình 1.4: Mô hình Client/Server
Cấu trúc mẫu của một cơ sở dữ liệu phân tán có dạng:
Hình 1.5: Cấu trúc mẫu của một cơ sở dữ liệu phân tán
- Lược đồ toàn cục:
o Xác định toàn bộ dữ liệu được lưu trữ trong CSDLPT
o Được định nghĩa như trong CSDL tập trung
o Trong mô hình quan hệ: lược đồ toàn cục là các quan hệ và mối liênkết giữa chúng
- Lược đồ phân đoạn:
Trang 11o Mỗi quan hệ tổng thể có thể được chia thành các phần không giao
nhau gọi là phân đoạn (Fragment)
o Có nhiều cách khác nhau để phân đoạn: Phân đoạn dọc, phân đoạnngang, phânđoạn hỗn hợp
o Các đoạn được mô tả bằng tên của quan hệ tổng thể cùng với chỉmục đoạn Ví dụ Ri là đoạn thứ i của quan hệ toàn cục R
- Lược đồ định vị:
o Xác định đoạn dữ liệu nào được định vị tại trạm nào trên mạng
o Ri : Cho biết đoạn thứ i của quan hệ tổng thể R được định vị trêntrạm j
- Lược đồ ánh xạ địa phương:
o Ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm
Trang 12Phần II Thiết kế cơ sở dữ liệu phân tán
Tất cả các dữ liệu được tập trung tại một chỗ, cách này đơn giản nhưng có
3 nhược điểm:
• Dữ liệu không sẵn sàng cho người sử dụng truy nhập từ xa,
• Chi phí truyền thông lớn, thường làm cực đại việc truy nhập dữ liệutới nơi tập trung
CSDL được phân thành 2 phần: quan trọng và ít quan trọng
• Phần ít quan trọng được lưu giữ một nơi
• Phần quan trọng được lưu trữ ở nhiều nơi khác
Phương pháp thiết kế từ trên xuống là phương pháp thiết kế từ tổng thể đếnriêng biệt, phân ra một hệ thống lớn thành các hệ thống con và các công việcđược tiến hành như sau:
Trang 13Phân tích các yêu cầu nhằm định nghĩa môi trường hệ thống và thu thậpcác yêu cầu về dữ liệu, cũng như các nhu cầu xử lý của các trạm có sử dụngCSDL
Phân tích yêu cầu cũng xác định xem hệ thống cuối cùng sẽ như thế nào sovới các mục tiêu của một hệ quản trị CSDL phân tán đã được phân tích Nhữngmục tiêu này được định nghĩa theo các vấn đề về hiệu quả hoạt động, độ tincậy, tính có sẵn, tính kinh tế, và tính linh hoạt
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 và thiết kế khái niệm
Thiết kế khung nhìn là định nghĩa các giao diện cho người sử dụng ở cáctrạm
Thiết kế khái niệm là một tiến trình kiểm tra và xác định rõ hai nhóm quanhệ:
Phân tích chức năng và phân tích thực thể Phân tích chức năng là xác địnhcác chức năng của hệ thống và đưa ra các chức năng cơ sở Phân tích thực thể
là xác định các tập thực thể, các thuộc tính và các mối quan hệ giữa chúng Kết quả của thiết kế khung nhìn và thiết kế khái niệm là hai quá trình cầnđố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ữngthực thể nào
Thiết kế khái niệm có thể diễn giải như là sự tích hợp các khung nhìn củangười sử dụng Dù rằng hoạt động tích hợp khung nhìn này hết sức quan trọng,
mô hình khái niệm phải hỗ trợ không chỉ những ứng dụng hiện có mà còn có
cả những ứng dụng trong tương lai Tích hợp khung nhìn được sử dụng nhằmđảm bảo rằng 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
Trang 14Hình 2.1: Sơ đồ thiết kế cơ sở dữ liệu phân tán theo mô hình từ trên xuống
Trong các hoạt động thiết kế khái niệm và thiết kế khung nhìn, người sửdụng 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 sẽ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 các thôngtin khác nhau,…
Lược đồ khái niệm toàn cục và thông tin về kiểu mẫu truy xuất thu đượctrong thiết kế khung nhìn sẽ là nguyên liệu cho bước thiết kế phân tán Mục
Trang 15tiêu của giai đoạn này là thiết kế các lược đồ khái niệm cục bộ bằng cách phântá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 (fragmentation) và cấp phát (allocation)
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 phải theodõi, hiệu chỉnh thường xuyên Vì thế chúng ta cũng đưa vấn đề quan sát vàtheo dõi như một hoạt động chính trong quá trình này Cần chú ý rằng chúng takhông chỉ theo dõi vấn đề cài đặt cơ sở dữ liệu mà còn phải quan sát theo dõitính thích hợp của các khung nhìn của người sử dụng Kết quả này có tác dụngphản hồi, tạo tiền đề cho tái thiết kế về sau
Phương pháp thiết kế trên xuống thực sự có hiệu quả khi xây dựng một hệthống mới Trong thực tế, một số CSDL đã tồn tại trước được tổ chức trongmôi trường tập trung và CSDL phân tán được phát triển bằng cách liên kếtchúng lại thành một CSDL mới thống nhất (Các DBMS địa phương khác nhau
đã được sử dụng)
Cách thiết kế:
• Chọn một mô hình dữ liệu chung để mô tả lược đồ tổng thể
• Chuyển mỗi lược đồ địa phương theo mô hình dữ liệu chung đã chọn
• Tích hợp các lược đồ địa phương vào lược đồ tổng thể
Khung nhìn hoặc đơn vị truy xuất của các ứng dụng không phải là toàn bộquan hệ mà thường là một mảnh
Việc phân rã một quan hệ thành nhiều mảnh, 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
Trang 16Việc phân mảnh các quan hệ sẽ cho phép thực hiện song song một câu vấntin 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ácmảnh.
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 nằm tại những vị trí khác thì có hai cách chọn lựa đơn vị phân tán: hoặc
là toàn bộ quan hệ hoặc quan hệ được lưu ở một vị trí có chạy ứng dụng Nhận xét: Chọn lựa thứ nhất gây ra một số lượng lớn các truy xuất khôngcần thiết đến dữ liệu ở xa Chọn lựa sau sẽ gây ra nhiều vấn đề khi cập nhật vàlãng phí không gian lưu trữ
Khuyết điểm của việc phân mảnh:
- Nếu ứng dụng có những yêu cầu ngăn cản việc phân rã thành các mảnh đểđược sử dụng độc quyền, thì những ứng dụng có các khung nhìn được địnhnghĩa trên nhiều mảnh sẽ bị giảm hiệu suất hoạt động
- Nếu một khung nhìn đòi hỏi thông tin ở nhiều mảnh thì việc truy xuất dữliệu để nối lại sẽ có chi phí cao
- Kiểm soát dữ liệu ngữ nghĩa (semantic data control): Do kết quả của
phân mảnh, các thuộc tính tham gia vào một phụ thuộc có thể bị phân rã vàocác mảnh khác nhau và được cấp phát cho những vị trí khác nhau Trongtrường hợp này, một nhiệm vụ đơn giản như kiểm tra các phụ thuộc cũng phảithực hiện truy tìm dữ liệu ở nhiều vị trí
Thể hiện của các quan hệ chính là các bảng, vì thế vấn đề là tìm những cáchkhác nhau để chia một bảng thành nhiều bảng nhỏ hơn
Có ba kiểu phân mảnh khác nhau:
• Phân mảnh ngang (horizontal fragmentation)
• Phân mảnh dọc (vertical fragmentation)
• Phân mảnh hỗn hợp (hibrid fragmentation)
Trang 17thực hiện dựa trên các vị từ được định nghĩa trên quan hệ Ngược lại, phânmảnh ngang dẫn xuất là phân ra một quan hệ dựa vào các vị từ được địnhnghĩa trên một quan hệ khác.
Một phân mảnh dọc cho một quan hệ r sinh ra các mảnh r1, r2,…., rn mỗimảnh chứa một tập con thuộc tính của R và cả khóa của r Mục đích của phânmảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ nhỏ hơn đểnhiều ứng dụng có thể chỉ chạy trên một quan hệ Một phân mảnh tối ưu là mộtphân mảnh sinh ra một lược đồ phân mảnh cho phép giảm đến tối đa thời gianthực thi các ứng dụng chạy trên các mảnh đó
Phần tiếp theo của tiểu luận sẽ đề cập chi tiết về phân mảnh dọc
Trong thực tế, hầu hết các trường hợp phân mảnh ngang hay phân mảnhdọc đơn giản của CSDL không thỏa mãn yêu cầu người sử dụng ThườngCSDL được phân mảnh dọc sau đó phân mảnh ngang, tạo ra sự phân chia theocấu trúc cây Chiến lược phân mảnh này gọi là phân đoạn lai hay phân mảnhtrộn, hay phân mảnh lồng
Trang 18Phần III Phân mảnh dọc trong cơ sở dữ liệu phân tán
Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh R1, R2,…, Rr mỗimảnh chứa một tập con thuộc tính của R và cả khoá của R Mục đích của phânmảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ nhỏ hơn đểnhiều ứng dụng chỉ cần chạy trên một mảnh Một phân mảnh "tối ưu" là phânmảnh sinh ra một lược đồ phân mảnh cho phép giảm tối đa thời gian thực thicác ứng dụng chạy trên mảnh đó Do vậy bài toán phân mảnh không chỉ là bàitoán của hệ cơ sở dữ liệu phân tán mà còn là bài toán của cơ sở dữ liệu tậptrung
Kỹ thuật phân mảnh dọc phức tạp hơn so với kỹ thuật phân mảnh ngang.Điều này là do tổng số chọn lựa có thể của một phân hoạch dọc rất lớn
Để có được các lời giải tối ưu cho bài toán phân hoạch dọc thực sự rất khókhăn Vì thế phải dùng 2 phương pháp heuristic phân mảnh dọc các quan hệtoàn cục
- Phương pháp nhóm: Bắt đầu bằng cách gán mỗi thuộc tính cho một
mảnh, và tại mỗi bước, nối một số mảnh lại cho đến khi thỏa một tiêu chuẩnnào đó
- Phương pháp tách mảnh: Bắt đầu bằng một quan hệ và quyết định cách
phân mảnh có lợi dựa trên hành vi truy xuất của các ứng dụng trên các thuộctính
Bởi vì phân hoạch dọc đặt vào một mảnh các thuộc tính thường được truyxuất chung với nhau, chúng ta cần có một giá trị đo nào đó để định nghĩa chínhxác hơn về khái niệm "chung với nhau' Số đo này gọi là tụ lực hay lực hút(affmity) của thuộc tính, chỉ ra mức độ liên đới giữa các thuộc tính
Yêu cầu dữ liệu chính có liên quan đến các ứng dụng là tần số truy xuất củachúng gọi Q={q1, q2,…,qq} là tập các vấn tin của người dùng (các ứng dụng)
sẽ chạy trên quan hệ R(A1, A2,…,An) Thế thì với mỗi câu vấn tin qi và mỗi