Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không được cư trú ở một nơi mà cư trú trên nhiều trạm thuộc mạng máy tính, điều này giúp chúng ta phân biệt CSDL phân tán với CSDL
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ LAN ANH
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN ĐỂ TỔ CHỨC
KHAI THÁC THÔNG TIN VỀ GIAO THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2014
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
NGUYỄN THỊ LAN ANH
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN ĐỂ TỔ CHỨC
KHAI THÁC THÔNG TIN VỀ GIAO THÔNG
CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS TS ĐỖ TRUNG TUẤN
Thái Nguyên - 2014
Trang 3Lời cảm ơn
Để hoàn thành chương trình cao học và viết luận văn này, em đã nhận được sự giúp đỡ và đóng góp nhiệt tình của các thầy cô trường Đại học Công nghệ Thông tin
và Truyền Thông, Đại học Thái Nguyên
Trước hết, em xin chân thành cảm ơn các thầy cô trong bộ phận Đào tạo sau đại học, Đại học Công nghệ thông tin và Truyền thông, trường Đại học Thái Nguyên đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong suốt những năm học qua Em xin gửi lời biết ơn sâu sắc tới PGS TS Đỗ Trung Tuấn đã dành rất nhiều thời gian và tâm huyết hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện đề tài
Xin chân thành cảm ơn gia đình, bạn bè đã nhiệt tình ủng hộ, giúp đỡ, động viên cả về vật chất lẫn tinh thần trong thời gian học tập và nghiên cứu
Trong quá trình thực hiện luận văn, mặc dù đã rất cố gắng nhưng cũng không tránh khỏi những thiếu sót Kính mong nhận được sự cảm thông và tận tình chỉ bảo của các thầy cô và các bạn
Trang 4Lời cam đoan
Luận văn thạc sỹ này tôi nghiên cứu và thực hiện dưới sự hướng dẫn của PGS.TS Đỗ Trung Tuấn Để hoàn thành bản luận văn này, ngoài các tài liệu đã liệt
kê, tôi cam đoan không sao chép các công trình hoặc đồ án tốt nghiệp của người khác
Tác giả
NGUYỄN THỊ LAN ANH
Trang 5MỤC LỤC
Lời cảm ơn i
Lời cam đoan iv
MỤC LỤC v
Danh mục hình vẽ vii
Danh mục các từ viết tắt viii
MỞ ĐẦU 1
CHƯƠNG 1 3
CƠ SỞ DỮ LIỆU PHÂN TÁN 3
1.1 Cơ sở dữ liệu tập trung 3
1.2 Cơ sở dữ liệu phân tán 3
1.2.1 Khái niệm cơ sở dữ liệu phân tán 3
1.2.3 Các hình thức tổ chức hệ thống phân tán 4
1.2.4 Ưu nhược điểm của hệ phân tán 6
1.2.5 Kiến trúc cơ bản của CSDL phân tán 6
1.3 So sánh cơ sở dữ liệu phân tán và cơ sở dữ liệu tập trung 9
1.4 Sự cần thiết của cơ sở dữ liệu phân tán 12
1.5 Kết luận chương 14
CHƯƠNG 2 15
THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN 15
2.1 Các vấn đề về phân mảnh dữ liệu 15
2.1.1 Lý do phân mảnh 15
2.1.2 Các kiểu phân mảnh 16
2.1.3 Mức độ phân mảnh 16
2.1.4 Các quy tắc phân mảnh 17
2.1.5 Các kiểu cấp phát 17
2.1.6 Các yêu cầu thông tin 18
2.2 Các phương pháp phân mảnh 19
2.2.1 Phân mảnh dữ liệu ngang 19
2.2.2 Phân mảnh dọc 24
2.2.3 Phân mảnh hỗn hợp 27
2.3 Cấp phát 27
2.3.1 Bài toán cấp phát 27
2.3.2 Yêu cầu về thông tin 28
2.3.3 Mô hình cấp phát 29
2.4 Truy vấn trong cơ sở dữ liệu phân tán 31
2.4.1 Mục đích của xử lý truy vấn 31
2.4.2 Các tầng của quá trình xử lý truy vấn 32
2.5 Kĩ thuật thực hiện phép nối và phép hợp của đại số quan hệ 33
2.5.1 Phép chọn 35
2.5.2 Phép nối 36
2.5.3 Phân mảnh 38
Trang 62.7 Kết luận chương 43
CHƯƠNG 3 44
THIẾT KẾ CƠ SỞ DỮ LIỆU VỀ CÁC CUNG ĐƯỜNG THÁI NGUYÊN 44
3.1 Phát biểu bài toán 44
3.2 Thiết kế cơ sở dữ liệu phân tán các cung đường 45
3.2.1 Thiết kế lược đồ quan hệ tổng thể 45
3.2.2 Thiết kế phân mảnh 52
3.2.3 Thiết kế định vị 54
3.2.4 Thiết kế sơ đồ ánh xạ địa phương 54
3.2.5 Thiết kế hệ thống mạng cho hệ thống 55
3.3 Cài đặt ứng dụng 56
3.3.1 Cấu hình các Server 56
3.3.2 Môi trường hoạt động 57
3.3.3 Công nghệ sử dụng 57
3.4 Giới thiệu chương trình 59
3.4.1 Mục tiêu mà hệ thống đạt được 59
3.4.2.Cấu trúc chương trình 59
3.4.3 Một số giao diện chính 60
3.5 Kết luận chương 61
KẾT LUẬN 62
Kết quả đạt được 62
Hướng nghiên cứu tiếp 62
Tài liệu tham khảo 63
Trang 7Danh mục hình vẽ
Hình 1.1 Mô hình CSDL phân tán 4
Hình 1.2 Mô hình Peer-to-peer 4
Hình 1.3 Mô hình File Server 5
Hình 1.4 Mô hình Client Server 5
Hình 1.5 Kiến trúc cơ bản của CSDL phân tán 6
Hình 1.6 Các phân mảnh và mô hình vật lý cho một quan hệ toàn cục 8
Hình 2.1 So sánh các phương pháp nhân bản 18
Hình 2.1 Lược đồ phân tầng tổng quát để xử lý truy vấn phân tán 33
Hình 2.2 Rút gọn phân mảnh ngang với phép chọn 35
Hình 2.3a Cây đại số quan hệ truy vấn gốc 37
Hình 2.3b Rút gọn phân mảnh ngang với phép kết nối 38
Hình 2.5 Rút gọn cho phân mảnh gián tiếp 42
Hình 2.6 Rút gọn phân mảnh hỗn hợp 43
Hình 3.1 Tỉnh Thái Nguyên 44
Hình 3.2 Cần thiết an toàn giao thông 45
Bảng 1 Cấu trúc bảng HUYEN 46
Bảng 2 Cấu trúc bảng DUONG 47
Bảng 3 Cấu trúc bảng LOAIMADUONG 47
Bảng 4 Cấu trúc bảng KIEUDUONG 48
Bảng 5 Cấu trúc bảng TOCHUCGIAOTHONG 48
Bảng 6 Cấu trúc bảng MUCDOHUHONG 49
Bảng 7 Cấu trúc bảng LOAIBAOTRI 49
Bảng 8 Cấu trúc bảng DONVITHICONG 50
Bảng 9 Cấu trúc bảng THONGTINBAOTRI 51
Hình 3.3 Sơ đồ về mối quan hệ 51
Hình 3.3 Sơ đồ định vị của các mảnh tại các vị trí 54
Hình 3.3 Các mảnh và hình ảnh vật lý của một quan hệ tổng thể 55
Hình 3.3 Mô hình mạng của hệ thống quản lí các cung đường 56
Hình 3.7 Giao diện form quản lý thông tin cung đường 60
Hình 3.8 Giao diện form quản lý thông tin bảo trì 61
Hình 3.9 Giao diện form tìm kiếm cung đường 61
Trang 8Danh mục các từ viết tắt
DBMS Database Management System
Digital Subscriber Line
CPU Central Processing Unit
DB2 Hệ quản trị cơ sở dữ liệu DB2 của IBM DHM Highway Development and Management
System
IMS Information Management System
MDX Multidimensional eXpressions
ORACLE Hệ quản trị cơ sở dữ liệu ORACLE
PC Máy vi tính, máy cá nhân
XML Extensible Markup Language
Trang 9MỞ ĐẦU
Trong hệ thống kết cấu hạ tầng kinh tế - xã hội, hạ tầng giao thông vận tải đóng vai trò rất quan trọng trong việc tạo điều kiện đi lại thuận lợi cho nhân dân, giao thương hàng hóa, thúc đẩy tăng trưởng kinh tế, giảm nhẹ thiên tai, phòng thủ quốc phòng, cải thiện đời sống cho nhân dân, do đó phải ưu tiên phát triển Nhiều cung đường liên tỉnh, liên huyện, liên xã được bảo trì, nâng cấp, nhiều cung đường mới được mở rộng Vì vậy khối lượng thông tin về giao thông ngày càng lớn, phong phú và đa dạng, cần phải quản lý thông tin này một cách khoa học
Hiện tại, Sở Giao thông Thái Nguyên quản lý các thông tin này theo cách thức sau: các đơn vị quản lý giao thông tại các cung đường thường xuyên có báo cáo về các Sở giao thông như: lưu lượng tham gia giao thông, số vụ tai nạn xảy ra, chất lượng các cung đường, công tác bảo dưỡng duy tu, giám sát cung đường, Với và cách thức tổ chức đó sẽ tốn thời gian và dữ liệu có thể không đồng bộ
Để khắc phục những nhược điểm trên cần áp dụng công nghệ thông tin vào
trong quá trình quản lý Vì vậy tôi đã chọn đề tài “Thiết kế cơ sở dữ liệu phân tán để
tổ chức khai thác thông tin về giao thông” làm đề tài luận văn tốt nghiệp của mình
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài gồm: Nghiên cứu về CSDL phân tán, thiết kế CSDL phân tán như: các vấn đề về thiết kế phân tán, các phương pháp thiết kế phân tán, phương pháp phân mảnh, cấp phát cho các mảnh, … tìm hiểu Các thông tin về giao thông Ứng dụng lý thuyết thiết kế CSDL phân tán vào hệ thống Ứng dụng khả năng quản trị CSDL phân tán của SQL Server và Visual Studio vào hệ thống
Trong phạm vi thực hiện của đề tài sẽ phân tích, thiết kế cơ sở dữ liệu các cung đường trên địa bàn tỉnh Thái Nguyên
Trang 10Hướng nghiên cứu của đề tài : Nghiên cứu và ứng dụng CSDL phân tán, tìm
hiểu, thu thập các thông tin về giao thông Từ những thông tin thu thập được phân tích, thiết kế CSDL phân tán để quản lý các thông tin đó
Phương pháp nghiên cứu : Để thực hiện được mục tiêu và nhiệm vụ đặt ra
trong đề tài, tôi áp dụng hai phương pháp nghiên cứu đó là: phương pháp nghiên cứu lý thuyết và phương pháp nghiên cứu thực nghiệm Đối với phương pháp nghiên cứu lý thuyết: tôi tiến hành nghiên cứu và thu thập các tài liệu liên quan đến CSDL phân tán, thiết kế CSDL phân tán, các công cụ có thể triển khai quản trị CSDL phân tán Tiếp đến tôi thu thập các tài liệu liên quan đến thông tin về hệ thống các cung đường Đối với phương pháp thực nghiệm: tôi phân tích yêu cầu thực tế của hệ thống và để xác định được các chức năng, quy trình hoạt động của hệ thống Tiếp theo vận dụng cơ sở lý thuyết liên quan như CSDL phân tán, thiết kế CSDL phân tán vào thiết kế hệ thống, sử dụng công cụ SQL Server và Visual Studio để quản trị CSDL phân tán và công cụ thiết kế giao diện và cuối cùng đánh giá kết quả đạt được
Ý nghĩa khoa học của đề tài : Việc ứng dụng CSDL phân tán để quản lý dữ liệu về các cung đường hiện nay là vấn đề quan trọng và cần thiết cho những người làm công tác quản lý giao thông vận tải có cái nhìn chính xác, và đưa ra quyết định kịp thời
Bố cục của luận văn
Luận văn chia thành các chương:
1 Chương 1: Tổng quan về cơ sở dữ liệu phân tán
2 Chương 2: Thiết kế cơ sở dữ liệu phân tán
3 Chương 3: Thiết kế, xây dựng cơ sở dữ liệu các cung đường tại Thái Nguyên
Cuối luận văn là phần kết luận và tài liệu tham khảo
Trang 11CHƯƠNG 1
CƠ SỞ DỮ LIỆU PHÂN TÁN
1.1 Cơ sở dữ liệu tập trung
Trong mô hình CSDL tập trung, các thành phần xử lý ứng dụng, phần mềm cơ
sở dữ liệu và bản thân CSDL đều ở trên một bộ xử lý
Ví dụ người dùng máy tính cá nhân có thể chạy các chương trình ứng dụng có
sử dụng phần mềm cơ sở dữ liệu Oracle để truy nhập tới cơ sở dữ liệu nằm trên đĩa cứng của máy tính cá nhân đó Từ khi các thành phần ứng dụng, phần mềm cơ sở
dữ liệu và bản thân cơ sở dữ liệu cùng nằm trên một máy tính thì ứng dụng đã thích hợp với mô hình tập trung
Hầu hết công việc xử lý luồng thông tin chính được thực hiện bởi nhiều tổ chức mà vẫn phù hợp với mô hình tập trung Ví dụ một bộ xử lý mainframe chạy phần mềm cơ sở dữ liệu IMS hoặc DB2 của IBM có thể cung cấp cho các trạm làm việc ở các vị trí phân tán sự truy nhập nhanh chóng tới cơ sở dữ liệu trung tâm Tuy nhiên trong rất nhiều hệ thống như vậy, cả 3 thành phần của ứng dụng cơ sở dữ liệu đều thực hiện trên cùng một máy mainframe do vậy cấu hình này cũng thích hợp với mô hình tập trung
1.2 Cơ sở dữ liệu phân tán
1.2.1 Khái niệm cơ sở dữ liệu phân tán
Một CSDL phân tán là một tập hợp nhiều CSDL có liên đới logic và được phân bố trên một mạng máy tính
Tính chất phân tán: Toàn bộ dữ liệu của CSDL phân tán không được
cư trú ở một nơi mà cư trú trên nhiều trạm thuộc mạng máy tính, điều này giúp chúng ta phân biệt CSDL phân tán với CSDL tập trung đơn lẻ
Tương quan logic: Toàn bộ dữ liệu của CSDL phân tán có một số các
thuộc tính ràng buộc chúng với nhau, điều này giúp chúng ta có thể
Trang 12phân biệt một CSDL phân tán với một tập hợp CSDL cục bộ hoặc các
tệp cƣ trú tại các vị trí khác nhau trong một mạng máy tính [03]
Đây là mô hình mạng đơn giản, phù hợp với những hệ thống mạng nhỏ không
có yêu cầu cao về bảo mật
Trang 13b) Mô hình File Server
Máy chủ tệp một số máy dịch vụ tệp được gán trực tiếp vào mạng LAN, máy chủ tệp là một thiết bị quản lý các hoạt động tệp và phục vụ các máy tính cá nhân được kết nối trong mạng LAN Mỗi máy cá nhân được phân chia một dung lượng
cố định trên ổ cứng của máy chủ tệp, chương trình ở các máy tính cá nhân có thể tham chiếu đến các tệp trê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 máy chủ tệp 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
c) Mô hình Client/Server
Một số máy dịch vụ tệp được gán trực tiếp vào mạng LAN: Server 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
Trang 141.2.4 Ưu nhược điểm của hệ phân tán
- Ưu điểm: Đáp ứng nhanh hầu hết các ứng dụng sử dụng dữ liệu tại các trạm
Tăng cường các đơn thể ứng dụng và CSDL mà không làm cản trở người sử dụng hiện tại Kiểm soát dữ liệu địa phương theo hướng hoàn thiện sự tích hợp
và quản trị dữ liệu từ xa Tăng cường khả năng của hệ thống liên quan đến sự dư thừa dữ liệu
- Nhược điểm: Phần mềm đắt và phức tạp Phải xử lý các thay đổi thông báo trong
mọi địa điểm Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ liệu được phân bố khắp mọi nơi Đáp ứng chậm nhu cầu của các trạm trong trường hợp các phần mềm ứng dụng không được phân bố phù hợp với việc sử dụng chung
1.2.5 Kiến trúc cơ bản của CSDL 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 vậy kiến trúc này thể hiện tổ chức của bất kỳ một CSDL phân tán nào
Hình 1.5 Kiến trúc cơ bản của CSDL phân tán
Người ta xét các khái niệm sau [2]
Sơ đồ 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
Trang 15(1) Lược đồ toàn cục
Lược đồ toàn cục định nghĩa tất cả dữ liệu được chứa trong cơ sở dữ liệu phân tán như trong cơ sở dữ liệu tập trung Vì vậy, lược đồ toàn cục được định nghĩa chính xác như định nghĩa lược đồ cơ sở dữ liệu tập trung Tuy nhiên, mô hình dữ liệu lược đồ toàn cục cần phải tương thích với việc định nghĩa các ánh xạ tới các mức của cơ sở dữ liệu phân tán Vì vậy mô hình dữ liệu quan hệ sẽ được sử dụng trong kiến trúc mô hình tham chiếu cơ sở dữ liệu phân tán, định nghĩa một tập các quan hệ toàn cục
(2) Lược đồ phân mảnh
Mỗi quan hệ toàn cục có thể chia thành nhiều phần không chồng lặp lên nhau được gọi là phân mảnh Ánh xạ giữa các quan hệ toàn cục và phân mảnh được định nghĩa là lược đồ phân mảnh Ánh xạ này là mối quan hệ một-nhiều Ví dụ, nhiều phân mảnh tương ứng với một quan hệ toàn cục, nhưng chỉ một quan hệ toàn cục tương ứng với một phân mảnh Các phân mảnh được chỉ ra bằng tên của quan hệ toàn cục với một chỉ số (chỉ số phân mảnh) Ví dụ, Ri chỉ đến phân mảnh thứ i trong quan hệ toàn cục R
Các kiểu phân mảnh dữ liệu bao gồm phân mảnh ngang và phân mảnh dọc và một kiểu phân mảnh phức tạp hơn là sự hết hợp của 2 loại trên Trong tất cả các kiểu phân mảnh, một phân mảnh có thể được định nghĩa bằng một biểu thức ngôn ngữ quan hệ cho các quan hệ toàn cục như là các toán hạng và kết quả đầu ra là các phân mảnh
(3) Lược đồ cấp phát
Các phân mảnh là những phần logic của các quan hệ toàn cục được chứa ở một hay nhiều trạm trong mạng Lược đồ cấp phát xác định các phân mảnh được chứa ở những trạm nào Tất cả các phân mảnh tương ứng với cùng một quan hệ R
và được lưu ở dùng một trạm j tạo thành một mô hình vật lý của quan hệ toàn cục lên trạm j Do đó, có một ánh xạ một-một giữa một mô hình vật lý và một cặp là một quan hệ toàn cục được định danh và một chỉ số trạm tương ứng với một mô
Trang 16hình vật lý Ký hiệu Rji tương ứng với mô hình vật lý mảnh thứ i của quan hệ R trên trạm j
Có thể định nghĩa một bản sao của một phân mảnh tại một trạm cho trước và
kí hiệu bằng tên Quan hệ toàn cục R và hai chỉ số Ví dụ R3
2 để chỉ bản sao của phân mảnh R2 được chứa ở trạm 3 Hai mô hình vật lý có thể giống nhau, ví là bản sao của nhau
Lược đồ các trạm phụ thuộc: gồm lược đồ ánh xạ cục bộ, DBMS của các trạm cục bộ, cơ sở dữ liệu ở trạm đó
Hình 1.6 Các phân mảnh và mô hình vật lý cho một quan hệ toàn cục
(4) Lược đồ ánh xạ cục bộ
Do ba mức đầu các trạm độc lập, nên chúng không phụ thuộc vào mô hình dữ liệu của DBMS cục bộ Ở mức thấp hơn, nó cần phải ánh xạ mô hình vật lý thành các đối tượng được thao tác bởi các DBMS cục bộ Ánh xạ này được gọi là lược đồ ánh xạ cục bộ và phụ thuộc vào kiểu của DBMS cục bộ Trong hệ thống không đồng nhất có các kiểu khác nhau của ánh xạ cục bộ tại các trạm khác nhau Yếu tố quan trọng nhất để thiết kế kiến trúc này là:
Trang 17Sự độc lập của các DBMS cục bộ;
(5) DBMS ở các trạm cục bộ độc lập
Tính năng trong suốt trong ánh xạ cục bộ cho phép xây dựng một hệ thống cơ
sở dữ liệu phân tán đồng nhất hoặc không đồng nhất Trong hệ thống đồng nhất, các lược đồ độc lập của một trạm được định nghĩa sử dụng cùng một mô hình như DBMS cục bộ nhưng trong hệ thống không đồng nhất thì các lược đồ ánh xạ cục bộ dùng để phối hợp các kiểu khác nhau của DBMS…
1.3 So sánh 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ành trướ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 đối 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à đ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, hồi phục, điều khiển tương tranh, biệt lập và an toàn dữ liệu
a) Đ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
b) Độc lập dữ liệu
Độ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ý
Trang 18củ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 [03]
c) Giảm dư thừa dữ liệu
Trong CSDL 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
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
Trang 19d) 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
e) 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ẫ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à tương tranh
1 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
2 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
Trang 20f) Tính biệt lập và an toàn: trong CSDL 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ề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 CSDL 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
1.4 Sự cần thiết của cơ sở dữ liệu phân tán
a) Sự phát triển của các cơ cấu tổ chức
Cùng với sự phát triển của xã hội, nhiều cơ quan, xí nghiệp có cơ cấu tổ chức không tập trung, hoạt động phân tán trên phạm vi rộng Vì vậy thiết kế và cài đặt cơ
sở dữ liệu phân tán là phù hợp, đáp ứng mọi nhu cầu truy cập và khai thác dữ liệu Cùng với sự phát triển của công nghệ viễn thông, tin học, động cơ thúc đẩy kinh tế, việc tổ chức các trung tâm máy tính lớn và tập trung trở thành vấn đề cần nghiên cứu
Cơ cấu tổ chức và vấn đề kinh tế là một trong những nguyên nhân quan trọng nhất của sự phát triển cơ sở dữ liệu phân tán
b) Giảm chi phí truyền thông
Trong thực tế, sử dụng một số ứng dụng mang tính địa phương sẽ làm giảm chi phí truyền thông Bởi vậy, việc tối ưu hoá tính địa phương của các ứng dụng là một trong những mục tiêu chính của việc thiết kế và cài đặt một CSDL phân tán
c) Hiệu quả công việc
Sự tồn tại một số hệ thống xử lý điạ phương đạt được thông quan việc xử lý song song Vấn đề này có thể thích hợp với mọi hệ đa xử lý CSDL phân tán có thuận lợi trong phân tích dữ liệu phản ánh điều kiện phụ thuộc của các ứng dụng, cực đại hoá tính địa phương của ứng dụng Theo cách này tác động qua lại giữa các
bộ xử lý được làm cực tiểu Công việc được phân chia giữa các bộ xử lý khác nhau
và tránh được các tắc nghẽn thông tin trên mạng truyền thông hoặc các dịch vụ
Trang 21chung của toàn hệ thống Sự phân tán dữ liệu phản ánh hiệu quả làm tăng tính địa
phương của các ứng dụng
d) Độ tin cậy và tính sẵn sàng
Cách tiếp cận CSDL phân tán, cho phép truy nhập độ tin cậy và tính sẵn sàng cao hơn Tuy nhiên, để đạt được mục đích đó là vấn đề không đơn giản đòi hỏi kỹ thuật phức tạp Những lỗi xuất hiện trong một CSDL phân tán có thể xảy ra nhiều hơn vì số các thành phần cấu thành lớn hơn, nhưng ảnh hưởng của lỗi chỉ ảnh hưởng tới các ứng dụng sử dụng các trạm lỗi Sự hỏng hóc của toàn hệ thống hiếm khi xảy ra
CSDL phân tán là sự tập hợp các dữ liệu thuộc cùng một hệ thống về mặt logic nhưng phân bố trên các trạm của mạng máy tính Công nghệ CSDL phân tán
là sự kết hợp giữa hai vấn đề phân tán và hợp nhất:
Phân tán: phân tán dữ liệu trên các trạm của mạng;
Hợp nhất: hợp nhất về mặt logic các dữ liệu phân tán sao cho chúng xuất hiện với người sử dụng giống như với CSDL đơn lẻ duy nhất Công nghệ CSDL phân tán mới thực sự phát triển trong những năm gần đây nhờ sự phát triển của kỹ thuật tính toán, kỹ thuật truyền thông và mạng máy tính Những ứng dụng được xây dựng trên CSDL phân tán đã xuất hiện nhiều trên thị trường và từng bước chứng minh tính ưu việt của nó so với CSDL tập trung
Tuy nhiên, hệ cơ sở dữ liệu phân tán cũng có những hạn chế như:
Phần mềm phức tạp và kinh phí tốn kém;
Phải xử lý các thay đổi thông báo trong mọi địa điểm;
Khó kiểm soát tính toàn vẹn dữ liệu với nhiều bản sao dữ liệu được phân bố khắp mọi nơi;
Nói chung, kỹ thuật thiết kế cơ sở dữ liệu phân tán phức tạp nhưng hệ cơ sở
dữ liệu phân tán cũng cần thiết cho xu hướng phát triển kinh tế hiện nay
Trang 23để thực hiện truy vấn thông tin là thấp nhất Các bộ hoặc các thuộc tính của quan
hệ không thể được xem như một đơn vị cấp phát, vì sẽ làm cho việc cấp phát trở lên phức tạp hơn Thiết kế phân mảnh bằng cách nhóm một số bộ trong trường hợp phân mảnh ngang hay nhóm các thuộc tính trong trường hợp phân mảnh dọc có cùng đặc tính theo quan điểm cấp phát Các mảnh hình thành bằng các phương pháp phân mảnh tạo ra các đơn vị cấp phát dữ liệu khác nhau [2]
2 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ị dữ liệu, sẽ cho phép thực hiện nhiều giao dịch đồng thời Đồng thời việc phân mảnh các quan hệ cũng cho phép thực hiện song song một câu vấn tin bằng cách chia nó 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ân mảnh sẽ làm tăng mức độ hoạt động đồng thời và tăng lưu lượng hoạt động của hệ thống Tuy nhiên không phải việc
Trang 24phân mảnh chỉ có ưu điểm hoàn toàn, mà nó cũng thể hiện những hạn chế nhất định như:
3 Nếu ứng dụng có những yêu cầu “xung đột” ngăn cản phân rã thành các mảnh được sử dụng độc quyền
4 Những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh khác nhau sẽ làm giảm hiệu suất hoạt động của hệ thống, làm tăng chi phí truy cập dữ liệu đến các mảnh và tăng chi phí kết nối các mảnh
5 Việc kiểm soát ngữ nghĩa, đặc biệt là vấn đề kiểm tra tính toàn vẹn sẽ khó khăn hơn
2.1.3 Mức độ phân mảnh
Phân mảnh cơ sở dữ liệu đến mức độ nào là đủ, không làm ảnh hưởng đến
hiệu năng của việc thực hiện truy vấn Mức độ phân mảnh có thể là phân mảnh một quan hệ chưa được phân mảnh, có thể phân mản các quan hệ đã được phân mảnh
Có thể phân mảnh theo chiều dọc (theo từng thuộc tính) hoặc theo chiều ngang (theo từng bộ trong quan hệ)
Một mức độ ứng phân mảnh thích hợp sao cho tránh được các hạn chế khi phân mảnh chỉ được định nghĩa ứng với các ứng dụng sẽ chạy trên cơ sở dữ liệu
Trang 252.1.4 Các quy tắc phân mảnh
Các nguyên tắc để đảm bảo cơ sở dữ liệu khi phân mảnh sẽ đảm bảo tính không thay đổi về ngữ nghĩa Dưới đây là ba qui tắc phải tuân thủ khi phân mảnh cơ
sở dữ liệu quan hệ
mục dữ liệu có trong quan hệ R sẽ được chứa trong ít nhất một mảnh Ri (i=1, ,n) Quy tắc này đảm bảo cho các mục dữ liệu trong R được ánh xạ hoàn toàn vào các mảnh và không bị mất Mục dữ liệu có thể hiểu là bộ trong phân mảnh ngang và thuộc tính trong phân mảnh dọc
R2,…,Rn khi đó: R = Ri, Ri FR Toán tử thay đổi tùy theo từng loại phân mảnh Khả năng phục hồi quan hệ từ các mảnh sẽ đảm bảo bảo toàn các phụ thuộc
3 Tính tách biệt: Nếu quan hệ R được phân rã ngang thành các mảnh Ri,
i=1, n và mục dữ liệu di nằm trong một mảnh Ri thì nó sẽ không nằm trong mảnh
Rk , (k≠j) Quy tắc này đảm bảo các mảnh phân rã rời nhau Trong trường hợp phân mảnh dọc, khóa chính của quan hệ phải được lập lại trong tất cả các mảnh Vì vậy tính tách biệt trong phân mảnh dọc được hiểu không liên quan gì đến khóa chính của quan hệ
2.1.5 Các kiểu cấp phát
Giả sử CSDL đã được phân mảnh, thích hợp và thoả các yêu cầu phải cấp
phát cho các vị trí trên mạng Khi dữ liệu được cấp phát, có thể không nhân bản hoặc có thể được nhân bản Không nhân bản, thường được gọi là CSDL phân hoạch, các mảnh chỉ được cấp phát trên các trạm và không có bản sao nào trên mạng Trong trường hợp nhân bản, hoặc toàn bộ CSDL đều có ở trên tất cả các từng trạm (CSDL được nhân bản đầy đủ), hoặc các mảnh của CSDL được phân tán tới các trạm bằng cách các mảnh sao được đặt trên nhiều trạm (CSDL được nhân bản từng phần) Một số các bản sao của mảnh có thể là đầu vào cho thuật toán cấp phát hoặc quyết định giá trị của biến được xác bởi thuật toán
Trang 26Nhân bản làm tăng độ tin cậy và tăng hiệu quả của các câu vấn tin chỉ đọc Đặc biệt có thể truy cập CSDL khi gặp sự cố Hơn nữa các câu truy vấn đọc truy cập đế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í Hình 2.2 so sánh ba cách nhân bản theo một số chức năng của hệ quản trị CSDL phân tán
Việc cấp phát dữ liệu phải được thực hiện sao cho thỏa mãn hai yêu cầu sau: Chi phí nhỏ nhất
Hiệu năng lớn nhất: Giảm thiểu thời gian đáp ứng và tăng tối đa lưu lượng
hệ thống tại mỗi vị trí
Hình 2.1 So sánh các phương pháp nhân bản
2.1.6 Các yêu cầu thông tin
Công việc thiết kế cơ sở dữ liệu phân tán phụ thuộc rất nhiều vào các yếu tố
có là ảnh hưởng đến một thiết kế tối ưu, tổ chức logic cơ sở dữ liệu, vị trí các ứng dụng, đặc tính truy cập của các ứng dụng đến cơ sở dữ liệu và các đặc tính của hệ thống máy tính tại mỗi vị trí Điều này làm cho việc diễ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 thiết cho thiết kế phân tán bao gồm:
Thông tin cơ sở dữ liệu
Thông tin ứng dụng
Trang 27Thông tin về mạng
Thông tin về hệ thống máy tính
Yêu cầu thông tin về mạng và hệ thống máy tính chỉ được sử dụng trong các
mô hình cấp phát, không sử dụng trong các thuật toán phân mảnh dữ liệu
2.2 Các phương pháp phân mảnh
2.2.1 Phân mảnh dữ liệu ngang
Phân mảnh ngang chính là việc chia quan hệ thành nhiều các nhóm bộ Kết quả của quá trình phân mảnh ngang là các quan hệ con, số lượng quan hệ con phụ thuộc vào điều kiện ràng buộc của các thuộc tính Và các bộ trong các quan hệ con
là tách biệt nhau Phân mảnh ngang thực chất là phép chọn quan hệ thỏa mãn một biểu thức điều kiên cho trước [2]
Có hai loại phương pháp phân mảnh ngang là:
1 Phân mảnh ngang nguyên thủy: Là phân mảnh ngang được thực hiện trên các vị từ của chính quan hệ đó
2 Phân mảnh ngang dẫn xuất: Là phân rã một quan hệ dựa trên các vị từ của quan hệ khác
2.2.1.4 Yêu cầu thông tin về phân mảnh ngang
a) Thông tin về CSDL có liên quan tới lược đồ khái niệm toàn cục Trong mô
hình quan hệ, các mối quan hệ giữa các thực thể được mô tả như là những quan hệ
Trong mô hình quan hệ thực thể (ER), các mối liên hệ giữa các đối tượng CSDL được mô tả rõ ràng Nhìn chung mối quan hệ giữa các đối tượng trong CSDL thường mô tả bằng các mối quan hệ một - một, một - nhiều và mối quan hệ nhiều - nhiều Với mục đích cho thiết kế, đường nối có hướng giữa các quan hệ được sử dụng cho việc biểu diễn bởi thao tác nối bằng
Quan hệ tại điểm cuối của đường nối được gọi là quan hệ chủ (quan hệ đích)
và các quan hệ tại điểm đầu được gọi là các quan hệ thành viên (quan hệ nguồn)
Trang 28Ánh xạ Owner và Member từ tập đường nối tới tập quan hệ Khi cho trước một đường nối, hàm sẽ trả về quan hệ đích hay quan hệ nguồn của đường nối
b) Thông tin về ứng dụng:
Để phân tán ngoài thông tin định lượng Card(R) ta còn cần 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 Lượng thông tin này phụ thuộc bài toán cụ thể
Nếu khô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ất cũng phải nghiên cứu được các ứng dụng “quan trọng” nhất Vậy chúng ta xác định các vị từ đơn giản Cho quan hệ R(A1, A2,…,An), trong đó Ai là một thuộc tính được định nghĩa trên một miền biến thiên D(Ai) hay Di
Một vị từ đơn giản P được định nghĩa trên R có dạng: P:Ai θ Value; Trong đó
θ {=,<,≠, ≤, >, ≥} và value được chọn từ miền biến thiên của Ai (value Di) Như vậy, cho trước lược đồ R, các miền trị Di chúng ta có thể xác định được tập tất cả các vị từ đơn giản Pr trên R Vậy Pr ={P: Ai θ Value} Tuy nhiên trong thực tế ta chỉ cần những tập con thực sự của Pr Chúng ta sẽ sử dụng kí hiệu Pri để biểu thị tập tất cả các vị từ đơn giản được định nghĩa trên quan hệ Ri Cácphần tử của Pri được ký hiệu là pij
Trong thực tế các câu truy vấn là tổ hợp của rất nhiều vị từ đơn giản Mỗi tổ hợp được gọi là một vị từ hội sơ cấp Cho tập Pri = {pi1, pi2, , pim} là các vị từ đơn giản trên quan hệ Ri, tập các vị từ hội sơ cấp Mi = {mi1, mi2, , miz} được định nghĩa như sau: Cho tập Pri = {pi1, pi2, , pim} là các vị từ đơn giản trên quan hệ Ri, tập các vị từ hội sơ cấp Mi = {mi1, mi2, , miz} được định nghĩa như sau:
Trong đó, p ik* = p ik hoặc p ik* = ¬p ik Vì thế mỗi vị từ đơn giản có thể xuất hiện
Trang 29Attribute = Value không có phủ định
Attribute ≤ Value, phủ định là Attribute > Value
Cận_dưới ≤ Attribute_1, phủ định là ¬(Cận_dưới ≤ Attribute_1)
Attribute_1 ≤ Cận_trên, phủ định là ¬(Attribute_1 ≤ Cận_trên)
Cận_dưới ≤ Attribute_1 ≤ Cận_trên, phủ định là ¬(Cận_dưới ≤ Attribute_1 ≤ Cận_trên)
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:
Độ tuyển hội sơ cấp: số lƣợng các bộ của quan hệ sẽ đƣợc truy cập bởi câu vấn tin đƣợc đặc tả theo một vị từ hội sơ cấp đã cho
Tần số truy cập: tần số ứng dụng truy cập dữ liệu Nếu Q={q1, q2, ,qq} là tập các câu vấn tin, acc(qi) biểu thị cho tần số truy cập của qi trong một khoảng thời gian đã cho
Chú ý rằng mỗi hội sơ cấp là một câu vấn tin Chúng ta ký hiệu tần số truy cập của một hội sơ cấp là acc(mi)
2.2.1.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ên các quan hệ chủ nhân của một lƣợc đồ của CSDL Vì thế cho biết quan hệ R, các mảnh ngang của R là các Ri: Ri = σFi(R), 1 ≤ i ≤ z, trong đó Fi là công thức chọn đƣợc sử dụng để có đƣợc mảnh Ri Chú ý rằng nếu Fi có dạng chuẩn hội, nó là một
vị từ hội sơ cấp (mj) [07]
Một đặc tính quan trọng của các vị từ đơn giản là tính đầy đủ và tính cực tiểu
1 Tập các vị từ đơn giản Pr đƣợc gọi là đầy đủ nếu và chỉ nếu xác suất mỗi ứng dụng truy cập đế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 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ất quá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à đầy đủ
Trang 30về mặt thống kê theo cách mà ứng dụng truy cập chúng Vì thế chúng ta sẽ dùng một tập hợp gồm các vị từ đầy đủ làm cơ sở của phân mảnh ngang nguyên thủy
2 Đặc tính thứ hai của tập các vị từ là tính cực tiểu Đây là một đặc tính cảm tính Vị từ đơn giản phải có liên đới trong việc xác định một mảnh Một vị
từ không tham gia vào một phân mảnh nào thì có thể coi vị từ đó là thừa Nếu tất cả các vị từ của Pr đều có liên đới thì Pr là cực tiểu
Khái niệm đầy đủ gắn chặt với mục tiêu của bài toán Số vị từ phải đầy đủ theo yêu cầu của bài toán chúng ta mới thực hiện được những vấn đề đặt ra của bài toán Khái niệm cực tiểu liên quan đến vấn đề tối ưu của bộ nhớ, tối ưu của các thao tác trên tập các câu vấn tin Vậy khi cho trước một tập vị từ Pr để xét tính cực tiểu chúng ta có thể kiểm tra bằng cách vứt bỏ những vị từ thừa để có tập vị từ Pr’ là cực tiểu và tất nhiên Pr’ cũng là tập đầy đủ với Pr
2.2.1.3 Phân mảnh ngang dẫn xuất
Phân mảnh ngang dẫn xuất được định nghĩa trên một quan hệ thành viên của đường nối dựa theo phép toán chọn trên quan hệ chủ nhân của đường nối đó
Như thế nếu cho trước một đường nối L, trong đó owner (L)=S và member(L)=R, và các mảnh ngang dẫn xuất của R được định nghĩa là: Ri=R Si,
1 ≤ i ≤ w, trong đó w là số lượng các mảnh được định nghĩa trên R, và Si= Fi(S) với
Fi là công thức định nghĩa mảnh ngang nguyên thuỷ Si
Tuy nhiên, chúng ta cần lưu ý: muốn thực hiện phân mảnh ngang dẫn xuất, chúng ta cần ba nguyên liệu (input):
1 Tập các phân hoạch của quan hệ chủ nhân;
2 Quan hệ thành viên;
3 Tập các vị từ nối nửa giữa chủ nhân và thành viên
Trang 31Vấn đề phức tạp cần chú ý: Trong lược đồ CSDL, chúng ta hay gặp nhiều đường nối đến một quan hệ R Như thế có thể có nhiều cách phân mảnh cho quan hệ
R Quyết định chọn cách phân mảnh nào cần dựa trên hai tiêu chuẩn sau:
1 Phân mảnh có đặc tính nối tốt hơn
2 Phân mảnh được sử dụng trong nhiều ứng dụng hơn
Tuy nhiên, việc áp dụng các tiêu chuẩn trên khá phức tạp
2.2.1.4 Kiểm định tính đúng đắn
a) Tính đầy đủ:
Phân mảnh ngang nguyên thuỷ: Với điều kiện các vị từ chọn là đầy đủ, phân mảnh thu cũng được đảm bảo là đầy đủ, bởi vì cơ sở của thuật toán phân mảnh là tập các vị từ cực tiểu và đầy đủ Pr’, nên tính đầy đủ được bảo đảm với điều kiện không có sai sót xảy ra
Phân mảnh ngang dẫn xuất: Có khác chút ít, khó khăn chính ở đây là do vị từ định nghĩa phân mảnh có liên quan đến hai quan hệ Trước tiên, định nghĩa qui tắc đầy đủ một cách hình thức
R là quan hệ thành viên của một đường nối mà chủ nhân là quan hệ S Gọi A
là thuộc tính nối giữa R và S, thế thì với mỗi bộ t của R, phải có một bộ t’ của S sao cho t.A=t’.A
Quy tắc này được gọi là ràng buộc toàn vẹn hay toàn vẹn tham chiếu, bảo đảm rằng mọi bộ trong các mảnh của quan hệ thành viên đều nằm trong quan hệ chủ nhân
b) Tính tái thiết được:
Tái thiết một quan hệ toàn cục từ các mảnh được thực hiện bằng toán tử hợp trong cả phân mảnh ngang nguyên thủy lẫn dẫn xuất, Vì thế một quan hệ R với phân mảnh Fr={R1, R2,…,Rm} chúng ta có:
R = Ri, Ri FR
Trang 32c) Tính tách rời:
Với phân mảnh nguyên thuỷ tính tách rời sẽ được bảo đảm miễn là các vị từ hội sơ cấp xác định phân mảnh có tính loại trừ tương hỗ Với phân mảnh dẫn xuất tính tách rời có thể bảo đảm nếu đồ thị nối thuộc loại đơn giản
2.2.2 Phân mảnh dọc
Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh R1, R2, ,Rr, mỗi mả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ân mả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ân mảnh sinh
ra một lược đồ phân mảnh cho phép giảm tối đa thời gian thực thi các ứng dụng chạy trên mảnh đó [2]
Phân mảnh dọc phức tạp hơn so với 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
Vì vậy để 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ế lại phải dùng các phương pháp may rủi (heuristic) Chúng ta đưa
ra hai loại may rủi cho phân mảnh dọc các quan hệ toàn cục
1 Nhóm thuộc tính: 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ẩn nào
đó Kỹ thuật này được được đề xuất lần đầu cho các CSDL tập trung và
về sau được dùng cho các CSDL phân tán
2 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 cập của các ứng dụng trên các thuộc tí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 truy cập chung với nhau, chúng ta cần có một giá trị đo nào đó để định nghĩa chính xá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 của thuộc tính, chỉ ra mức độ liên đới giữa các thuộc tính
Trang 33Yêu cầu dữ liệu chính có liên quan đến các ứng dụng là tần số truy cập của chú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) Với mỗi câu vấn tin qi và mỗi thuộc tính Aj, chúng ta sẽ đưa ra một giá trị sử dụng thuộc tính, ký hiệu use(qi, Aj) được định nghĩa như sau: use(qi, Aj)= 1 nếu thuộc tính Aj được vấn tin qi tham chiếu; 0 trong trường hợp ngược lại
Các véctơ use(qi, ) cho mỗi ứng dụng rất dễ định nghĩa nếu nhà thiết kế biết được các ứng dụng sẽ chạy trên CSDL
Giá trị sử dụng thuộc tính không đủ để làm cơ sở cho việc tách và phân mảnh Điều này là do chúng không biểu thị cho độ lớn của tần số ứng dụng Số đo lực hút của các thuộc tính aff(Ai, Aj), biểu thị cho cầu nối giữa hai thuộc tính của một quan
hệ theo cách chúng được các ứng dụng truy cập, sẽ là một đại lượng cần thiết cho bài toán phân mảnh
Xây dựng công thức để đo lực hút của hai thuộc tính Ai, Aj Gọi k là số các mảnh của R được phân mảnh Tức là R = R1 ….Rk Q= {q1, q2,…,qm} là tập các câu vấn tin (tức là tập các ứng dụng chạy trên quan hệ R) Đặt Q(A, B) là tập các ứng dụng q của Q mà use(q, A).use(q, B) =1
Nói cách khác: Q(A, B) = {q Q: use(q, A) =use(q, B) = 1}; Số đo lực hút giữa hai thuộc tính Ai, Aj được định nghĩa là:
aff(Ai, Aj)= refl (qk)accl(qk)
qk Q(Ai, Aj) l Rl
Hoặc:
aff(Ai, Aj)= refl (qk)accl(qk)
Use(qk, Ai)=1 Use(qk, Aj)=1 Rl
Trong đó refl (qk) là số truy cập đến các thuộc tính (Ai, Aj) cho mỗi ứng dụng
qk tại vị trí Rl và accl(qk) là số đo tần số truy cập ứng dụng qk đến các thuộc tính Ai,
Trang 34Aj tại vị trí l Lưu ý, trong công thức tính aff (Ai, Aj) chỉ xuất hiện các ứng dụng q
mà cả Ai và Aj đều sử dụng
Kết quả của tính toán này là một ma trận đối xứng n x n, mỗi phần tử của nó là một số đo được định nghĩa ở trên Chúng ta gọi nó là ma trận lực tụ (lực hút hoặc ái lực) thuộc tính (AA) [07]
Kiểm tra tính đúng đắn: Tính đầy đủ được bảo đảm bằng thuật toán PARTITION vì mỗi thuộc tính của quan hệ toàn cục được đưa vào một trong các mảnh
Thuật toán PARTITION:
Input: CA: ma trận ái lực tụ; R: quan hệ; ref: ma trận sử dụng thuộc tính; acc: ma trận tần số truy cập;
Trang 35R1 TA(R) K {K là tập thuộc tính khoá chính của R}
2.3 Cấp phát
2.3.1 Bài toán cấp phát
Giả sử đã có một tập các mảnh F={F1, F2, ,Fn} và một mạng bao gồm các vị trí S={S1, S2, ,Sm} trên đó có một tập các ứng dụng Q={q1, q2, ,qq} đang chạy Bài toán cấp phát là tìm một phân phối “tối ưu” của F cho S
Tính tối ưu có thể được định nghĩa ứng với hai số đo:
1 Chi phí nhỏ nhất: Hàm chi phí có chi phí lưu mảnh Fi vào vị trí Sj, chi phí vấn tin mảnh Fi vào vị trí Sj, chi phí cập nhật Fi tại tất cả mọi vị trí
có chứa nó và chi phí truyền dữ liệu Vì thế bài toán cấp phát cố gắng tìm một lược đồ cấp phát với hàm chi phí tổ hợp nhỏ nhất
2 Hiệu năng: Chiến lược cấp phát được thiết kế nhằm duy trì một hiệu
quả lớn đó là hạ thấp thời gian đáp ứng và tăng tối đa lưu lượng hệ thống tại mỗi vị trí