Tiểu luận môn cơ sở dữ liệu nâng cao THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN

22 617 1
Tiểu luận môn cơ sở dữ liệu nâng cao THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC MỞ ĐẦU Cơ sở dữ liệu (CSDL) là một trong những lĩnh vực được quan tâm nhiều trong công nghệ thông tin. Ra đời từ những năm 60 đến nay, đã xuất hiện nhiều thế hệ quản trị CSDL, và cũng đã có nhiều ứng dụng trong khoa học kỹ thuật cũng như trong các ngành kinh tế khác. Trong đó phải nói đến cơ sở dữ liệu phân tán. Nó đã trở thành một lĩnh vực xử lý thông tin quan trọng và chúng ta dễ dàng nhận ra tầm quan trọng của nó ngày càng lớn mạnh. Chúng ta có lý do về tổ chức cũng như về kỹ thuật để phát triển theo xu hướng này: cơ sở dữ liệu phân tán khắc phục được một số hạn chế của cơ sở dữ liệu tập trung như quá tải server, nghẽn cổ chai khi truy xuất, tính sẵn sang/ độ tin cậy về khả năng chịu lỗi thấp. Hơn nữa cơ sở dữ liệu phân tán phù hợp hơn với các tổ chức dữ liệu phi tập trung cũng như với các ứng dụng phân tán. Khi nói đến CSDL phân tán người ta luôn hiểu một cách đơn giản nó là một tập hợp dữ liệu (cơ sở dữ liệu) của một hệ thống thông tin nhưng được phân bố trên nhiều địa điểm (site) của một mạng máy tính (intranet) và công việc này là phần quan trọng khi triển khai một hệ thống CSDL phân tán và trong phạm vi bài thu hoạch này chúng ta sẽ tìm hiểu cặn kẽ vấn đề này đặc biệt thông qua chương trình ứng dụng có sử dụng phương pháp phân mảnh dọc và các thuật toán để làm cho vấn đề của chúng ta trực quan hơn. I. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN. 1. Định nghĩa. 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ú ra 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ể phâ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. Hình 1. Môi trường hệ cơ sở dữ liệu Trong hệ thống cơ sở dữ liệu phân tán gồm nhiều trạm, mỗi trạm có thể khai thác các giao tác truy nhập dữ liệu trên nhiều trạm khác. Ví dụ 1 .1 : Với một ngân hàng có 3 chi nhánh đặt ở các vị trí khác nhau. Tại mỗi chi nhánh có một máy tính điều khiển một số máy kế toán cuối cùng (Teller terminal). Mỗi máy tính với cơ sở dữ liệu thống kê địa phương của nó tại mỗi chi nhánh được đặt ở một vị trí của cơ sở dữ liệu phân tán. Các máy tính được nối với nhau bởi một mạng truyền thông. 2. Các điểm đặc trưng của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán không đơn giản là việc phân tán các cơ sở dữ liệu tập trung bởi vì nó cho phép thiết kế các hệ thống có các tính chất khác với hệ thống tập trung truyền thống. Vì thế nên xem lại các tính chất đặc trưng của cơ sở dữ liệu tập trung truyền thống và so sánh nó với các tính chất của cơ sở dữ liệu phân tán. Các tính chất đặc trưng của cơ sở dữ liệu tập trung là điều khiển tập trung, độc lập dữ liệu, chuẩn hóa để loại bỏ sự dư thừa dữ liệu, các cấu trúc lưu trữ vật lý phức tạp đáp ứng cho việc truy xuất hiệu quả, toàn vẹn, phục hồi, điều khiển đồng thời và an toàn. Dưới đây là bảng so sánh các tính chất đặc trưng của cơ sở dữ liệu tập trung và cơ sở dữ liệu phân tán Tính chất đặc trưng Cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán Điều khiển tập trung - Khả năng cung cấp sự điều khiển tập trung trên các tài nguyên thông tin. - Cần có người quản trị cơ sở dữ liệu. - Cấu trúc điều khiển phân cấp: quản trị cơ sở dữ liệu toàn cục và quản trị cơ sở dữ liệu cục bộ phân tán. Độc lập dữ liệu - Tổ chức dữ liệu trong suốt với các lập trình viên. Các chương trình được viết có cái nhìn “quan niệm” về dữ liệu. - Lợi điểm: các chương trình không bị ảnh hưởng bởi sự thay đổi tổ chức vật lý của dữ liệu - Ngoài tính chất độc dữ liệu như trong cơ sở dữ liệu tập trung, còn có tính chất trong suốt phân tán nghĩa là các chương trình được viết như cơ sở dữ liệu không hề được phân tán. Sự dư thừa dữ liệu Giảm thiểu sự dư thừa dữ liệu do: - Tính nhất quán dữ liệu. - Tiết kiệm dung lượng nhớ. - Giảm thiểu sự dư thừa dữ liệu đảm bảo tính nhất quán. - Nhưng lại nhân bản dữ liệu đến các địa điểm mà các ứng dụng cần đến, giúp cho việc thực thi các ứng dụng không dừng nếu có một địa điểm bị hỏng. Từ đó vấn đề quản lý nhất quán dữ liệu sẽ phức tạp hơn. Các cấu trúc vật lý phức tạp và truy xuất hiệu quả Các cấu trúc vật lý phức tạp giúp cho việc truy xuất dữ liệu được hiệu quả. Các cấu trúc vật lý phức tạp giúp liên lạc dữ liệu trong cơ sở dữ liệu phân tán . Tính toàn vẹn, phục hồi, đồng thời Dựa vào giao tác. Dựa vào giao tác phân tán. 3. Kiến trúc cơ bản của một cơ sở dữ liệu phân tán Đây không là kiến trúc tường minh cho tất cả các CSDL phân tán, tuy 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. Sơ đồ tổng thể: Định nghĩa tất cả các dữ liệu sẽ được lưu trữ trong CSDL phân tán. Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của c ác tập quan hệ tổng thể . Sơ đồ phân đoạn: Mỗi quan hệ tổng thể có thể chia thành một vài phần không gối lên nhau được gọi là đoạn (fragments). Có nhiều cách khác nhau để thực hiện việc phân chia này. ánh xạ (một - nhiều) giữa sơ đồ tổng thể và các đoạn được định nghĩa trong sơ đồ phân đoạn. Sơ đồ định vị: Các đoạn là các phần logic của quan hệ tổng thể được định vị vật lý trên một hoặc nhiều vị trí trên mạng. Sơ đồ định vị định nghĩa đoạn nào định vị tại các vị trí nào. Lưu ý rằng kiểu ánh xạ được định nghĩa trong sơ đồ định vị quyết định CSDL phân tán là dư thừa hay không. Sơ đồ ánh xạ địa phương: ánh xạ các ảnh vật lý và các đối tượng được lưu trữ tại một trạm (tất cả các đoạn của một quan hệ tổng thể trên cùng một vị trí tạo ra một ảnh vật lý) Hình 1.2 Kiến trúc cơ bản của CSDL phân tán 4. Hệ quản trị CSDL phân tán Hệ quản trị CSDL phân tán (Distributed Database Management System- DBMS) được định nghĩa là một hệ thống phần mềm cho phép quản lý các hệ CSDL (tạo lập và điều khiển các truy nhập cho các hệ CSDL phân tán) và làm cho việc phân tán trở nên trong suốt với người sử dụng. Đặc tính vô hình muốn nói đến sự tách biệt về ngữ nghĩa ở cấp độ cao của một hệ thống với các vấn đề cài đặt ở cấp độ thấp. Sự phân tán dữ liệu được che dấu với người sử dụng làm cho người sử dụng truy nhập vào CSDL phân tán như hệ CSDL tập trung. Sự thay đổi việc quản trị không ảnh hưởng tới người sử dụng. Hệ quản trị CSDL phân tán gồm 1 tập các phần mềm (chương trình) sau:  Các chương trình quản trị các dữ liệu phân tán  Chứa các chương trình để quản trị việc truyền thông dữ liệu  Các chương trình để quản trị các CSDL địa phương.  Các chương trình quản trị từ điển dữ liệu. Để tạo ra một hệ CSDL phân tán (Distributed Database System-DDBS) các tập tin không chỉ có liên đới logic chúng còn phải có cấu trúc và được truy xuất qua một giao diện chung. Môi trường hệ CSDL phân tán là môi trường trong đó dữ liệu được phân tán trên một số vị trí. 5. Mục đích của việc sử dụng cơ sở dữ liệu phân tán Xuất phát từ yêu cầu thực tế về tổ chức và kinh tế: Trong thực tế nhiều tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho đa người dùng nằm phân tán, vì vậy cơ sở dữ liệu phân tán là con đường thích hợp với cấu trúc tự nhiên của các tổ chức đó. Đây là một trong những yếu tố quan trọng thức đẩy việc phát triển cơ sở dữ liệu phân tán. Sự liên kết các cơ sở dữ liệu địa phương đang tồn tại: cơ sở dữ liệu phân tán là giải pháp tự nhiên khi có các cơ sở dữ liệu đang tồn tại và sự cần thiết xây dựng một ứng dụng toàn cục. Trong trường hợp này cơ sở dữ liệu phân tán được tạo từ dưới lên dựa trên nền tảng cơ sở dữ liệu đang tồn tại. Tiến trình này đòi hỏi cấu trúc lại các cơ sở dữ liệu cục bộ ở một mức nhất định. Dù sao, những sửa đổi này vẫn là nhỏ hơn rất nhiều so với việc tạo lập một cơ sở dữ liệu tập trung hoàn toàn mới. Làm giảm tổng chi phí tìm kiếm: Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm soát được toàn bộ dữ liệu của họ. Tuy vậy, tại cùng thời điểm người sử dụng có thể truy cập đến dữ liệu ở xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng có thể chọn sao cho phù hợp với công việc xử lý dữ liệu cục bộ tại điểm đó. Sự phát triển mở rộng: Các tổ chức có thể phát triển mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị, vừa có quan hệ tương đối với các đơn vị tổ chức khác. Khi đó giải pháp cơ sở dữ liệu phân tán hỗ trợ một sự mở rộng uyển chuyển với một mức độ ảnh hưởng tối thiểu tới các đơn vị đang tồn tại Trả lời truy vấn nhanh: Hầu hết các yêu cầu truy vấn dữ liệu từ người sử dụng tại bất kỳ vị trí cục bộ nào đều thoả mãn dữ liệu ngay tại thời điểm đó. Độ tin cậy và khả năng sử dụng nâng cao: nếu có một thành phần nào đó của hệ thống bị hỏng, hệ thống vẫn có thể duy trì hoạt động. Khả năng phục hồi nhanh chóng: Việc truy nhập dữ liệu không phụ thuộc vào một máy hay một đường nối trên mạng. Nếu có bất kỳ một lỗi nào hệ thống có thể tự động chọn đường lại qua các đường nối khác. II. THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN. 1 Lý do phân mảnh. Khung nhìn của các ứng dụng thường chỉ là một tập con của quan hệ. Vì thế đơn vị truy xuất không phải là toàn bộ quan hệ nhưng chỉ là các tập con của quan hệ. Kết quả là xem tập con của quan hệ là đơn vị phân tán sẽ là điều thích hợp duy nhất. Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời. Ngoài ra việc phân mảnh các quan hệ sẽ cho phép thực hiện song song một câu vấn tin bằng cách chia nó ra thành một tập các câu vấn tin con hoạt tác trên các mảnh. Vì thế việc phân mảnh sẽ làm tăng mức độ hoạt động đồng thời và như thế làm tăng lưu lượng hoạt động của hệ thống. 2 Các quy tắc phân mảnh đúng đắn Chúng ta sẽ tuân thủ ba quy tắc trong khi phân mảnh mà chúng bảo đảm rằng CSDL sẽ không có thay đổi nào về ngữ nghĩa khi phân mảnh. a) Tính đầy đủ (completeness). Nếu một thể hiện quan hệ R được phân rã thành các mảnh R 1 , R 2 ,…,R n , thì mỗi mục dữ liệu có thể gặp trong R cũng có thể gặp một trong nhiều mảnh Ri. Đặc tính này giống như tính chất phân rã nối không mất thông tin trong chuẩn hoá, cũng quan trọng trong phân mảnh bởi vì nó bảo đảm rằng dữ liệu trong quan hệ R được ánh xạ vào các mảnh và không bị mất. Chú ý rằng trong trường hợp phân mảnh ngang "mục dữ liệu" muốn nói đến là một bộ, còn trong trường hợp phân mảnh dọc, nó muốn nói đến một thuộc tính. Nếu một thể hiện quan hệ R được phân rã thành các mảnh R 1 , R 2 ,…,R n , thì cần phải định nghĩa một toán tử quan hệ sao cho R= R i , R i ∈ F r Toán tử thay dổi tuỳ theo từng loại phân mảnh, tuy nhiên diều quan trọng là phải xác dịnh duợc nó. Khả nang tái thiết một quan hệ từ các mảnh của nó bảo dảm rằng các ràng buộc duợc dịnh nghia trên dữ liệu duới dạng các phụ thuộc sẽ duợc bảo toàn. c) Tính tách biệt (disjointness). Nếu quan hệ R được phân rã ngang thành các mảnh R 1 , R 2 ,…,R n , và mục dữ liệu d i nằm trong mảnh R j , thì nó sẽ không nằm trong mảnh R k khác ( k ≠ j ). Tiêu chuẩn này đảm bảo các mảnh ngang sẽ tách biệt (rời nhau). Nếu quan hệ được phân rã dọc, các thuộc tính khoá chính phải được lặp lại trong mỗi mảnh. Vì thế trong trường hợp phân mảnh dọc, tính tách biệt chỉ được định nghĩa trên các trường không phải là khoá chính của một quan hệ. 3. Phân mảnh dọc Một phân mảnh dọc của quan hệ R là tập các mảnh R 1 , , R k , trong đó mỗi mảnh chứa tập con thuộc tính của R và cá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 tập các quan hệ nhỏ hơn để nhiều ứng dụng chỉ cần chạy trên 1 mảnh. Phân mảnh tối ưu cho phép giảm tối đa thời gian thực thi các ứng dụng chạy trên các mảnh đó. Phân mảnh dọc phức tạp hơn so với phân mảnh ngang. Điều này do số khả năng phân mảnh dọc rất lớn. Trong phân mảnh ngang, nếu tổng số vị từ đơn giản trong Pr là n thì có 2 n vị từ hội sơ cấp có thể định nghĩa trên nó. Ngoài ra có thể loại bỏ một số lớn trong đó mâu thuẫn với phép kéo theo hiện có, như vậy sẽ làm giảm di số mảnh dự tuyển. Trong trường hợp phân mảnh dọc, nếu quan hệ có m thuộc tính không khoá, thì số mảnh có thể bằng B(m), số Bell thứ m. Với m lớn B(m) ≈ m m , chẳng hạn với B(10)≈115000, B(15)≈10 9 , B(30)≈10 23 . Những giá trị này cho thấy, nỗ lực tìm lời giải tối ưu cho bài toán phân hoạch doc không hiệu quả; vì thế phải dùng đến các phương pháp heuristic. Chúng ta nêu ở đây hai loại heuristic 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 số mảnh lại cho dến khi thoả tiêu chuẩn nào đó. (2) Tách mảnh: Bắt đầu bằng một quan hệ và quyết định cách phân hoạch có lợi dựa trên hành vi truy xuất của các ứng dụng trên các thuộc tính. Trong phần tiếp chúng ta chỉ thảo luận kỹ thuật tách mảnh, vì nó thích hợp phương pháp thiết kế từ trên xuống hơn và giải pháp tối ưu gần với quan hệ đầy đủ hơn là tập các mảnh chỉ có 1 thuộc tính. Hơn nữa kỹ thuật tách mảnh sinh ra các mảnh với các thuộc tính không khoá không chồng nhau. Việc nhân bản khoá chính cho các mảnh là đặc trưng của phân mảnh dọc, cho phép tái thiết quan hệ toàn cục. Vì thế phương pháp tách mảnh chỉ đề cập đến các thuộc tính không khoá. Mặc dù có những vấn đề phát sinh, nhân bản các thuộc tính khoá có ưu điểm nổi bật là duy trì tính toàn vẹn ngữ nghĩa sẽ được thảo luận sau. Một chọn lựa khác đối với nhân bản các thuộc tính khoá là sử dụng một mã định bộ (TID - tuple identifier). Đây là giá trị duy nhất được hệ thống gán cho mối bộ của quan hệ. a) Các yêu cầu thông tin của phân mảnh dọc Những thông tin chính cần cho phân mảnh dọc có liên quan tới các ứng dụng. Vì phân mảnh dọc đặt vào một mảnh các thuộc tính thường được truy xuất chung với nhau, ta cần xác định một độ đo khái niệm “chung với nhau”. Số đo này gọi là ái lực (affinity) của thuộc tính, chỉ mức độ liên đới giữa các thuộc tính. Yêu cầu dữ liệu chính có liên quan đến các ứng dụng là tần số truy xuất (access frequency) của chúng. Gọi Q={q 1 , , q k } là tập các vấn tin của người dùng sẽ chạy trên quan hệ R(A 1 , , A n ). Với mỗi câu vấn tin q i và mỗi thuộc tính A j ta định nghĩa giá trị sử dụng (attribute usage value), ký hiệu use(q i , A j ), như sau    = ji ji i Achieuthamkhongq Achieuthamq Aquse 0 1 ),( ¹ Các vectơ use(q i ,•) cho mỗi ứng dụng sẽ được xác định nếu nhà thiết kế biết được các ứng dụng chạy trên CSDL. Cần nhắc lại rằng qui tắc 80/20 rất có ích cho công việc này. ◊ Ví dụ Xét quan hệ PROJ của ví dụ phần trước. Giả sử các ứng dụng sau đây chạy trên quan hệ đó. q 1 : Tìm ngân sách của dự án, cho biết mã số dự án. SELECT BUDGET FROM PROJ WHERE PNO = Value q 2 : Tìm tên và ngân sách của tất cả dự án. SELECT PNAME, BUDGET FROM PROJ q 3 : Tìm tên của các dự án được thực hiện ở thành phố đã cho SELECT PNAME FROM PROJ WHERE LOC = Value q 4 : Tìm tổng ngân sách các dự án được thực hiện ở thành phố đã cho SELECT SUM(BUDGET) FROM PROJ WHERE LOC = Value Dựa theo 4 ứng dụng này ta có thể xác định được giá trị sử dụng các thuộc tính. Để cho đơn giản ta ký hiệu A 1 =PNO, A 2 =PNAME, A 3 =BUDGET và A 4 =LOC. Giá trị sử dụng cho ở bảng sau: 1100 1010 0110 0101 4 3 2 1 4321 q q q q AAAA Giá trị sử dụng thuộc tính không đủ tổng quát để 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ị độ lớn của tần số ứng dụng. Số đo tần số có thể được chứa trong định nghĩa về số đo ái lực thuộc tính aff(A i , A j ), biểu thị cho cầu nối (bond) giữa hai thuộc tính của 1 quan hệ theo cách chúng được các ứng dụng truy xuất. Cho quan hệ R(A 1 , , A n ) và tập ứng dụng Q={q 1 , , q k }. Với mỗi cặp thuộc tính (A i ,A j ) Ký hiệu S l là vị trí thứ l, l=1, ,L ref l (q k ) là số lần truy xuất đến A i , A j cho mỗi lần thực hiện ứng dụng q k tại vị trí S l . acc l (q k ) là số đo tần số thực hiện ứng dụng q k tại vị trí S l . Q(i,j) = {k  use(q k , A i ) = 1 & use(q k , A i ) = 1} Số đo ái lực thuộc tính giữa hai thuộc tính A i và A j của quan hệ R(A 1 , , A n ) ứng với tập ứng dụng Q={q 1 , , q k } là ∑ ∑ ∈ ∀ = ),( ¹ )().(),( jiQk klk S li qaccqrefAAaff l Kết quả là ma trận vuông cấp n gọi là ma trận ái lực thuộc tính (AA - attribute affinity matrix). ◊Ví dụ Ta tiếp tục ví dụ trên. Để đơn giản ta giả sử rằng có 3 vị trí và 4 ứng dụng và ref l (q k )=1 với mọi S l và mọi q k . Cho tần số sử dụng như sau [...]... Triết xuất kết quả: Ta bắt sự kiện ActionPerformed() của Button Kết quả để tính: + Ma trận AA + Ma trận CA + Phân mảnh các vị trí TÀI LIỆU THAM KHẢO [1] Hồ Thuần, Hồ Cẩm Hà (2004, 2005), Các hệ CƠ SỞ DỮ LIỆU lý thuyết và thực hành, tập 1,2, NXB Giáo dục [2] Jeffrey D Ulman, biên dịch Trần Đức Quang (2002), Nguyên lý các hệ CƠ SỞ DỮ LIỆU và CƠ SỞ TRI THỨC, tập I và II, NXB Thống kê [3] Slide bài giảng thầy... TRÌNH PHÂN MẢNH DỌC Dựa vào những công thức và thuật toán ở phần trên Tôi xây dựng một Project để cấp phát phân mảnh dọc một cách tự động cho hệ thống CSDL phân tán được viết bằng ngôn ngữ java với phần mềm Netbean 7.2 Các bước để sử dụng Project - Đầu tiên khởi tạo: + Nhập số lượng truy vấn + Nhập số lượng thuộc tính + Nhập số lượng các site Sau đó nhấn vào nút khởi tạo - Nhập dữ liệu + Nhập dữ liệu. .. liệu cho ma trận Use(qi,Aj): Dữ liệu này được lưu vào 1 bảng, các giá trị trong ô nhận một trong hai giá trị là 0 và 1 Khi một qi nào đó truy vấn một thuộc tính Aj ta dùng chuột double click hoặc dùng phím Enter để thay đổi giá trị trong ô + Nhập dữ liệu cho ma trận Acc(qi, Sj): Để nhập giá trị cho một ô trong bảng ta chọn ô cần nhập và đánh giá trị cho ô đã chọn - Triết xuất kết quả: Ta bắt sự kiện ActionPerformed()... của chúng Dựa trên số liệu này bài toán tối ưu hoá được định nghĩa là bài toán tìm điểm x (1 ≤ x ≤ n) sao cho biểu thức z = CTQ*CBQ - COQ2 lớn nhất Đặc trưng quan trọng của biểu thức này là nó định nghĩa hai mảnh sao cho giá trị của CTQ và CBQ càng gần bằng nhau càng tốt Điều này cho phép cân bằng tải trọng xử lý khi các mảnh được phân tán đến các vị trí khác nhau Thuật toán phân hoạch có độ phức tạp... 75 3 AA = A4 0 75 3 78 b) Thuật toán tụ nhóm Nhiệm vụ cơ bản trong việc xây dựng thuật toán phân mảnh dọc là tìm phương tiện nào đó để nhóm các thuộc tính của quan hệ dựa trên ma trận ái lực Thuật toán năng lượng nối BEA (bond energy algorithm) là thích hợp vì những lý do sau: (1) BEA gom các thuộc tính có cùng độ lớn ái lực lại với nhau (2) Các kết quả tụ nhóm không bị ảnh hưởng bởi thứ tự đưa các... 0 5 80 45 53 5 75 3 A4 0 78 3 75 Cuối cùng ta hoán chuyển thứ tự các hàng và được ma trận kết quả A1 A3 A2 CA = A4 A1 A3 A2 45 45 0 45 53 5 A4 0 3 0 0 75 78 5 3 80 75 Ta thấy quá trình tạo ra hai tụ: một ở góc trên bên trái chứa các ái lực nhỏ, còn tụ kia ở góc dưới bên phải chứa các ái lực cao c) Thuật toán phân hoạch Mục đích của hành động tách thuộc tính là tìm tập thuộc tính được truy xuất cùng... BA còn OQ là tập ứng dụng truy xuất cả hai Ở đây nảy sinh bài toán tối ưu hoá Nếu có n thuộc tính trong quan hệ, thì sẽ có n-1 vị trí khả hữu có thể là điểm phân chia trên đường chéo của ma trận thuộc tính tụ cho quan hệ đó Vị trí tốt nhất để phân chia là vị trí sinh các tập TQ và BQ sao cho tổng các truy xuất chỉ một mảnh là lớn nhất, còn tổng các truy xuất cả hai mảnh là nhỏ nhất Vì thế ta định nghĩa... cùng Với thao tác xê dịch như thế này ta chỉ cần kểm tra n-1 vị trí trên đường chéo để tìm trị z lớn nhất Độ phức tạp của thuật toán sẽ tăng thêm n lần, tức là O(n2) Với giả thiết đã có thủ tục xê dịch SHIFT, ta có thuật toán phân hoạch PARTITION sau: • Thuật toán PARTITION Đầu vào: ma trận ái lực tụ CA quan hệ R ma trận sử dụng thuộc tính ref ma trận tần số truy xuất acc Đầu ra: tập các mảnh FR={R1,... PARTITION cho ma trận CA từ quan hệ PROJ ở thí dụ trước Kết quả là định nghĩa các mảnh FPROJ = {PROJ1, PROJ2 }, trong đó PROJ1 = {A1, A3 } = { PNO, BUDGET } PROJ2 = {A1, A2 , A4} = { PNO, PNAME, LOC } d) Kiểm tra tính đúng đắn ♦ Tính đầy đủ: được đảm bảo 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 1 trong các mảnh ♦ Tính tái thiết: đảm bảo R = K Ri ∀Ri∈ FR nếu mỗi Ri là... bằng các tập ứng dụng riêng biệt Thí dụ, nếu biết hai thuộc tính A 1 và A2 chỉ được ứng dụng q1 truy xuất và các thuộc tính A3 và A4 được các ứng dụng khác truy xuất, chẳng hạn q2 và q3 , thì quyết định phân mảnh là đương nhiên Vấn đề là tìm được thuật toán để xác định các nhóm này Xét ma trận thuộc tính tụ CA Nếu 1 điểm nằm trên đường chéo được cố định, hai tập thuộc tính sẽ được xác định Tập {A1, , . đặc trưng của cơ sở dữ liệu phân tán so với cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán không đơn giản là việc phân tán các cơ sở dữ liệu tập trung bởi vì nó cho phép thiết kế các hệ thống. phát triển cơ sở dữ liệu phân tán. Sự liên kết các cơ sở dữ liệu địa phương đang tồn tại: cơ sở dữ liệu phân tán là giải pháp tự nhiên khi có các cơ sở dữ liệu đang tồn tại và sự cần thiết xây. so sánh các tính chất đặc trưng của cơ sở dữ liệu tập trung và cơ sở dữ liệu phân tán Tính chất đặc trưng Cơ sở dữ liệu tập trung Cơ sở dữ liệu phân tán Điều khiển tập trung - Khả năng

Ngày đăng: 10/04/2015, 13:22

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan