Liên truy vấn song song là khả năng thực hiện nhiều truy vấn tạicùng thời điểm, còn nội truy vấn song song là phương pháp tách một truy vấn đơn thành các truyvấn con và mỗi truy vấn con
KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ DỮ LIỆU PHÂN BỐ
MỞ ĐẦU
Nguyên lý của các hệ cơ sở dữ liệu phân bố được hình thành từ sự kết hợp giữa lý thuyết các hệ cơ sở dữ liệu và công nghệ mạng máy tính, nhằm tối ưu hóa quá trình xử lý dữ liệu.
Sự phát triển nhanh chóng của các hệ thống cơ sở dữ liệu (CSDL) được thúc đẩy bởi nhu cầu tích hợp dữ liệu và cung cấp đa dạng dịch vụ, bao gồm cả dịch vụ đa phương tiện cho người dùng Đồng thời, việc kết nối máy tính thành mạng nhằm mục đích chia sẻ và khai thác hiệu quả tài nguyên thông tin, nâng cao khả năng tích hợp và trao đổi dữ liệu giữa các thành phần trong mạng.
Nhu cầu thu thập, lưu trữ, xử lý và trao đổi thông tin ngày càng gia tăng đã chỉ ra những nhược điểm của các hệ thống xử lý tập trung.
Tăng khả năng lưu trữ thông tin là khó khăn, bởi bị giới hạn tối đa của thiết bị nhớ
Độ sẵn sàng phục vụ của CSDL không cao khi số người sử dụng tăng
Khả năng tính toán của các máy tính đơn lẻ đang dần tới giới hạn vật lý.
Mô hình tổ chức lưu trữ và xử lý dữ liệu tập trung không phù hợp với các tổ chức kinh tế và xã hội có quy mô hoạt động rộng lớn và đa quốc gia.
Các nhược điểm của hệ thống phân bố đã được cải thiện đáng kể, và sản phẩm từ các hệ thống này ngày càng phổ biến trên thị trường Chúng đã chứng minh rõ ràng tính ưu việt so với các hệ thống tập trung truyền thống Điều này cho thấy rằng các hệ thống phân bố đang dần thay thế các hệ thống tập trung.
XỬ LÝ PHÂN BỐ VÀ HỆ THỐNG XỬ LÝ PHÂN BỐ
1.2.1 Khái niệm xử lý phân bố
Thuật ngữ "xử lý phân bố" đã trở thành một trong những thuật ngữ phổ biến nhất trong lĩnh vực khoa học máy tính trong những năm gần đây Thuật ngữ này thường được sử dụng để mô tả các hệ thống phân tán, nơi mà nhiều thành phần hoạt động cùng nhau để xử lý dữ liệu và thực hiện các tác vụ phức tạp.
3 loại thiết bị khác nhau chẳng hạn như: hệ đa bộ xử lý, xử lý dữ liệu phân bố, mạng máy tính
Có hai khái niệm xử lý phân bố liên quan với nhau.
Khái niệm tính toán Client/Server liên quan đến việc phân chia ứng dụng thành hai phần: phần Server và phần Client, hoạt động tại hai vị trí khác nhau Mô hình này cho phép truy cập và xử lý dữ liệu trực tiếp trên cả Server và Client, tối ưu hóa hiệu suất và khả năng tương tác.
Khái niệm thứ hai liên quan đến việc thực hiện các tác vụ xử lý phức tạp trên nhiều hệ thống, nơi không gian nhớ và bộ xử lý của nhiều máy cùng chia sẻ công việc Máy trung tâm đóng vai trò giám sát và quản lý các tiến trình này, và trong một số trường hợp, hàng nghìn máy tính có thể cùng nhau xử lý một tác vụ thông qua Internet.
Hệ xử lý phân bố là tập hợp các phần tử xử lý tự trị, không nhất thiết đồng nhất, được kết nối qua mạng máy tính Các phần tử này phối hợp với nhau để thực hiện các nhiệm vụ được giao, trong đó mỗi phần tử xử lý là một thiết bị tính toán có khả năng thực hiện chương trình.
Hệ thống phân bố là một mạng lưới các máy tính độc lập, được kết nối với nhau nhằm chia sẻ nguồn thông tin chung Các máy tính trong hệ thống này không chia sẻ bộ nhớ và chỉ sử dụng một hệ điều hành duy nhất, cho phép nhiều người dùng truy cập và sử dụng các cơ sở dữ liệu và phần mềm hệ thống phân bố.
Các mạng máy tính được xây dựng dựa trên kỹ thuật Web, ví dụ như mạng Internet, mạngIntranet… là các mạng phân bố.
HỆ CƠ SỞ DỮ LIỆU PHÂN BỐ LÀ GÌ
Công nghệ hệ cơ sở dữ liệu đã tiến hóa từ mô hình xử lý dữ liệu, trong đó mỗi ứng dụng có thể định nghĩa các tệp dữ liệu riêng biệt, sang mô hình quản lý dữ liệu tập trung Sự phát triển này dẫn đến khái niệm độc lập dữ liệu, cho phép các hệ ứng dụng duy trì tính ổn định trước những thay đổi trong cấu trúc lưu trữ và các chiến lược truy cập dữ liệu.
Hình 1.1: Xử Iý dữ Iiệu truyền thống 4
Mô tả dữ liệu Ứng dụng 3
Mô tả dữ liệu Ứng dụng 1
Mô tả dữ liệu Thao tác dữ liệu
Hình 1.2: Xử Iý cơ sở dữ Iiệu
Trong hệ xử lý phân bố, hệ cơ sở dữ liệu phân bố đóng vai trò quan trọng trong việc tối ưu hóa và đơn giản hóa quá trình xử lý dữ liệu Khái niệm này bao gồm cả cơ sở dữ liệu phân bố và hệ quản trị cơ sở dữ liệu phân bố, giúp nâng cao hiệu quả trong việc quản lý và xử lý thông tin.
Cơ sở dữ liệu phân bố là tập hợp các cơ sở dữ liệu liên kết logic và được phân bố trên mạng máy tính Hệ quản trị cơ sở dữ liệu phân bố là phần mềm quản lý cho phép điều hành và tối ưu hóa việc sử dụng các cơ sở dữ liệu này, đồng thời đảm bảo tính minh bạch cho người dùng.
Cơ sở dữ liệu phân bố là mô hình trong đó dữ liệu được lưu trữ trên nhiều máy tính khác nhau, tạo thành một hệ thống mạng Đặc trưng nổi bật của cơ sở dữ liệu phân bố là sự phân tán dữ liệu trên mạng máy tính, đồng thời các cơ sở dữ liệu này có mối quan hệ logic với nhau.
Hệ CSDL phân bố bao gồm nhiều file dữ liệu được tổ chức lưu trữ riêng lẻ trên các thiết bị nhớ trong mạng máy tính Để xây dựng một hệ CSDL phân bố, các file không chỉ cần có mối quan hệ logic mà còn phải có một cấu trúc giao diện chung để cho phép chúng truy cập lẫn nhau.
Nhiều ứng dụng hiện nay cần các hệ quản trị cơ sở dữ liệu để xử lý dữ liệu bán cấu trúc và không cấu trúc, đặc biệt là từ các tệp web trên Internet.
SỰ CẦN THIẾT CỦA HỆ CƠ SỞ DỮ LIỆU PHÂN BỐ
Trong những năm gần đây, công nghệ cơ sở dữ liệu phân bố (CSDLPT) đã trở thành một lĩnh vực quan trọng trong công nghệ thông tin, với tính cần thiết ngày càng cao Sự phát triển của CSDLPT được thúc đẩy bởi nhiều nguyên nhân khác nhau.
1.4.1 Sự phát triển của các cơ cấu tổ chức
Với sự phát triển của xã hội, nhiều cơ quan và xí nghiệp có cấu trúc tổ chức phi tập trung, hoạt động trên diện rộng, do đó việc thiết kế và cài đặt cơ sở dữ liệu phân tán trở nên cần thiết để đáp ứng nhu cầu truy xuất và khai thác dữ liệu Bên cạnh đó, sự tiến bộ trong công nghệ viễn thông và tin học, cùng với động lực thúc đẩy kinh tế, đã làm cho việc tổ chức các trung tâm máy tính lớn và tập trung trở thành một vấn đề quan trọng cần được 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 bố.
DỮ LIỆU Ứng dụng 3 Ứng dụng 3 Ứng dụng 1
1.4.2 Giảm chi phí truyền thông
Việc sử dụng các ứng dụng địa phương giúp giảm chi phí truyền thông hiệu quả Do đó, tối ưu hóa tính địa phương của các ứng dụng trở thành mục tiêu quan trọng trong thiết kế và triển khai cơ sở dữ liệu phân tán (CSDLPT).
Một số hệ thống xử lý địa phương sử dụng phương pháp xử lý song song, phù hợp với các hệ đa xử lý Cơ sở dữ liệu phân tán (CSDLPT) giúp phân tích dữ liệu theo điều kiện phụ thuộc của ứng dụng, tối ưu hóa tính địa phương Qua đó, tác động giữa các bộ xử lý được giảm thiểu, công việc được phân chia hiệu quả, giảm thiểu tắc nghẽn thông tin trên mạng truyền thông và dịch vụ chung của hệ thống Sự phân bố dữ liệu này nâng cao hiệu quả và tính địa phương của các ứng dụng.
1.4.4 Độ tin cậy và tính sẵn sàng
Cách tiếp cận cơ sở dữ liệu phân tán (CSDLPT) mang lại độ tin cậy và tính sẵn sàng cao hơn, nhưng để đạt được điều này không phải là dễ dàng và đòi hỏi kỹ thuật phức tạp Mặc dù lỗi trong CSDLPT có thể xảy ra nhiều hơn do số lượng thành phần lớn, nhưng ảnh hưởng của những lỗi này chỉ giới hạn ở các ứng dụng sử dụng các site gặp sự cố Tuy nhiên, sự hỏng hóc toàn bộ hệ thống là rất hiếm.
CSDLPT là tập hợp dữ liệu thuộc cùng một hệ thống logic nhưng phân bố trên nhiều site trong mạng máy tính Công nghệ CSDLPT kết hợp giữa phân bố và hợp nhất dữ liệu.
Phân bố : phân bố dữ liệu trên các site của mạng
Hợp nhất : hợp nhất về mặt logic các dữ liệu phân bố 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ệ cơ sở dữ liệu phân tán đã có những bước tiến vượt bậc trong những năm gần đây nhờ vào sự phát triển của kỹ thuật tính toán, truyền thông và mạng máy tính Các ứng dụng dựa trên cơ sở dữ liệu phân tán ngày càng phổ biến trên thị trường, cho thấy rõ sự ưu việt của nó so với cơ sở dữ liệu tập trung.
CÁC ĐẶC ĐIỂM CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ
Cơ sở dữ liệu phân bố không chỉ là sự phân bố của các cơ sở dữ liệu mà còn có nhiều đặc điểm nổi bật so với cơ sở dữ liệu tập trung truyền thống Đặc điểm chính của cơ sở dữ liệu phân bố bao gồm điều khiển phi tập trung, sự độc lập dữ liệu cao hơn, khả năng giảm thiểu dư thừa dữ liệu và các cấu trúc vật lý phức tạp giúp truy xuất dữ liệu hiệu quả hơn.
1.5.1 Điểu khiển tập trung Điều khiển tập trung (Centralized Control) là một đặc điểm của cơ sở dữ liệu tập trung, toàn bộ dữ liệu được tập trung lại nhằm để tránh sự dư thừa dữ liệu, đảm bảo được tính độc6 lập của dữ liệu Dữ liệu được quản lý tập trung bởi người quản trị cơ sở dữ liệu Chức năng cơ bản của người quản trị cơ sở dữ liệu (DBA - Database Administrator) là bảo đảm sự an toàn của dữ liệu Trong các cơ sở dữ liệu phân bố vấn đề điều khiển tập trung không được nhấn mạnh. Nói chung, trong các cơ sở dữ liệu phân bố , sự điều khiển được thực hiện theo một cấu trúc điều khiển phân cấp bao gồm hai loại người quản trị cơ sở dữ liệu:
Người quản trị cơ sở dữ liệu toàn cục (Global Database Administrator) là người có trách nhiệm chính về toàn bộ cơ sở dữ liệu phân bố
Người quản trị cơ sở dữ liệu cục bộ (Local Database Administrator) là người có trách nhiệm về cơ sở dữ liệu cục bộ của họ.
Các quản trị viên cơ sở dữ liệu cục bộ cần có quyền độc lập riêng biệt, điều mà quản trị viên cơ sở dữ liệu toàn cục không có Sự phối hợp giữa các vị trí được thực hiện bởi chính các quản trị viên cục bộ, thể hiện đặc điểm gọi là sự độc lập vị trí Mức độ độc lập vị trí trong các cơ sở dữ liệu phân tán có thể rất khác nhau, từ hoàn toàn độc lập (không có quản trị viên tập trung) đến hoàn toàn bị kiểm soát tập trung.
1.5.2 Độc lập dữ liệu Độc lập dữ liệu (Data Independence) là một đặc điểm của cơ sở dữ liệu Độc lập dữ liệu có nghĩa là tổ chức lưu trữ dữ liệu là trong suốt đối với người lập trình ứng dụng Ưu điểm của độc lập dữ liệu là các chương trình không bị ảnh hưởng bởi những thay đổi về tổ chức lưu trữ vật lý của dữ liệu.
Trong các hệ cơ sở dữ liệu phân bố, độc lập dữ liệu đóng vai trò quan trọng tương tự như trong các cơ sở dữ liệu tập trung Một yếu tố mới trong khái niệm độc lập dữ liệu là sự trong suốt phân bố, cho phép các chương trình ứng dụng được phát triển như thể chúng hoạt động trên một cơ sở dữ liệu không phân bố.
Tính đúng đắn của các chương trình ứng dụng không bị ảnh hưởng bởi việc di chuyển dữ liệu, nhưng tốc độ thực hiện của chúng có thể bị tác động Độc lập dữ liệu trong cơ sở dữ liệu tập trung được thể hiện qua kiến trúc nhiều mức, với các mô tả khác nhau về dữ liệu và ánh xạ biến đổi giữa các mức.
Sự trong suốt phân bố trong cơ sở dữ liệu được thể hiện qua việc bổ sung các mức trong suốt vào kiến trúc nhiều mức của cơ sở dữ liệu tập trung.
1.5.3 Giảm dư thừa dữ liệu
Trong các cơ sở dữ liệu tập trung, việc giảm thiểu sự dư thừa dữ liệu giúp tránh tình trạng không nhất quán giữa các bản sao, nhờ vào việc chỉ lưu trữ một bản sao duy nhất Điều này không chỉ tiết kiệm không gian lưu trữ mà còn tối ưu hóa các ứng dụng chia sẻ chung và truy xuất dữ liệu hiệu quả.
Tuy nhiên, trong các cơ sở dữ liệu phân bố, sự dư thừa dữ liệu là một đặc điểm cần thiết, vì c ác lý do sau:
Việc nhân bản dữ liệu tại tất cả các vị trí cần thiết giúp tăng cường tính cục bộ của các ứng dụng Nhờ đó, các ứng dụng cục bộ có thể hoạt động nhanh hơn mà không cần phải truy xuất dữ liệu từ xa.
Tăng cường tính sẵn sàng của hệ thống ứng dụng là điều quan trọng, vì nếu một vị trí gặp sự cố, các ứng dụng tại các vị trí khác vẫn có thể hoạt động bình thường Điều này được đảm bảo nhờ việc nhân bản dữ liệu tại các vị trí khác, giúp duy trì hiệu suất và độ tin cậy của hệ thống.
Sự nhân bản dữ liệu cần được xem xét kỹ lưỡng dựa trên hai loại ứng dụng cơ bản: ứng dụng chỉ đọc và ứng dụng cập nhật Mặc dù nhân bản dữ liệu giúp tăng tốc độ thực hiện cho các ứng dụng chỉ đọc, nhưng lại làm chậm quá trình cập nhật cho các ứng dụng cập nhật do yêu cầu phải đồng bộ hóa dữ liệu tại các vị trí được nhân bản.
Sự nhân bản dữ liệu mang lại lợi ích cho hệ thống có nhiều ứng dụng chỉ đọc và ít ứng dụng cập nhật Tuy nhiên, nếu ngược lại, việc nhân bản dữ liệu có thể trở thành một nhược điểm.
1.5.4 Độ tin cậy qua các giao dịch phân bố
Hệ quản trị cơ sở dữ liệu (CSDL) phân bố nâng cao độ tin cậy thông qua các giao dịch phân bố, nhờ vào việc nhân bản các thành phần để hạn chế lỗi tại các vị trí riêng lẻ Khi xảy ra lỗi tại một trạm hoặc lỗi truyền thông, một hoặc nhiều trạm có thể mất kết nối mà không ảnh hưởng đến toàn bộ hệ thống Trong CSDL phân bố, điều này có nghĩa là một số dữ liệu có thể không truy cập được, nhưng nếu biết cách hỗ trợ cho các giao dịch phân bố và các giao thức ứng dụng, người sử dụng vẫn có thể tiếp cận phần còn lại của CSDL.
Giao dịch là một đơn vị tính toán cơ bản và đáng tin cậy trong quản lý cơ sở dữ liệu (CSDL), cho phép chuyển đổi giữa các trạng thái CSDL nhất quán Hệ quản trị CSDL cần hỗ trợ giao dịch để đảm bảo tính nhất quán ngay cả khi nhiều giao dịch diễn ra đồng thời hoặc khi có lỗi xảy ra Điều này yêu cầu các giao dịch phải được thực hiện chính xác và tuân thủ các quy tắc toàn vẹn của CSDL.
Hiệu năng của cơ sở dữ liệu phân bố được nâng cao nhờ vào khả năng phân mảnh cơ sở dữ liệu khái niệm và cho phép cục bộ hóa dữ liệu Hai ưu điểm nổi bật của hệ quản trị cơ sở dữ liệu phân bố là tăng cường hiệu suất truy xuất dữ liệu và tối ưu hóa việc quản lý tài nguyên.
CÁC MÔ HÌNH CƠ SỞ DỮ LIỆU CLIENT/SERVER
Nhìn chung mọi ứng dụng cơ sở dữ liệu bao gồm các phần:
Thành phần xử lý ứng dụng (Application Processing Components)
Thành phần phần mềm cơ sở dữ liệu (Database Software Componets)
Bản thân cơ sở dữ liệu (The Database Ifself)
Có 5 mô hình kiến trúc vật lý về truy nhập dữ liệu
Mô hình cơ sở dữ liệu tập trung (Centralized database model)
Mô hình cơ sở dữ liệu theo kiểu file - server (File - server database model)
Mô hình xử lý từng phần cơ sở dữ liệu (Database extract processing model)
Mô hình cơ sở dữ liệu Client/Server (Client/Server database model)
Mô hình cơ sở dữ liệu phân bố (Distributed database model)
1.6.1 Mô hình cơ sở dữ liệu tập trung:
Trong mô hình này, ứng dụng, hệ quản trị cơ sở dữ liệu và cơ sở dữ liệu được cài đặt trên cùng một bộ xử lý Chẳng hạn, trên máy tính cá nhân, người dùng có thể chạy các chương trình ứng dụng sử dụng phần mềm cơ sở dữ liệu Oracle để truy cập dữ liệu lưu trữ trên ổ cứng của máy tính.
Mô hình xử lý tập trung là sự lựa chọn lý tưởng cho nhiều tổ chức và doanh nghiệp, cho phép các trạm làm việc truy cập nhanh chóng đến cơ sở dữ liệu trung tâm thông qua bộ xử lý mainframe chạy phần mềm như IMS hoặc DB2 của IBM Trong nhiều hệ thống, cả ba thành phần của ứng dụng cơ sở dữ liệu đều được triển khai trên cùng một máy mainframe, điều này càng khẳng định tính phù hợp của cấu hình này với mô hình tập trung.
1.6.2 Mô hình cơ sở dữ liệu theo kiểu File Server:
Trong mô hình cơ sở dữ liệu kiểu File Server, ứng dụng và phần mềm cơ sở dữ liệu được đặt trên một máy tính, trong khi các file dữ liệu vật lý lại được lưu trữ trên máy tính khác Cấu hình này thường được áp dụng trong các môi trường cục bộ.
Trong mô hình File Server, một hoặc nhiều hệ thống máy tính hoạt động như Server để lưu trữ dữ liệu Mô hình này tương tự như mô hình tập trung, nơi cơ sở dữ liệu và các thành phần ứng dụng được cài đặt trên các máy tính khác nhau Mặc dù vậy, các ứng dụng và phần mềm cơ sở dữ liệu có thể được thiết kế đồng nhất để vận hành trong một môi trường tập trung Hệ điều hành mạng hỗ trợ cơ chế đồng thời, cho phép nhiều người dùng truy cập cùng lúc vào cơ sở dữ liệu.
1.6.3 Mô hình xử lý từng phần cơ sở dữ liệu
Mô hình xử lý dữ liệu từng phần cho phép người dùng truy cập cơ sở dữ liệu từ xa thông qua phần mềm cơ sở dữ liệu trên máy tính cá nhân Để thực hiện điều này, người dùng cần nắm rõ vị trí và phương thức truy cập dữ liệu Cả hai hệ thống máy tính đều cần cài đặt phần mềm ứng dụng để quản lý quyền truy cập và chuyển giao dữ liệu Dù vậy, phần mềm cơ sở dữ liệu trên hai hệ thống không cần nhận thức về việc xử lý cơ sở dữ liệu từ xa, vì người dùng tương tác với chúng một cách độc lập.
1.6.4 Mô hình cơ sở dữ liệu Client/Server
Trong mô hình cơ sở dữ liệu Client/Server, cơ sở dữ liệu được cài đặt trên Server, trong khi các ứng dụng và phần mềm cơ sở dữ liệu được cài đặt trên cả Client lẫn Server Các thành phần xử lý ứng dụng trên hệ thống Client gửi yêu cầu đến phần mềm cơ sở dữ liệu trên máy Client, phần mềm này sau đó kết nối với phần mềm cơ sở dữ liệu trên Server Cuối cùng, phần mềm cơ sở dữ liệu trên Server truy cập vào cơ sở dữ liệu, xử lý yêu cầu và gửi kết quả trở lại máy Client.
Mô hình cơ sở dữ liệu Client/Server mang lại nhiều lợi ích hơn so với mô hình File Server, mặc dù ban đầu có vẻ tương tự Trong mô hình File Server, khi người dùng thực hiện một truy vấn để lấy dữ liệu từ 1000 bản ghi, toàn bộ dữ liệu phải được truyền qua mạng, dẫn đến tắc nghẽn lưu lượng Ngược lại, với mô hình Client/Server, chỉ cần gửi truy vấn ban đầu và nhận kết quả cuối cùng qua mạng, trong khi phần mềm cơ sở dữ liệu xử lý và truy cập các bản ghi cần thiết trực tiếp trên máy chủ.
Trong mô hình cơ sở dữ liệu Client/Server, phần mềm Front End được chạy trên thiết bị truy cập đầu cuối hoặc Workstation, phục vụ cho các yêu cầu xử lý riêng biệt Nó đóng vai trò là Client trong ứng dụng cơ sở dữ liệu Client/Server và thực hiện các chức năng đáp ứng nhu cầu của người sử dụng Front End Software được chia thành nhiều loại khác nhau.
Phần mềm cơ sở dữ liệu cho người dùng cuối cho phép người sử dụng truy cập và quản lý cơ sở dữ liệu trên thiết bị đầu cuối, đồng thời kết nối với các cơ sở dữ liệu cục bộ và trên máy chủ.
Phần mềm Simple Query and Reporting Software được phát triển để cung cấp các công cụ hiệu quả cho việc xử lý dữ liệu từ cơ sở dữ liệu, cho phép người dùng tạo ra các báo cáo đơn giản từ dữ liệu hiện có.
Data Analysis Software cung cấp các hàm về tìm kiếm, khôi phục và cung cấp các phân tích phức tạp cho người sử dụng.
Các công cụ phát triển ứng dụng (Application Development Tools) là phần mềm hỗ trợ việc phát triển ứng dụng cơ sở dữ liệu, bao gồm các công cụ thông dịch, biên dịch và các công cụ CASE (Kỹ thuật phần mềm hỗ trợ máy tính) Những công cụ này tự động hóa toàn bộ quy trình phát triển ứng dụng và tạo ra chương trình cho các ứng dụng một cách hiệu quả.
Công cụ quản trị cơ sở dữ liệu là những phần mềm hỗ trợ người quản trị thực hiện các nhiệm vụ như định nghĩa, lưu trữ và phục hồi dữ liệu Những công cụ này giúp tối ưu hóa quy trình quản lý cơ sở dữ liệu, đảm bảo hiệu suất và an toàn cho thông tin.
Back End Software được cài đặt trên Server cơ sở dữ liệu, bao gồm phần mềm cơ sở dữ liệu Client/Server và phần mềm mạng
Hình 1.3 Mô hình CIient-Server
1.6.5 Distributed database model (Mô hình cơ sở dữ liệu phân bố)
Cả hai mô hình File Server và Client/Server đều giả định rằng dữ liệu được lưu trữ trên một bộ xử lý, trong khi chương trình ứng dụng truy cập dữ liệu lại nằm trên một bộ xử lý khác Ngược lại, mô hình cơ sở dữ liệu phân tán cho rằng bản thân cơ sở dữ liệu được phân bố trên nhiều máy khác nhau.
MÔ HÌNH THAM CHIẾU CƠ SỞ DỮ LIỆU PHÂN BỐ
Mô hình kiến trúc cơ sở dữ liệu phân bố tại các site gồm lược đồ tổng thể, lược đồ phân mảnh và lược đồ cấp phát.
Lược đồ toàn cục xác định toàn bộ dữ liệu trong cơ sở dữ liệu phân bố, tương tự như trong cơ sở dữ liệu tập trung Định nghĩa của lược đồ toàn cục phải phù hợp với lược đồ của cơ sở dữ liệu tập trung Tuy nhiên, mô hình dữ liệu của lược đồ toàn cục cần tương thích với việc xác định các ánh xạ tới các mức của cơ sở dữ liệu phân bố.
Ứng dụng hình dữ liệu quan hệ sẽ được áp dụng trong kiến trúc mô hình tham chiếu cơ sở dữ liệu phân tán, nhằm định nghĩa một tập hợp các quan hệ toàn cục.
Hình 1.4: Mô hình tham chiếu của cơ sở dữ Iiệu phân bố
Mối quan hệ toàn cục có thể được chia thành nhiều phần không chồng lặp, 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, thể hiện mối quan hệ một-nhiều Cụ thể, nhiều phân mảnh tương ứng với một quan hệ toàn cục, trong khi 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 xác định bằng tên của quan hệ toàn cục kèm theo chỉ số phân mảnh, ví dụ, Ri đại diện cho 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, phân mảnh dọc và sự kết hợp của hai loại này Mỗi kiểu phân mảnh có thể được định nghĩa thông qua biểu thức ngôn ngữ quan hệ, trong đó các quan hệ toàn cục đóng vai trò như toán hạng, và kết quả đầu ra là các phân mảnh dữ liệu.
Các phân mảnh là các phần logic của quan hệ toàn cục, được lưu trữ tại một hoặc nhiều site trong mạng Lược đồ cấp phát xác định vị trí của các phân mảnh này 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 tại một site j tạo thành mô hình vật lý của quan hệ toàn cục trên site j Điều này dẫn đến một ánh xạ một-một giữa các phân mảnh và quan hệ toàn cục.
DBMS of site 2 DBMS of site 1
Fragmentation trong cơ sở dữ liệu đề cập đến việc chia nhỏ dữ liệu thành các phần để tối ưu hóa hiệu suất Schema toàn cầu là một mô hình vật lý được định danh, trong đó mỗi quan hệ toàn cục được liên kết với một chỉ số site tương ứng Ký hiệu Rji đại diện cho mô hình vật lý của mảnh thứ i của quan hệ R tại site j.
Một ví dụ về mối quan hệ giữa các kiểu đối tượng được định nghĩa có thể được minh họa qua hình ảnh Một quan hệ toàn cục R được phân chia thành bốn phân mảnh R1, R2, R3, R4 Bốn phân mảnh này được phân bổ dư thừa tại ba site trong mạng máy tính, dẫn đến ba mô hình vật lý: R1 tại site 1, R2 tại site 2 và R3 tại site 3.
Hình 1.5: Các phân mảnh và mô hình vật Iý cho một quan hệ toàn cục
Một bản sao của một phân mảnh tại một site cụ thể có thể được định nghĩa và ký hiệu bằng tên quan hệ toàn cục R cùng với hai chỉ số Ví dụ, R32 được sử dụng để chỉ bản sao của phân mảnh R2 được lưu trữ tại site.
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 site phụ thuộc: gồm lược đồ ánh xạ cục bộ, DBMS của các site cục bộ, cơ sở dữ liệu ở site đó.
1.7.4 Lược đồ ánh xạ cục bộ
Các site độc lập hoạt động ở hai mức đầu, 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, cần ánh xạ mô hình vật lý thành các đối tượng mà các DBMS cục bộ thao tác Quá trình này được gọi là lược đồ ánh xạ cục bộ, phụ thuộc vào kiểu của từng DBMS cục bộ Trong hệ thống không đồng nhất, có nhiều kiểu ánh xạ cục bộ khác nhau tại các site khác nhau Yếu tố quan trọng nhất trong thiết kế kiến trúc này là sự đồng nhất trong việc quản lý và thao tác dữ liệu.
Phân mảnh và phân phát dữ liệu
Quản lí dư thừa dữ liệu
Sự độc lập của các DBMS cục bộ
1.7.5 DBMS ở các site cục bộ dộc lập
Tính năng trong suốt trong ánh xạ cục bộ hỗ trợ xây dựng hệ thống cơ sở dữ liệu phân bố, bao gồm cả đồng nhất và không đồng nhất Trong hệ thống đồng nhất, các lược đồ độc lập tại mỗi site được xác định theo cùng một mô hình như DBMS cục bộ Ngược lại, trong hệ thống không đồng nhất, các lược đồ ánh xạ cục bộ được sử dụng để phối hợp các kiểu DBMS khác nhau.
CẤU TRÚC LOGIC CỦA CƠ SỞ DỮ LIỆU PHÂN BỐ
Có 3 kiểu thiết kế cơ sở dữ liệu phân bố trên mạng máy tính. a) Các bản sao: Cơ sở dữ liệu được sao chép thành nhiều bản và được lưu trữ trên các site phân bố khác nhau của mạng máy tính. b) Phân mảnh: Cơ sở dữ liệu được phân thành nhiều mảnh nhỏ theo kỹ thuật phân mảnh dọc hoặc phân mảnh ngang, các mảnh được lưu trữ trên các site khác nhau. c) Mô hình kết hợp các bản sao và phân mảnh Trên một số site chứa cấc bản sao, một số site khác chứa các mảnh
LỢI ÍCH PHÂN BỐ DỮ LIỆU TRÊN MẠNG
1 Việc phân bố dữ liệu tạo cho cơ sở dữ liệu có tính tự trị địa phương Tại một site, dữ liệu được chia sẻ bởi một nhóm người sử dụng tại nơi họ làm việc và như vậy dữ liệu được kiểm soát cục bộ, phù hợp đối với những tổ chức phânbố tập trung Cho phép thiết lập và bắt buộc sách lược địa phương đối với việc sử dụng cơ sở dữ liệu.
Hình 1.6 Mô hình CIient-Server nhiều Iớp
2 Tính song song trong các hệ cơ sở dữ liệu phân bố có thể nâng cao được hiệu quả truy nhập Tính chất này có thể lợi dụng để xử lý song song các câu hỏi Có hai dạng :
Câu hỏi đồng thời phát sinh tại các trạm khác nhau.
Tow er System Tow er System
Câu hỏi có thể được phân rã thành những câu hỏi thành phần được thực hiện song song tại các trạm khác nhau.
3 Trong tổ chức phân bố, tương tranh dịch vụ, CPU, vào/ra ít hơn so với tổ chức tập trung Độ trễ trong truy nhập từ xa có thể giảm do việc thực hiện địa phương hoá dữ liệu một cách hợp lý.
4 Độ tin cậy và tính sẵn sàng được nâng cao trong tổ chức phân bố, là một trong những mục tiêu cơ bản của tổ chức dữ liệu phân bố Việc tổ chức lặp dữ liệu cũng có thể đảm bảo cho việc truy nhập cơ sở dữ liệu không bị ảnh hưởng khi có sự cố xảy ra đối với trạm hoặc kênh truyền, không thể làm sụp đổ cả hệ thống.
5 Tổ chức dữ liệu phân bố kinh tế hơn so với tổ chức tập trung Giá cho một hệ máy tính nhỏ rẻ hơn nhiều so với giá của một máy tính lớn khi triển khai cùng một mục đích ứng dụng Giá chi phí truyền thông cũng ít hơn do việc địa phương hoá dữ liệu.
6 Khả năng mở rộng hệ thống và phân chia tài nguyên Việc mở rộng khả năng cho một hệ xử lý phân bố là dễ dàng hơn và cho phép thực hiện tốt hơn.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ
Hệ quản trị cơ sở dữ liệu quan hệ (DBMS) là phần mềm hỗ trợ mô hình và ngôn ngữ quan hệ, cần giao tiếp với hai thành phần chính: hệ thống con truyền thông và hệ điều hành Hệ thống con truyền thông giúp DBMS kết nối với các hệ thống khác qua ứng dụng, trong khi hệ điều hành cung cấp giao diện giữa DBMS và tài nguyên máy Kiến trúc tổng quát của DBMS được mô tả chi tiết trong hình 2.9.
Hệ thống con truyền thông
Hệ qủn trị cơ sở dữ liệu
Hình 1.7: Kiến trúc tổng quát của mô hình hệ quản trị cơ sở dữ Iiệu quan hệ
Cơ sở dữ liệu Ứng dụng n
1.10.2 Chức năng của hệ quản trị cơ sở dữ liệu quan hệ
Hệ quản trị cơ sở dữ liệu quan hệ được tổ chức thành nhiều tầng chức năng, bao gồm tầng giao diện, tầng điều khiển, tầng biên dịch, tầng thực thi, tầng truy xuất dữ liệu và tầng duy trì tính nhất quán của dữ liệu.
Tầng giao diện (Interface Layer) đóng vai trò quan trọng trong việc quản lý giao diện giữa các ứng dụng, như giao diện SQL và các ứng dụng cơ sở dữ liệu (CSDL) hoạt động trên các khung nhìn dữ liệu Khung nhìn dữ liệu mô tả cách mà các ứng dụng tương tác với dữ liệu, tạo ra một quan hệ ảo từ quan hệ cơ sở thông qua các phép đại số quan hệ Quá trình quản lý khung nhìn bao gồm việc biên dịch các câu truy vấn của người dùng thành dữ liệu khái niệm một cách hiệu quả.
Phép tính quan hệ Tầng điều khiển
Phép tính quan hệ Tầng xử lý vấn tin
Truy xuất/cập nhật Tầng truy xuất dữ liệu
Truy xuất/cập nhật Tầng duy trì nhất quán
Hình 1.8: Các tầng chức năng của một hệ quản trị cơ sở dữ Iiệu quan hệ 16
Quản lý vùng đệm Các phương pháp truy xuất Điều khiển đồng thời Nhật ký
Giao diện người sử dụng Quản lý khung nhìn Điều khiển thực thi hoạch định truy xuất
Thực thi phép toán đại số
Kiểm soát toàn vẹn dữ liệu Kiểm soát cấp quyền
Phân rã và tối ưu hoá vấn tin Quản lý hoạch định truy xuất Đại số quan hệ
Tầng điều khiển có nhiệm vụ quản lý câu truy vấn thông qua việc bổ sung các vị từ đảm bảo toàn vẹn dữ liệu và quyền truy cập Toàn vẹn dữ liệu và quyền truy cập được xác định thông qua các phép toán quan hệ Kết quả cuối cùng của tầng này là câu truy vấn được thể hiện dưới dạng các phép toán quan hệ.
Tầng xử lý vấn tin (Query Processing layer) có nhiệm vụ ánh xạ câu truy vấn thành biểu thức đại số quan hệ, tối ưu hóa chuỗi thao tác để nâng cao hiệu suất của cơ sở dữ liệu (CSDL) Tầng này phân rã câu truy vấn thành một cây đại số, bao gồm các phép toán đại số quan hệ, và lưu trữ kết quả trong một hoạch định truy xuất Kết quả cuối cùng của tầng này là câu truy vấn được biểu diễn dưới dạng đại số quan hệ.
Tầng thực thi (Execution Layer) đảm nhận vai trò quan trọng trong việc thực hiện các hoạch định truy xuất, bao gồm quản lý giao dịch và đồng bộ hóa các phép toán đại số quan hệ Nó biên dịch các phép toán này thông qua việc gọi tầng truy xuất dữ liệu để thực hiện các yêu cầu truy xuất và cập nhật.
Tầng truy xuất dữ liệu (Data Access Layer) chịu trách nhiệm quản lý cấu trúc dữ liệu và thiết lập các mối quan hệ giữa chúng Tầng này cũng quản lý các vùng đệm bằng cách lưu trữ tạm thời các dữ liệu thường xuyên được truy xuất, giúp giảm thiểu việc truy xuất dữ liệu từ đĩa.
Tầng duy trì nhất quán (Consistency Layer) có vai trò quan trọng trong việc quản lý các hoạt động đồng thời và ghi lại các yêu cầu cập nhật Tầng này giúp khôi phục các giao dịch, hệ thống và thiết bị một cách hiệu quả sau khi xảy ra sự cố.
TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN BỐ
CSDL phân bố là một tập hợp dữ liệu có liên kết logic, được phân bố vật lý trên nhiều máy chủ trong mạng máy tính Hệ CSDLPT bao gồm cả CSDL và hệ quản trị CSDLPT, nhấn mạnh hai khía cạnh quan trọng của cấu trúc này.
Cơ sở dữ liệu phân tán (CSDLPT) khác với cơ sở dữ liệu tập trung (CSDLTT) ở chỗ dữ liệu không được lưu trữ tại một vị trí duy nhất, mà phân bố trên nhiều site khác nhau Điều này cho phép CSDLPT cung cấp tính linh hoạt và khả năng mở rộng tốt hơn trong quản lý và truy cập dữ liệu.
Cơ sở dữ liệu phân tán (CSDLPT) có sự tương quan logic giữa các loại dữ liệu, với những tính chất ràng buộc lẫn nhau Điều này giúp phân biệt CSDLPT với các cơ sở dữ liệu địa phương hoặc các tệp lưu trữ trên các trang web khác nhau.
Hệ quản trị cơ sở dữ liệu (CSDL) phân bố là phần mềm giúp quản lý CSDL phân bố một cách hiệu quả, đồng thời đảm bảo tính minh bạch cho người dùng CSDL phân bố được tổ chức thống nhất, mặc dù về mặt vật lý, nó được phân tán ở nhiều vị trí khác nhau, tạo ra một hệ thống CSDL duy nhất.
Sự phân bố dữ liệu hoàn toàn minh bạch với người sử dụng Để quản lý hiệu quả các dữ liệu phân bố, mỗi trạm (site) cần cài đặt các thành phần hệ thống cần thiết.
Thành phần quản trị CSDL (Database Management DM)
Thành phần truyền dữ liệu (Data Communication DC)
Từ điển dữ liệu (Data Dictionary DD): thông tin về sự phân bố dữ liệu trên mạng
Thành phần CSDLPT (Distributed Database DDB)
Các dịch vụ của hệ thống trên bao gồm:
Các ứng dụng truy nhập CSDL từ xa
Cung cấp các mức trong suốt phân bố.
Hỗ trợ quản trị và điều khiển cơ sở dữ liệu (CSDL) thông qua các bộ công cụ, thu thập thông tin từ các trình tiện ích, và cung cấp cái nhìn tổng quan về các file dữ liệu trên mạng.
Khả năng mở rộng với các hệ thống khác nhau
Cung cấp khả năng điều khiển đồng thời và phục hồi các giao tác phân bố.
Hình 1.9 Hệ quản trị CSDL phân bố
Các hệ quản trị cơ sở dữ liệu phân bố thường cung cấp tính năng điều khiển tương tranh và khôi phục các tiến trình phân bố Khả năng truy cập từ xa có thể được thực hiện thông qua hai phương pháp khác nhau.
Cách thứ nhất (hình 1.10a) cho phép ứng dụng yêu cầu truy cập từ xa, với yêu cầu được tự động định tuyến bởi DDBMS tới máy chủ chứa dữ liệu Quá trình này diễn ra tại máy chủ cơ sở dữ liệu và kết quả sẽ được gửi trở lại trạm yêu cầu Phương pháp này thích hợp cho truy cập từ xa, giúp phân phối dữ liệu hiệu quả thông qua việc cung cấp các file chung (global) và cho phép truy cập trước đó được tự động địa chỉ hóa tới các trạm ở xa.
Hình 1.10 b minh họa một phương pháp khác, trong đó chương trình phụ được triển khai tại các trạm xa, yêu cầu lập trình viên tự phát triển, và các kết quả sẽ được trả về cho chương trình ứng dụng.
Trình quản lý các ứng dụng
Trình quản lý dữ liệu phân bố
Trình quản lý truyền thông
Hệ quản trị CSDL phân bố
Trình quản lý các ứng dụng
Trình quản lý dữ liệu phân bố
Trình quản lý truyền thông
Hệ quản trị CSDL phân bố
Hệ quản trị cơ sở dữ liệu phân bố hỗ trợ hai cách tiếp cận khác nhau, mỗi cách đều có những ưu điểm và thách thức riêng Giải pháp đầu tiên mang lại khả năng phân phối cao hơn, trong khi giải pháp thứ hai có thể tối ưu hơn khi có nhiều chương trình đồng thời yêu cầu truy cập, cho phép các chương trình phụ thực hiện yêu cầu từ xa và trả kết quả hiệu quả.
Hình 1.10a Truy nhập CSDL từ xa
Hình 1.10b Truy nhập từ xa bằng chương trình phụ
1.11.2 Hệ quản trị CSDL phân bố thuần nhất
CSDLPT có được bằng cách chia một CSDL thành một tập các CSDL cục bộ (Local) và được quản lý bởi cùng một hệ QTCSDL, trong hình 2.13
CSDLPT có tính thuần nhất hay không phụ thuộc vào các yếu tố như phần cứng, hệ điều hành và các hệ quản trị CSDL cục bộ Một hạn chế quan trọng của hệ QTCSDL cục bộ là sự phụ thuộc vào quản lý hệ điều hành mạng truyền thông.
1.11.3 Hệ quản trị CSDL phân bố không thuần nhất
CSDLPT không thuần nhất được tạo thành từ nhiều CSDL cục bộ, mỗi CSDL được quản lý bởi các hệ QTCSDL khác nhau Để đảm bảo quản lý thống nhất, hệ QTCSDLPT không thuần nhất thực hiện việc chuyển đổi các mô hình dữ liệu từ các hệ QTCSDL khác nhau.
Yêu cầu truy nhập 1 Chương trình ứng dụng
Hình 1,11 Kiến trúc mô hình hệ QTCSDLPT thuần nhất
Hình 1.12 Kiến trúc mô hình hệ QTCSDLPT không thuần nhất
Việc phát triển cơ sở dữ liệu (CSDL) phân bố theo mô hình Top-down mà không phụ thuộc vào các hệ thống trước đó là lý tưởng, nhưng trong trường hợp cần xây dựng từ các CSDL hiện có, việc phát triển một hệ không thuần nhất là cần thiết Phương pháp tiếp cận từ dưới lên (Bottom-up) được coi là hiệu quả nhất Đồng thời, quản lý dữ liệu phân bố yêu cầu cung cấp các giao diện trao đổi giữa các hệ thống quản trị CSDL Tuy nhiên, việc quản trị CSDL phân bố không thuần nhất gặp nhiều khó khăn.
MÔ HÌNH KIẾN TRÚC HỆ QUẢN TRỊ CSDL PHÂN BỐ
Hệ quản trị cơ sở dữ liệu phân tán có ba kiểu kiến trúc chính: hệ Client-Server, hệ phân tán kiểu ngang hàng (Peer-to-Peer) và hệ đa cơ sở dữ liệu Mỗi kiểu kiến trúc này đều có những đặc điểm riêng, phù hợp với các nhu cầu và yêu cầu khác nhau trong quản lý dữ liệu.
Hệ quản trị CSDL phân bố
Hệ quản trị CSDL1 Hệ quản trị CSDL2 Hệ quản trị CSDL3
Các lựa chọn cài đặt hệ quản trị cơ sở dữ liệu (CSDL) được phân loại dựa trên ba đặc tính chính: (1) tính tự trị, cho phép hệ thống hoạt động độc lập; (2) tính phân bố, hỗ trợ việc lưu trữ và xử lý dữ liệu trên nhiều nút khác nhau; và (3) tính hỗn hợp (không thuần nhất), cho phép kết hợp nhiều công nghệ và kiến trúc khác nhau trong cùng một hệ thống.
Tính tự vận hành, hay còn gọi là tính tự trị, thể hiện mức độ độc lập trong hoạt động của từng hệ quản trị cơ sở dữ liệu (CSDL) riêng lẻ Nó được biểu hiện qua khả năng trao đổi thông tin giữa các hệ thống thành viên, thực hiện giao dịch độc lập và quyền sửa đổi các giao dịch đó Yêu cầu của hệ thống tự vận hành có thể được xác định theo nhiều cách khác nhau.
Các thao tác cục bộ của hệ quản trị CSDL riêng lẻ không bị ảnh hưỏng khi tham gia hoạt động trong hệ đa CSDL (Multi Database System).
Các hệ quản trị CSDL xử lý và tối ưu truy vấn cũng không bị ảnh hưởng bởi thực thi truy vấn toàn cục truy nhập nhiều hệ CSDL.
Sự nhất quán của hệ thống hoặc thao tác được đảm bảo không bị ảnh hưởng khi các hệ quản trị cơ sở dữ liệu riêng lẻ kết nối hoặc tách rời khỏi tập hợp các cơ sở dữ liệu.
Hình 1.13 Lựa chọn cài đặt hệ quản trị CSDL Mặt khác, xác định chiều của tính tự trị như sau:
1 Tự trị thiết kế: Mỗi hệ quản trị CSDL riêng lẻ có thể sử dụng mô hình dữ liệu và kỹ thuật quản lý giao dịch theo ý muốn.
2 Tự trị truyền thông: Mỗi hệ quản trị CSDL riêng lẻ tuỳ ý đưa ra quyết định của nó về loại thông tin mà nó cần cung cấp cho các hệ quản trị CSDL khác hoặc phần mềm điều khiển thực thi toàn cục của nó.
3 Tự trị thực thi: Mỗi hệ quản trị CSDL có thể thực thi các giao dịch được gửi tới nó theo bất kỳ cách nào mà nó muốn.
Ba lựa chọn xem xét ở trên cho các hệ thống tự trị không phải là những khả năng duy nhất, mà là ba lựa chọn phổ biến nhất.
1.12.2 Tính phân bố dữ liệu
Tính phân bố dữ liệu liên quan đến cách thức dữ liệu được phân bố vật lý trên nhiều vị trí khác nhau Người sử dụng tiếp cận dữ liệu thông qua khung nhìn dữ liệu, với hai hình thức phân bố chính là kiểu Client/Server và kiểu ngang hàng Ngoài ra, còn có các tùy chọn không phân bố, tạo thành trục kiến trúc cho ba loại kiến trúc khác nhau.
Kiến trúc Client/Server đang trở nên phổ biến, với việc quản trị dữ liệu được thực hiện tại Server trong khi Client cung cấp môi trường ứng dụng và giao diện người dùng Trách nhiệm truyền thông được phân chia giữa Client và Server, tạo nên một hệ thống quản trị cơ sở dữ liệu phân tán Có nhiều phương pháp xây dựng hệ thống này, mỗi phương pháp mang lại một mức độ phân bố chức năng khác nhau.
Trong hệ thống ngang hàng, không có sự phân biệt giữa chức năng của Client và Server, với mỗi máy đều sở hữu đầy đủ khả năng của hệ quản trị cơ sở dữ liệu Các máy này có thể trao đổi thông tin lẫn nhau để thực hiện các truy vấn và giao dịch, tạo nên một hệ thống phân phối hoàn chỉnh.
Tính hỗn hợp trong hệ phân bố xuất phát từ sự khác biệt về phần cứng, giao thức mạng và cách quản lý dữ liệu Điều này thể hiện rõ qua các mô hình dữ liệu, ngôn ngữ truy vấn và giao thức quản lý giao dịch Việc biểu diễn dữ liệu bằng nhiều mô hình khác nhau tạo ra tính hỗn hợp, không chỉ trong việc sử dụng các dạng truy cập dữ liệu mà còn trong sự khác biệt giữa các ngôn ngữ truy vấn, ngay cả khi cùng sử dụng một mô hình dữ liệu Chẳng hạn, DB2 sử dụng SQL trong khi INGRES sử dụng QUEL để diễn tả các yêu cầu tương tự.
Xem xét các kiến trúc trong hình 2.15, bắt đầu từ gốc và di chuyển theo trục tự trị Ký hiệu
Trục tự trị gồm các kiểu A0, A1 và A2, trong đó A0 là biểu diễn tích hợp chặt chẽ, A1 là hệ bán tự trị và A2 là hệ cô lập Trục phân bố có D0 không phân bố, D1 là hệ Client/Server và D2 là phân bố ngang hàng Cuối cùng, trục hỗn hợp phân chia thành H0 cho các hệ thống thuần nhất và H1 cho các hệ hỗn hợp.
2.15 định nghĩa hai loại kiến trúc: (A0, D2, H0) là hệ quản trị CSDL thuần nhất phân bố (ngang hàng) và (A2, D2, H1) là phức hệ CSDLhỗn hợp, phân bố ngang hàng.
Hệ thống phức hợp (Composite System) bao gồm các loại kiến trúc như A0, D0, H0, và chỉ trở thành một hệ thống thực sự khi dữ liệu và hỗn hợp được phân bố hợp lý Nếu không, nó chỉ là sự tích hợp logic của nhiều hệ quản trị cơ sở dữ liệu Kiến trúc này phù hợp với các hệ thống đa xử lý, nơi tài nguyên được sử dụng chung, nhưng không phổ biến trong thực tế.
Loại kiến trúc A0, D0, H1 yêu cầu sự hiện diện của nhiều bộ quản lý dữ liệu hỗn hợp để cung cấp cái nhìn tích hợp cho người sử dụng Trước đây, việc thiết kế truy cập tích hợp cho các cơ sở dữ liệu mạng, phân cấp và quan hệ được thực hiện trên cùng một máy đơn.
Trong trường hợp cơ sở dữ liệu phân bố, việc có một khung nhìn tích hợp về dữ liệu là rất quan trọng để cung cấp thông tin cho người sử dụng Hệ thống này rất phù hợp cho mô hình phân phối Client/Server, giúp tối ưu hóa hiệu suất và khả năng truy cập dữ liệu.
Biểu diễn môi trường phân bố hoàn toàn trong suốt mang lại trải nghiệm người dùng tối ưu, không phân biệt giữa Client và Server, đồng thời cung cấp đầy đủ các chức năng cần thiết.
Hệ thống A1, D0, H0 là các hệ thống bán tự trị, cho phép các thành viên có quyền tự trị nhất định trong hoạt động của mình Kiến trúc này thiết lập bộ khung cho hai dạng kiến trúc tiếp theo, tuy nhiên, trong thực tế, nó rất ít được sử dụng.
KIẾN TRÚC HỆ QUẢN TRỊ CSDL PHÂN BỐ
Phần này sẽ xem xét chi tiết ba kiến trúc hệ thống trong số các kiến trúc đã được trình bày ở trên Ba loại kiến trúc là:
Hệ Client/Server, bỏ qua các vấn đề hỗn hợp và tự trị có dạng (Ax, D1, Hy).
Các CSDL phân bố, ứng với (A0, D2, H0).
Hệ đa CSDL, ứng với (A2, Dx, Hy).
Hệ quản trị cơ sở dữ liệu Client/Server sử dụng kiến trúc hai lớp bao gồm chức năng Server và Client, giúp đơn giản hóa việc quản lý sự phức tạp của các hệ thống CSDL hiện đại cũng như việc phân phối dữ liệu.
Máy chủ (Server) thực hiện hầu hết các công việc quản lý dữ liệu, bao gồm xử lý và tối ưu hóa truy vấn, quản lý giao dịch và lưu trữ Trong khi đó, Client, bên cạnh việc cung cấp ứng dụng và giao diện người dùng, có một module hệ quản trị cơ sở dữ liệu (CSDL) để quản lý dữ liệu và khóa giao dịch Client và Server giao tiếp thông qua các câu lệnh SQL, trong đó Client gửi truy vấn SQL đến Server, và Server thực hiện các truy vấn này trước khi trả lại kết quả cho Client.
Kiến trúc Client/Server là mô hình trong đó một Server phục vụ nhiều Client, được gọi là đa Client-một Server Dữ liệu được quản lý tương tự như trong CSDL tập trung, với CSDL chỉ lưu trữ trên Server và có phần mềm quản lý đi kèm Tuy nhiên, điểm khác biệt chính giữa mô hình này và các hệ thống tập trung nằm ở cách thực thi giao dịch và quản lý bộ nhớ Cache.
Kiến trúc đa Client-đa Server có hai chiến lược quản lý: một là Client tự quản lý kết nối đến Server, và hai là Client chỉ biết Server chủ và liên lạc với các Server khác thông qua Server chủ Chiến lược đầu tiên đơn giản hóa cho các Server nhưng tăng thêm trách nhiệm cho Client, tạo ra hệ thống máy khách tự phục vụ Ngược lại, chiến lược thứ hai tập trung vào quản lý dữ liệu tại Server, đảm bảo tính trong suốt của truy cập dữ liệu qua giao diện Server.
Mô hình CSDLlogic Client/Server là duy nhất Mô hình mức vật lý của nó có thể phân bố.
Phân biệt giữa mô hình Client/Server và mô hình ngang hàng không chỉ dựa trên mức độ trong suốt mà người dùng và ứng dụng trải nghiệm, mà còn phụ thuộc vào kiến trúc được áp dụng để đạt được mức độ trong suốt đó.
Giao diện người sử dụng
Hệ quản trị CSDL Client Phần mềm truyền thông
SQL truy vấn Kết quả truy vấn
Bộ điều khiển dữ liệu ngữ nghĩa
Bộ tối ưu hoá truy vấn
Bộ quản lý giao dịch
Bộ quản lý khôi phục
Bộ xử lý hỗ trợ thời gian thực hiện
Hình 1.15 Kiến trúc tham chiếu CSDL phân bố.
Mô hình mở rộng từ ANSI/SPARC phản ánh tính trong suốt và tính độc lập dữ liệu, với sự hỗ trợ của các lược đồ khái niệm cục bộ và toàn cục cùng ánh xạ giữa chúng Tính trong suốt mạng được đảm bảo qua lược đồ khái niệm toàn cục, cho phép người sử dụng truy vấn dữ liệu mà không cần biết đến vị trí hay các thành phần CSDL cục bộ Hệ quản trị CSDL phân bố có khả năng dịch truy vấn toàn cục thành các nhóm truy vấn cục bộ, thực hiện bởi các thành phần quản trị CSDL phân bố tại các trạm khác nhau, đồng thời đảm bảo sự giao tiếp hiệu quả giữa các trạm.
Mô hình ANSI/SPARC đã được mở rộng với việc bổ sung từ điển/thư mục toàn cục GD/D (Glocal Directory/Directionary), cho phép ánh xạ yêu cầu toàn cục Đồng thời, ánh xạ cục bộ được thực hiện thông qua từ điển/thư mục cục bộ LD/D (Local Directory/Directionary) Do đó, các thành phần quản lý cơ sở dữ liệu cục bộ được tích hợp vào các chức năng của hệ quản trị cơ sở dữ liệu toàn cục.
Lược đồ khái niệm cục bộ được ánh xạ đến lược đồ tại từng vị trí cụ thể, trong khi lược đồ khái niệm toàn cục ánh xạ vào lược đồ cục bộ Tất cả các định nghĩa khung nhìn của mô hình ngoài đều có phạm vi toàn cục, đảm bảo tính trong suốt của cơ sở dữ liệu phân tán và tính độc lập của cơ sở dữ liệu phân bố.
Hình 1.16 sơ đồ chức năng của hệ quản trị CSDL phân bố tích hợp
Bộ quản lý hệ thống ứng dụng
Bộ xử lý lược đồ khái niệm toàn cục
Bộ quản lý toàn cục
Bộ xử lý lược đồ CSDL ngoài
Bộ quản lý CSDL toàn cục
Bộ quản lý CSDL toàn cục
Quản lý CSDL cục bộ Quản lý CSDL cục bộ
Bộ xử lý lược đồ khái niệm CSDL1
Bộ xử lý lược đồ khái niệm CSDL1
Bộ xử lý lược đồ khái niệm CSDL1
Bộ xử lý lược đồ khái niệm CSDL1
Bộ xử lý lược đồ khái niệm trong
Bộ xử lý lược đồ khái niệm trong
Hình 1.17 Các thành phần của một hệ quản trị CSDL phân bố.
Hệ quản trị cơ sở dữ liệu phân tán bao gồm hai thành phần chính: bộ xử lý phía người sử dụng (User Processor) và bộ xử lý dữ liệu (Data Processor) Bộ xử lý phía người sử dụng đảm nhiệm tất cả các tương tác với người dùng, trong khi bộ phận xử lý dữ liệu thực hiện các chức năng liên quan đến quản lý và xử lý thông tin.
1 Bộ xử lý giao diện người sử dụng: Có trách nhiệm dịch các lệnh của người sử dụng khi họ gửi đến và định dạng dữ liệu kết quả để gửi nó lại cho người sử dụng
LGỢc đồ khái niệm toàn cục
LGỢc đồ khái niệm cục b®
Bđ xử lý hỗ trỢ thòi gian thùc thi
B® quăn lý khôi phục cục b®
Bđ xử lý truy vấn cục b®
B® giám sát GD/D thùc thi toàn cục
B® tối Gu hóa truy vấn toàn cục
B® điều khiển d÷ liệu ng÷ nghĩa
Bđ xử lý giao diện ngGòi dùng
Yêu cầu cŭa ngGòi dùng éỏp ứng cŭa hệ thống
2 Bộ kiểm soát dữ liệu ngữ nghĩa: sử dụng ràng buộc toàn vẹn và xác thực, được định nghĩa như là một phần của lược đồ khái niệm cục bộ, để kiểm tra xem truy vấn của người sử dụng có được xử lý hay không Thành phần này cũng có trách nhiệm xác thực và một số chức năng khác.
3 Bộ phân rã và bộ tối ưu hoá truy vấn toàn cục xác định chiến lược thực thi để giảm thiểu chức năng chi phí, và dịch các truy vấn toàn cục ra thành các truy vấn cục bộ bằng cách sử dụng các lược đồ khái niệm cục bộ, toàn cục và thư mục toàn cục Bộ tối ưu hoá truy vấn có trách nhiệm tạo ra chiến lược thực thi các hoạt động kết nối phân bố.
4 Bộ giám sát thực thi phân bố phối hợp thực thi phân bố yêu cầu của người sử dụng
Bộ giám sát thực thi, hay còn gọi là bộ quản lý giao dịch phân bố, đóng vai trò quan trọng trong việc thực thi truy vấn trong hệ thống phân tán Tại một số trạm, bộ giám sát thực thi có thể liên lạc và tương tác với các bộ giám sát thực thi khác, đảm bảo hiệu quả và đồng bộ trong quá trình xử lý dữ liệu.
Phần thứ hai của hệ quản trị CSDL phân bố là bộ xử lý dữ liệu gồm ba thành phần:
1 Bộ tối ưu hoá truy vấn cục bộ hoạt động như là bộ chọn đường dẫn truy nhập Chọn đường truy nhập tốt nhất vào bất kỳ mục dữ liệu nào.
2 Bộ quản lý khôi phục cục bộ có trách nhiệm đảm bảo duy trì tính nhất quán trong CSDL cục bộ ngay cả khi có lỗi xảy ra.
3 Bộ hỗ trợ thời gian thực thi truy nhập vào CSDL tùy vào các lệnh trong lịch biểu được tạo ra bởi bộ tối ưu hóa truy vấn Bộ xử lý hỗ trợ thời gian thực thi là giao diện với hệ điều hành và chứa bộ quản lý vùng đệm CSDL (buffer hoặc cache), có trách nhiệm quản lý vùng đệm của bộ nhớ chính và quản lý việc truy nhập dữ liệu.
KIẾN TRÚC TỔNG QUAN CỦA MỘT HỆ QUẢN TRỊ PHỨC HỆ CSDL PHÂN BỐ (MuIti Database Management System)
1.14.1 Mô hình kiến truc tổng quan của một phức hệ
Một phức hệ phân bố bao gồm nhiều phức hệ quản trị được triển khai tại các vị trí khác nhau Mỗi phức hệ tại từng vị trí bao gồm hai thành phần chính.
Hệ quản trị dữ liệu DBMS (Database Management System) là nền tảng cơ sở dữ liệu cơ bản nhất trong hệ thống, có nhiệm vụ tổ chức và lưu trữ dữ liệu Nó thực hiện các thao tác truy vấn được gửi đến và trả về kết quả cho hệ thống.
Các phức hệ quản trị (Multi-DataBase Management System) tại mỗi site có nhiệm vụ quản lý các DBMS thành phần trong hệ thống và các mối tương tác giữa chúng Chúng cũng đảm nhận việc nhận và xử lý các câu truy vấn trước khi chuyển giao cho các DBMS thành phần.
Hình 1.18 mô tả mô hình kiến trúc của một phức hệ.
1.14.2 Phân loại các phức hệ dựa vào cấu trúc
Hệ quản trị phức hệ CSDL phân bố khác với hệ quản trị CSDL phân bố truyền thống ở chỗ định nghĩa lược đồ khái niệm toàn cục Trong hệ quản trị CSDL phân bố tích hợp logic, lược đồ khái niệm toàn cục là hợp của các CSDL cục bộ, trong khi hệ quản trị phức hệ chỉ định nghĩa một tập con của các CSDL cục bộ được chia sẻ Do đó, định nghĩa CSDL toàn cục đa CSDL có sự khác biệt so với định nghĩa CSDL toàn cục trong hệ quản trị CSDL phân bố.
Trong một hệ thống phân bố, mô hình kiến trúc tổng quan được thể hiện qua lược đồ khái niệm toàn cục (GCS), được xây dựng bằng cách tích hợp các lược đồ ngoài của các cơ sở dữ liệu tự vận hành cục bộ Điều này cho phép người sử dụng DBMS cục bộ định nghĩa khung nhìn riêng của họ mà không cần thay đổi các ứng dụng khi truy cập vào các cơ sở dữ liệu cục bộ khác.
Việc thiết kế lược đồ khái niệm toàn cục GCS trong hệ thống CSDL thường diễn ra theo phương pháp từ dưới lên (Bottom-Up), bắt đầu từ lược đồ khái niệm cục bộ và tiến tới lược đồ toàn cục Ngược lại, trong quản trị CSDL phân bố, thiết kế lược đồ khái niệm toàn cục GCS thường được thực hiện theo phương pháp từ trên xuống (Top-Down), ánh xạ ngược lại Khung nhìn của người sử dụng trên lược đồ quan hệ toàn cục được xác định dựa trên yêu cầu truy nhập toàn cục, bao gồm cả lược đồ ngoài toàn cục GES (Global External Schema) và lược đồ khái niệm toàn cục.
MuIti Database Management System user user
GCS không nhất thiết phải sử dụng theo cùng một mô hình và ngôn ngữ dữ liệu, không cần xác định hệ thống là thuần nhất hay hỗn hợp.
Nếu hệ thống là hỗn hợp, thì có hai lựa chọn cài đặt: đơn ngữ (Unilingual) và đa ngữ (Multilingual).
Hệ quản trị phức hệ CSDL đơn ngữ cho phép sử dụng nhiều mô hình và ngôn ngữ dữ liệu khác nhau khi truy xuất dữ liệu từ CSDL cục bộ và CSDL toàn cục Tất cả các ứng dụng truy xuất dữ liệu từ các phức hệ CSDL cần phải thông qua một khung nhìn đã được định nghĩa trong lược đồ khái niệm toàn cục, dẫn đến sự khác biệt giữa truy xuất CSDL toàn cục và cục bộ Do đó, việc định nghĩa lược đồ ngoài cục bộ (LES) trên lược đồ khái niệm cục bộ và lược đồ ngoài toàn cục (GES) trên lược đồ khái niệm toàn cục là cần thiết Các khung nhìn ngoài khác nhau có thể sử dụng các ngôn ngữ truy cập khác nhau, như được mô tả trong hình 2.21 về mô hình logic của hệ CSDL đơn ngữ tích hợp với lược đồ khái niệm cục bộ trong lược đồ khái niệm toàn cục.
Kiến trúc đa ngữ cho phép người dùng truy cập vào cơ sở dữ liệu toàn cục thông qua lược đồ ngoài được định nghĩa bởi ngôn ngữ của hệ quản trị cơ sở dữ liệu cục bộ Định nghĩa GCS trong cả kiến trúc đơn ngữ và đa ngữ là giống nhau, nhưng lược đồ ngoài trong kiến trúc đa ngữ được mô tả bằng ngôn ngữ của cơ sở dữ liệu cục bộ Các truy vấn được xử lý chính xác như trong các hệ quản trị cơ sở dữ liệu tập trung, với truy vấn cơ sở dữ liệu toàn cục sử dụng ngôn ngữ của hệ quản trị cơ sở dữ liệu Nhờ vào cách tiếp cận đa ngữ, người dùng có thể thực hiện truy vấn cơ sở dữ liệu một cách dễ dàng hơn.
Hình 1.19 kiến trúc phức hệ CSDL với một Iược đồ khái niệm toàn cục.
1.14.3 Các mô hình không sử dụng lược đồ khái niệm toàn cục
Một hệ thống có nhiều cơ sở dữ liệu (CSDL) mà không có lược đồ toàn cục mang lại nhiều ưu điểm so với hệ thống có lược đồ khái niệm toàn cục Hình 2.22 mô tả kiến trúc của mô hình hai tầng, bao gồm tầng hệ thống cục bộ và tầng phức hệ CSDL Tầng hệ thống cục bộ bao gồm một số hệ quản trị CSDL, có nhiệm vụ trình bày các phần của CSDL cục bộ mà nhiều người dùng các CSDL khác có thể sử dụng chung Dữ liệu dùng chung được trình bày bởi hệ thống này.
Tầng này được cấu trúc từ một tập hợp các lược đồ khái niệm cục bộ (LCS), có thể được định nghĩa qua lược đồ ngoài cục bộ Nếu có sự kết hợp, mỗi lược đồ LCS có khả năng sử dụng các mô hình dữ liệu khác nhau.
Tầng hệ đa CSDL trong hệ thống cục bộ bao gồm các khung nhìn được định nghĩa trên một hoặc nhiều lược đồ khái niệm cục bộ Điều này cho phép cấp quyền truy xuất đến nhiều CSDL thông qua ánh xạ giữa khung nhìn và lược đồ khái niệm cục bộ.
Hình 1.20 Kiến trúc phức hệ CSDL không sử dụng GCS
Mô hình kiến trúc của hệ đa CSDL khác biệt rõ rệt so với hệ quản trị CSDL phân bố, với sự tồn tại của các DBMS hoàn chỉnh cho từng CSDL riêng biệt Đa CSDL cung cấp một tầng phần mềm hoạt động trên các DBMS này, giúp người dùng truy xuất nhiều CSDL khác nhau Nội dung của tầng phần mềm sẽ thay đổi tùy thuộc vào việc có lược đồ khái niệm toàn cục hay không Trong trường hợp hệ phân bố, cần sao chép tầng đa CSDL cho mỗi vị trí có hệ quản trị CSDL cục bộ Nếu xem xét từng DBMS riêng lẻ, tầng phức hệ CSDL chỉ đơn giản là một ứng dụng thực hiện việc "đệ trình" các yêu cầu và nhận kết quả.
Hình 1.21 Các thành phần của một phức hệ CSDL
THIẾT KẾ CÁC HỆ CSDL PHÂN BỐ
CÁC VẤN ĐỀ VỀ PHÂN MẢNH DỮ LIỆU
Hệ cơ sở dữ liệu phân bố thường được thiết kế theo phương pháp từ trên xuống (Top-Down), với bước đầu tiên là thiết kế phân mảnh dữ liệu Mục tiêu của phân mảnh là tạo ra các đơn vị cấp phát logic, nhằm giảm thiểu chi phí truy vấn thông tin Các bộ hoặc thuộc tính của quan hệ không thể coi là đơn vị cấp phát, vì điều này sẽ làm phức tạp quá trình cấp phát Thiết kế phân mảnh có thể thực hiện bằng cách nhóm các bộ trong phân mảnh ngang hoặc các thuộc tính trong phân mảnh dọc, dựa trên những đặc tính tương đồng Các mảnh dữ liệu được tạo ra thông qua các phương pháp phân mảnh sẽ hình thành các đơn vị cấp phát khác nhau.
Trong thiết kế CSDL phân bố , cần thiết phải thực hiện phân mảnh dữ liệu vì những lý do sau đây:
Trong các hệ quản trị cơ sở dữ liệu (CSDL), dữ liệu được lưu trữ dưới dạng các bảng hai chiều, và các thao tác được thực hiện chủ yếu trên những bảng này Tuy nhiên, ứng dụng thường chỉ yêu cầu thao tác trên các tập con của các quan hệ, phản ánh khung nhìn dữ liệu của người sử dụng Do đó, việc xem xét các tập con của quan hệ trở thành đơn vị hợp lý để truy xuất thông tin và phân bố dữ liệu.
Việc phân rã quan hệ thành nhiều mảnh và xử lý từng mảnh như đơn vị dữ liệu riêng biệt 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ũng hỗ trợ thực hiện song song các câu truy vấn bằng cách chia chúng thành các câu truy vấn con hoạt động trên các mảnh Do đó, phân mảnh không chỉ tăng cường mức độ hoạt động đồng thời mà còn nâng cao lưu lượng hoạt động của hệ thống.
Tuy nhiên không phải việc phâ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ư:
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.
Các ứng dụng có khung nhìn được định nghĩa trên nhiều mảnh khác nhau có thể gây giảm hiệu suất hoạt động của hệ thống Điều này dẫn đến việc tăng chi phí truy xuất dữ liệu từ các mảnh và làm gia tăng chi phí kết nối giữa các mảnh.
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
Các quan hệ cơ sở dữ liệu thường được thể hiện dưới dạng bảng, và việc phân mảnh một quan hệ thành nhiều quan hệ con có thể thực hiện theo nhiều cách khác nhau Có hai kiểu phân mảnh chính: phân mảnh theo chiều dọc và phân mảnh theo chiều ngang, mỗi kiểu đều có những phương pháp phân chia tương ứng.
Phân mảnh theo chiều dọc là quá trình chia sẻ các quan hệ bằng cách thiết lập một quan hệ mới, chỉ bao gồm một số thuộc tính từ quan hệ gốc Điều này thực chất là một phép chiếu trên tập con các thuộc tính của quan hệ, giúp tối ưu hóa và quản lý dữ liệu hiệu quả hơn.
Ví dụ 2.1 Tách dọc quan hệ PROJ thành 2 quan hệ PROJ1 và PROJ2 như sau:
PNO,BUDGET (PROJ) và PNO,PNAME,LOG (PROJ) và
P1 Instrumentation Montreal P2 Database Develop New York
Phân mảnh ngang là quá trình chia nhỏ quan hệ theo chiều ngang, thực chất là việc lựa chọn các bộ trong quan hệ dựa trên một biểu thức điều kiện cụ thể.
Ví dụ 2.2 Tách ngang quan hệ PROJ thành 2 quan hệ PROJ1 và PROJ2 thoả theo điều kiện:
BUDGET ≤ 200000 và BUDGET > 200000 như sau:
Mức độ phân mảnh cơ sở dữ liệu cần được cân nhắc kỹ lưỡng để không ảnh hưởng đến hiệu suất truy vấn Việc phân mảnh có thể áp dụng cho các quan hệ chưa được phân mảnh hoặc các quan hệ đã được phân mảnh Phân mảnh có thể thực hiện theo chiều dọc, tức là phân chia theo từng thuộc tính, hoặc theo chiều ngang, tức là phân chia theo từng bộ trong quan hệ.
Một mức độ phân mảnh hợp lý là cần thiết để tránh các hạn chế liên quan đến phân mảnh, và điều này chỉ được xác định dựa trên các ứng dụng sẽ hoạt động trên cơ sở dữ liệu.
2.1.4 Các quy tắc phân mảnh
Để đảm bảo tính không thay đổi về ngữ nghĩa khi phân mảnh cơ sở dữ liệu, cần tuân thủ ba nguyên tắc quan trọng Những nguyên tắc này sẽ giúp duy trì tính toàn vẹn và chính xác của dữ liệu trong cơ sở dữ liệu quan hệ.
1 Tính đầy đủ: 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ó 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.
2 Tính phục hồi: Nếu một quan hệ R được phân rã thành các mảnh R1, R2,…,Rn khi đó: R
Toán tử Ri, với Ri thuộc tập FR, có sự thay đổi tùy theo từng loại phân mảnh Khả năng phục hồi các mối quan hệ từ các phân mảnh này sẽ đảm bảo việc 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 , (kj) 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ệ.
Khi cơ sở dữ liệu (CSDL) được phân mảnh và cấp phát cho các vị trí trên mạng, có thể xảy ra hai tình huống: không nhân bản hoặc nhân bản Trong trường hợp không nhân bản, CSDL được phân hoạch và chỉ có các mảnh được cấp phát trên các trạm mà không có bản sao nào Ngược lại, nếu CSDL được nhân bản, có thể có hai hình thức: toàn bộ CSDL có mặt trên tất cả các trạm (nhân bản đầy đủ) hoặc các mảnh của CSDL được phân phối với các bản sao đặt trên nhiều trạm (nhân bản từng phần) Một số bản sao của mảnh có thể được sử dụng làm đầu vào cho thuật toán cấp phát hoặc để xác định giá trị của biến do thuật toán quyết định.
Nhân bản dữ liệu không chỉ tăng cường độ tin cậy mà còn nâng cao hiệu quả của các câu truy vấn chỉ đọc (Read-only Query) Điều này cho phép truy xuất cơ sở dữ liệu (CSDL) khi xảy ra sự cố, đồng thời hỗ trợ thực hiện song song các truy vấn đến cùng một mục dữ liệu nhờ vào sự hiện diện của các bản sao tại nhiều vị trí khác nhau Hình 2.3 trình bày sự so sánh giữa ba phương pháp nhân bản dựa trên một số chức năng của hệ quản trị CSDL phân tán Để cấp phát dữ liệu hiệu quả, cần đảm bảo đáp ứng hai yêu cầu chính.
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.3 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
PHƯƠNG PHÁP PHÂN MẢNH NGANG
Phân mảnh ngang là quá trình chia một quan hệ thành nhiều nhóm bộ nhỏ hơn, tạo ra các quan hệ con Số lượng các quan hệ con phụ thuộc vào các điều kiện ràng buộc của thuộc tính Các bộ trong các quan hệ con hoàn toàn tách biệt với nhau Thực chất, phân mảnh ngang là việc chọn lọc các quan hệ thỏa mãn một biểu thức điều kiện nhất định.
Có hai loại phương pháp phân mảnh ngang là:
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ệ đó.
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.2 Thông tin cần thiết của 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
Tính thực tế Có thể áp dụng Thực tế Có thể áp dụng
Cùng mức độ khó khăn Cùng mức độ khó khăn
Nhân bản hoàn toàn Nhân bản một phần
Xử lý truy vấn Dễ
Quản lý thư mục Dễ hoặc không tồn tại Điều khiển đồng thời Vừa phải Khó Dễ Độ tin cậy Rất cao Cao Thấp
Phân hoạch hệ thực thể (ER) mô tả rõ ràng các mối liên hệ giữa các đối tượng trong cơ sở dữ liệu (CSDL) Các mối quan hệ này thường được phân loại thành ba loại chính: một - một, một - nhiều và nhiều - nhiều Để phục vụ cho thiết kế, các đường nối (Link) có hướng giữa các quan hệ được sử dụng để biểu diễn thông qua thao tác nối bằng Equijoin.
Trong hình 2.4, mỗi chức vụ (Title) có nhiều nhân viên (Employee) đảm nhiệm, thể hiện mối quan hệ một - nhiều với đường nối có hướng L1 từ quan hệ PAY đến EMP Đồng thời, mối quan hệ nhiều - nhiều giữa các quan hệ EMP và PROJ đến quan hệ ASG được biểu diễn qua hai đường nối L2.
Hình 2.4 Mô tả mối quan hệ giữa các quan hệ bởi các đường nối
Quan hệ tại điểm cuối của đường nối được gọi là quan hệ chủ (quan hệ đích), trong khi các quan hệ tại điểm đầu được gọi là quan hệ thành viên (quan hệ nguồn) Ánh xạ giữa Owner và Member từ tập đường nối tới tập quan hệ cho phép xác định quan hệ đích hoặc quan hệ nguồn của một đường nối cụ thể Ví dụ, trong hình 2.4, owner(L1) = PAY và member(L1) = EMP.
Ký hiệu lực lượng của mỗi quan hệ R được gọi là Card(R) Để thực hiện phân mảnh hiệu quả, cần có cả thông tin định tính và định lượng Thông tin định tính đóng vai trò hướng dẫn cho quá trình phân mảnh, trong khi thông tin định lượng chủ yếu được áp dụng trong các mô hình cấp phát.
Thông tin định tính cơ bản bao gồm các vị từ trong câu truy vấn Vị từ đơn giản (Simple Predicate) là thành phần chính thể hiện hành động hoặc trạng thái của chủ ngữ Trong khi đó, vị từ hội sơ cấp (Minterm Predicate) là một dạng vị từ phức tạp hơn, bao gồm các biến thể của vị từ đơn giản, giúp mở rộng và làm rõ ngữ nghĩa trong câu.
Trong một quan hệ R(A1, A2, , An), mỗi thuộc tính Ai được xác định trên một miền biến thiên Di Một vị từ đơn giản Pj được định nghĩa trên quan hệ R có dạng nhất định.
Trong đó, θ thuộc tập hợp {=, , ≥} và giá trị (Value) được chọn từ miền Ai (Value thuộc Di) Chúng ta sử dụng Pri để biểu thị tập hợp tất cả các vị từ đơn giản được định nghĩa trên quan hệ Ri, với các phần tử của Pri được ký hiệu là pij.
Ví dụ 2.5 Cho quan hệ PROJ
BUDGET ≤ 200000 là các vị từ đơn giản.
Trong thực tế, các câu truy vấn thường được tạo thành từ nhiều vị từ đơn giản Mỗi tổ hợp của những vị từ này được gọi là vị từ hội sơ cấp Đối với 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 dựa trên các vị từ này.
Mỗi vị từ đơn giản có thể xuất hiện dưới dạng tự nhiên hoặc dạng phủ định trong vị từ hội sơ cấp.
Phủ định của một vị từ sẽ có thể:
Attribute = Value không có phủ định.
Giá trị thuộc tính (Attribute) không vượt quá giá trị (Value) được biểu thị bằng công thức Attribute ≤ Value, trong khi phủ định của nó là Attribute > Value Đối với cận dưới, nếu cận dưới không lớn hơn hoặc bằng thuộc tính 1, ta có phủ định là ơ(Cận_dưới ≤ Attribute_1) Tương tự, khi thuộc tính 1 không nhỏ hơn hoặc bằng cận trên, phủ định sẽ là ơ(Attribute_1 ≤ Cận_trên) Cuối cùng, khi cận dưới không nhỏ hơn hoặc bằng thuộc tính 1 và thuộc tính 1 không nhỏ hơn hoặc bằng cận trên, phủ định sẽ là ơ(Cận_dưới ≤ Attribute_1 ≤ Cận_trên).
This article examines simple predicates that can be defined within the PAY relationship, showcasing various job titles such as "Elect Eng," "Syst Anal," "Mech Eng," and "Programmer." The analysis categorizes salaries into two groups: those earning less than or equal to 30,000 and those earning more than 30,000.
Các vị từ hội sơ cấp được xác định dựa trên các vị từ đơn giản, bao gồm: m1: TITLE = “Elect.Eng” và SAL ≤ 30000; m2: TITLE = “Elect.Eng” và SAL > 30000; m3: ơ(TITLE = “Elect.Eng”) và SAL ≤ 30000; m4: ơ(TITLE = “Elect.Eng”) và SAL > 30000.
30000 m5: TITLE = “Programmer” ^ SAL ≤ 30000 m6: TITLE = “Programmer” ^ SAL > 30000 p p i k i
Thông tin số lượng về ứng dụng cần phải có hai tập dữ liệu:
1 Độ tuyển hội sơ cấp (Minterm Selectivity): số các bộ của quan hệ sẽ được chọn theo vị từ hội sơ cấp cho trước, ký hiệu chọn của hội sơ cấp m là sel(m).Ví dụ, không có bộ nào được chọn trong PAY thoả mãn vị từ hội sơ cấp m1 Có 1 bộ thoả m2.
PHÂN MẢNH NGANG DẪN XUẤT
Phân mảnh ngang dẫn xuất dựa trên quan hệ thành viên của một đường nối theo phép toán chọn trên quan hệ chủ, nhằm mục tiêu chia các quan hệ thành viên thành các mảnh của quan hệ chủ, được định nghĩa trên các thuộc tính của quan hệ thành viên Liên kết giữa quan hệ chủ và quan hệ thành viên được xác định qua nối bằng (Equijoin), trong khi kết nối có thể được thực hiện thông qua nối nửa (Semijoin).
Cho một đường nối L trong đó, Owner(L) = S và Member(L) = R Phân mảnh ngang dẫn xuất của R được định nghĩa như sau:
Ri = R α Si 1 i k, trong đó, k là số mảnh
Si = Fi (S), Fi là biểu thức định nghĩa mảnh ngang nguyên thuỷ Si
Cho Owner(L) = PAY và Member(L) = EMP Nhóm các kỹ sư (Engineer) thành hai nhóm theo lương SAL≤30000 và SAL>30000.
PAY1 = σ SAL≤30000(PAY) PAY2 = σSAL>30000(PAY)
Hai mảnh EMP1 và EMP2 được định nghĩa như sau:
Hình 2.8 Phân mảnh ngang dẫn xuất quan hệ EMP
Trong một số trường hợp, như thí dụ 2.11, mỗi mảnh chỉ có một đường liên kết đơn giản, tạo thành đồ thị đơn giản Thiết kế này mang lại ưu điểm về mối liên kết giữa các mảnh, cho phép quan hệ thành viên và quan hệ chủ nhân của đường kết nối được cấp phát cho một vị trí Các nối giữa các cặp mảnh khác nhau có thể thực hiện độc lập và song song, cho phép thực hiện nhiều câu truy vấn tại nhiều vị trí khác nhau Điều này không chỉ tối ưu hóa thời gian đáp ứng mà còn cải thiện lưu lượng của hệ thống, ví dụ như giữa các mảnh EMP và PAY Trong những trường hợp này, thuật toán phân mảnh trở nên đơn giản hơn.
Trong một số trường hợp, có nhiều hơn hai liên kết đến một quan hệ R, dẫn đến việc lựa chọn thiết kế đồ thị nối phân hoạch (Partioned Join Graph) Đồ thị phân hoạch có thể chứa hai hoặc nhiều đồ thị con mà không có đường kết nối giữa chúng, mặc dù các đồ thị này thường có thể cấp phát nhưng việc phân bố để thực hiện song song lại rất khó khăn Ví dụ, trong hình 2.4 có hai đường nối đến quan hệ ASG, cho thấy có nhiều cách phân mảnh ngang dẫn xuất quan hệ R Quyết định chọn phân mảnh nào tối ưu hơn cần dựa trên hai tiêu chuẩn quan trọng.
1 Phân mảnh có đặc tính kết nối tốt hơn
2 Phân mảnh được sử dụng cho nhiều ứng dụng hơn
Hình 2.9 Đồ thị đơn giản nối giữa các mảnh
Ví dụ 2.12 Trong hình 2.4 ta có
Owner(L1) = PROJ và Member(L1) = ASG
Owner(L2) = EMP và Member(L2) = ASG.
Thực hiện phân mảnh dẫn xuất của ASG ứng PROJ và EMP như sau: Xét quan hệ ASG có hai ứng dụng trên nó:
Hình 2.10 Phân mảnh dẫn xuất của ASG ứng với PROJ
Ứng dụng 1 cho phép tạo danh sách các kỹ sư làm việc tại một vị trí cụ thể, hoạt động trên ba trạm khác nhau Ứng dụng này truy xuất thông tin về các kỹ sư đang tham gia các dự án tại chỗ, với xác suất cao hơn so với các kỹ sư làm việc ở các vị trí khác.
Phân mảnh ASG theo các mảnh PROJ1, PROJ2, PROJ4 và ,PROJ4, như sau:
PROJ1 = LOC=“Montreal” BUDGET 20000(PROJ) PROJ3 = LOC=“New York” BUDGET 20000(PROJ) PROJ4 = LOC=“New York” BUDGET 20000(PROJ) PROJ6 = LOC=“Paris” BUDGET20000(PROJ)
Phân mảnh dẫn xuất của ASG theo {PROJ1, PROJ3, PROJ4, PROJ6} có thể được định nghĩa như sau:
ENO ENAME TITLE ENO ENAME TITLE
Tại các trạm quản lý nhân viên, ứng dụng sẽ truy xuất thông tin về thời gian thực hiện các dự án của nhân viên, giúp nâng cao hiệu quả quản lý và theo dõi tiến độ công việc.
WHERE ASG ENO = EMPi ENO
Trong đó i=1 hoặc i=2 tùy thuộc vào vị trí đưa ra truy vấn Phân mảnh dẫn xuất của ASG theo phân mảnh của EMP được định nghĩa nhw sau:
Hình 2.11 Phân mảnh dẫn xuất của ASG ứng với EMP
1 Phân mảnh dẫn xuất có thể xảy ra dây chuyền, trong đó một quan hệ được phân mảnh như là hệ quả của một phân mảnh cho một quan hệ khác, và đến lượt nó lại làm cho các quan hệ khác phải phân mảnh (như dây chuyền PAY-EMP-ASG).
2 Một quan hệ có thể có nhiều cách phân mảnh Chọn lựa một lược đồ phân mảnh nào cho tối ưu phụ thuộc vào ứng dụng và cấp phát.
PHÂN MẢNH DỌC
2.4.1 Khái niệm phân mảnh dọc
Phân mảnh dọc quan hệ R tạo 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 quan hệ R cùng với khóa của nó Mục tiêu của việc phân mảnh dọc là chia nhỏ quan hệ để tối ưu hóa việc lưu trữ và truy xuất dữ liệu.
R là tập hợp các quan hệ nhỏ hơn, giúp tạo ra nhiều ứng dụng có thể thực hiện trên một mảnh Mảnh tối ưu là mảnh tạo ra một lược đồ phân mảnh, nhằm giảm thiểu thời gian thực hiện của ứng dụng trên mảnh đó.
Kỹ thuật phân mảnh dọc phức tạp hơn kỹ thuật phân mảnh ngang do số lượng lựa chọn phân hoạch rất lớn Trong trường hợp phân mảnh ngang, với n là số vị từ đơn giản trong Pr, sẽ có 2^n vị từ hội sơ cấp có thể được định nghĩa Ngược lại, một số vị từ hội sơ cấp cũng tồn tại trong phân mảnh này.
Quản lý E6 P3 có thể mâu thuẫn với các phép kéo theo, dẫn đến việc giảm số lượng các mảnh dự tuyển cần xem xét Trong trường hợp phân mảnh dọc, nếu quan hệ có m thuộc tính không phải là khoá chính, số mảnh có thể có là m m Để đạt được các lời giải tối ưu cho bài toán phân mảnh dọc, hai phương pháp Heuristic cần được áp dụng 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 gán mỗi thuộc tính cho một mảnh và trong mỗi bước, nối một số mảnh lại với nhau cho đến khi thỏa điều kiện.
2 Tách mảnh bắt đầu bằng một quan hệ và quyết định cách phân chia dựa trên hành vi truy nhập của các ứng dụng trên các thuộc tính.
Kỹ thuật tách mảnh là phương pháp thiết kế từ trên xuống, trong đó các mảnh không gối chồng lên nhau, không phải là khoá chính Ngược lại, phương pháp nhóm thuộc tính thường dẫn đến việc tạo ra các mảnh gối chồng lên nhau Trong các hệ cơ sở dữ liệu phân tán, việc nghiên cứu và quan tâm đến các mảnh không gối chồng lên nhau là rất quan trọng.
Việc nhân bản các thuộc tính khóa tại mỗi trạm sẽ bảo đảm tính toàn vẹn ngữ nghĩa và làm giảm đi quá trình trao đổi dữ liệu.
2.4.2 Thông tin cần thiết của phân mảnh dọc a) Ma trận giá trị sử dụng thuộc tính: Gọi Q={q1, q2, , qq} là tập các câu vấn tin của người dùng hay còn gọi là các ứng dụng của người sử dụng., sẽ thực hiện trên quan hệ R(A1, A2,…, A n) Khi đó ma trận giá trị sử dụng thuộc tính có q hàng và n cột Các phần tử được ký hiệu là giá trị câu vấn tin qi i=1 q sử dụng thuộc tính Aj , j=1 n, ký hiệu là use(qi, Aj) được định nghĩa như sau:
1 Nếu thuộc tính Aj được vấn tin qi tham chiếu
Ví dụ 2.13: Xét quan hệ PROJ
P1 Instrumentation Montreal P2 Database Develop New York
Giả sử có các ứng dụng sau ssược sử dụng trên quan hệ PROJ: q1: Cho biết ngân sách của một dự án cụ thể
WHERE PNO=Value q2: Tên và ngân sách của tất cả dự án.
48 q3: Tên của các dự án được thực hiện tại một thành phố biết trước
WHERE PNO=Value q4: Tổng ngân sách dự án cho mỗi thành phố
Ký hiệu A1 đại diện cho thuộc tính PNO, A2 cho thuộc tính PNAME, A3 cho thuộc tính BUDGET và A4 cho thuộc tính LOC Ma trận biểu diễn giá trị sử dụng các thuộc tính này được thể hiện như sau:
Ma trận hấp dẫn (Affinity) của thuộc tính cho thấy mối quan hệ chặt chẽ giữa các thông tin phân mảnh dọc và các ứng dụng Các thuộc tính thường được truy cập chung và cần được định nghĩa một giá trị để chỉ ra mức độ liên hệ giữa chúng, được gọi là sự hấp dẫn của thuộc tính.
Số đo hấp dẫn giữa hai thuộc tính Ai, Aj của quan hệ R(A1,A2,…,An) ứng với tập ứng dụng Q={q1,q2,…,qq} được định nghĩa như sau: aff ( A i
Trong bài viết này, refl (qk) đại diện cho số lần truy xuất các thuộc tính (Ai, Aj) cho qk tại vị trí Sl, trong khi accl (qk) là tần suất truy xuất ứng dụng qk tại vị trí Sl Kết quả tính toán tạo ra một ma trận vuông kích thước n x n, với phần tử (i, j) thể hiện mức độ hấp dẫn của các thuộc tính Ai và Aj.
Giả sử refl(qk)=1 cho tất cả qk và Sl Nếu tần số ứng dụng là: acc1(q1) acc2(q2) acc3(q1) acc1(q2)=5 acc2(q2)=0 acc3(q2)=0 acc1(q3)% acc2(q3)% acc3(q3)% acc1(q4)=3 acc2(q4)=0 acc3(q4)=0
Khi đó số đo sự hấp dẫn giữa thuộc tính A1 và A3 có thể đo bằng: l 3 aff ( A 1 , A 3 ) k acc 1 ( q k ) acc 1 ( q 1 ) acc 2 (q 1 ) acc 3 (q 1 ) 45
Ứng dụng duy nhất truy xuất cả hai thuộc tính là q1 Ma trận hấp dẫn với đầy đủ thuộc tính được thể hiện trong hình 2.13 Lưu ý rằng để đảm bảo tính đầy đủ, các giá trị trên đường chéo cũng được tính, mặc dù chúng không có ý nghĩa thực tế.
Hình 2.13 Ma trận ái Iực thuộc tính
Thuật toán năng lượng nối BEA (Bond Energy Algorithm) nhóm các thuộc tính của một quan hệ dựa trên giá trị hấp dẫn trong ma trận AA Nó thực hiện việc hoán vị các hàng và cột của ma trận hấp dẫn thuộc tính AA nhằm tối ưu hóa số đo hấp dẫn chung AM (Global Affinity Measure) Kết quả cuối cùng là ma trận hấp dẫn tụ CA (Cluster Affinity) Thuật toán này bao gồm ba bước chính.
Bước 1: Đặt cố định một cột của AA vào trong CA Thuật toán chọn cột 1.
Bước 2: Giả sử đã có i cột được thực hiện và đặt vào ma trận CA Tiếp theo, chọn một trong (n-i) cột còn lại và thử đặt vào (i+1) vị trí còn lại trong ma trận CA, đảm bảo rằng số đo hấp dẫn chung AM tại vị trí đó đạt giá trị lớn nhất Thuật toán sẽ tiếp tục thực hiện cho đến khi không còn cột nào để đặt.
Cuối cùng, bước 3 là sắp xếp thứ tự hàng Sau khi xác định thứ tự các cột, cần sắp xếp các hàng sao cho phù hợp với vị trí tương đối của các cột.
Thuật toán BEA (Thuật toán năng lượng nối)
Input: AA:ma trận hấp dẫn thuộc tính
Output: CA : Ma trận hấp dẫn tụ nhóm
{Khởi tạo , nhớ rằng AA Ià ma trận n x n}
WhiIe index