1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phân mảnh dữ liệu trong hệ phân tán

17 1K 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 92,43 KB

Nội dung

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN o0o BÀI THU HOẠCH MÔN CƠ SỞ DỮ LIỆU NÂNG CAO Giảng viên hướng dẫn: PGS.TS. Đỗ Phúc Học viên thực hiện: Lê Minh Trí CH1101149 MỤC LỤC Trang 2 LỜI MỞ ĐẦU Ngày nay, với sự phát triển của công nghệ thông tin trong nhiều lĩnh vực, các ứng dụng hiện nay cần lưu trữ và xử lí một khối lượng dữ liệu rất lớn. Do đó, các hệ cơ sơ dữ liệu đang ngày càng phát triển để đáp ứng yêu cầu đó. Tuy nhiên, với sự phát triển nhanh chóng của Internet, đặc biệt là với việc phân bố ngày càng rộng răi của các công ty, xí nghiệp, dữ liệu bài toán là rất lớn và không tập trung được. Các cơ sở dữ liệu bình thường không giải quyết được các bài toán trong môi trường không tập trung mà phân tán, song song với các dữ liệu và hệ thống không thuần nhất. Chính vì thế cơ sở dữ liệu phân tán ra đời, giúp tổ chức và lưu trữ dữ liệu ở những vị trí khác nhau trong mạng máy tính nhưng vẫn bảo đảm cho việc truy xuất và xử lí thông tin dữ liệu được nhanh chóng và an toàn. Trước hết, em xin gửi lời cảm ơn chân thành tới PGS.TS. Đỗ Phúc. Qua những buổi giảng dạy và hưỡng dẫn tận tình của thầy trong môn Cở sở dữ liệu nâng cao đã giúp em có những kiến thức vô cùng quý báu. Để đúc kết lại kiến thức mà em thu nhận được em xin hệ thống hóa các lý thuyết về cơ sở dữ liệu phân tán, các phương pháp phân tán dữ liệu, đồng thời xây dựng một chương trình cho việc giúp phân mảng dọc dữ liệu tự động. Trang 3 I. Cơ sở dữ liệu phân tán: I.1. Định nghĩa cơ sở dữ liệu phân tán phân tán: Cơ sở dữ liệu phân tán là một tập các cơ sở dữ liệu có quan hệ với nhau về mặt logic và được phân bố trên một mạng máy tính. Hệ quản trị cơ sở dữ liệu phân tán là hệ thống phần mềm cho phép quản trị cơ sở dữ liệu phân tán và làm cho sự phân tán đó là trong suốt đối với người sử dụng. Trong mô hình cơ sở dữ liệu phân tán bản thân cơ sở dữ liệu có ở trên nhiều máy tính khác nhau. Như vậy, đặc trưng của cơ sở dữ liệu phân tán là các cơ sở dữ liệu được phân bố trên mạng máy tính và có quan hệ với nhau về mặt logic. Tính chất phân tán: Toàn bộ dữ liệu của cơ sở dữ liệu phân tán không được cư trú ở một nơi mà cư trú ra trên nhiều điểm thuộc mạng máy tính, điều này giúp phân biệt cơ sở dữ liệu phân tán với cơ sở dữ liệu phân tán tập trung đơn lẻ. Tương quan logic: Toàn bộ dữ liệu của cơ sở dữ liệu 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 phân biệt một cơ sở dữ liệu phân tán với một tập hợp cơ sở dữ liệu phân tán 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. 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. Tại mỗi chi nhánh có một máy tính điều khiển một số máy cuối. 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. I.2. Ưu điểm của cơ sở dữ liệu phân tán: Cơ sở dữ liệu phân tán mang lại những ưu điểm: • Sự phát triển các tổ chức và tính kinh tế: Cơ sở dữ liệu được tổ chức phân tán thành nhiều nơi theo các chi nhánh, giúp cho các công ty tập đoàn không phải mất công tập hợp cơ sở dữ liệu để lưu trữ hay xử lí trên một máy duy nhất mà có thể xử lí đồng thời trên nhiều máy. Trang 4 • Tận dụng những cơ sở dữ liệu sẵn có: Hình thành cơ sở dữ liệu phân tán từ các cơ sở dữ liệu tập trung có sẵn. • Thuận lợi cho nhu cầu phát triển: Xu hướng dùng cơ sở dữ liệu phân tán sẽ cung cấp khả năng phát triển thuận lợi hơn và giảm được xung đột về chức năng giữa các đơn vị đã tồn tại và giảm được xung đột giữa các chương trình ứng dụng khi truy cập đến cơ sở dữ liệu. • Giảm chi phí truyền thông: Trong cơ sở dữ liệu phân tán chương trình ứng dụng đặt ở địa phương có thể giảm bớt được chi phí truyền thông khi thực hiện bằng cách khai thác cơ sở dữ liệu tại chỗ. • Hiệu quả công việc: Hệ cơ sở dữ liệu phân tán có thể tăng số lượng công việc thực hiện qua áp dụng nguyên lý xử lý song song với hệ thống xử lý đa nhiệm. Công việc được phân chia giữa các bộ xử lý khác nhau và tránh được các tắc nghẽn thông tin trên mạng truyền thông hoặc các dịch vụ chung của toàn hệ thống. Sự phân tán dữ liệu phản ánh hiệu quả làm tăng tính địa phương của các ứng dụng. • Tin cậy và sẵn sàng: Hướng phát triển cơ sở dữ liệu phân tán cũng nhằm đạt được tính dễ hiểu và tính sẵn sàng cao hơn. Tuy nhiên để đạt được mục tiêu này không phải là dễ làm và đòi hỏi sử dụng kỹ thuật phức tạp. Khả năng xử lý tự trị của các điểm làm việc khác nhau không đảm bảo tính dễ sử dụng. I.3. Thiết kế cơ sở dữ liệu phân tán: I.3.1. Cơ sở thiết kế cơ sở dữ liệu phân tán: Thiết kế cơ sở dữ liệu tập trung gồm có các công việc sau: • Thiết kế sơ đồ khái niệm: mô tả cơ sở dữ liệu đã hợp nhất (mọi dữ liệu được sử dụng bởi ứng dụng cơ sở dữ liệu). • Thiết kế cơ sở dữ liệu vật lý: tham chiếu từ lược đồ khái niệm tới vùng lưu trữ và xác định các cách thức truy cập khác nhau. Trang 5 • Thiết kế phân đoạn: xác định cách thức phân chia những quan hệ toàn bộ thành những đoạn dữ liệu theo chiều dọc ,chiều ngang và kiểu hỗn hợp. • Thiết kế cấp phát đoạn dữ liệu: xác định cách thức đoạn dữ liệu tham khảo đến ảnh vật lý nào và cũng xác định các bản sao của đoạn dữ liệu. Công việc phân đoạn trở thành đặc trưng của cơ sở dữ liệu phân tán. Bên cạnh đó vấn đề cấp phát cũng được nghiên cứu khi phát triển hệ thống file phân tán vì trong cơ sở dữ liệu tập trung có thiết bị lưu trữ phức tạp. Công việc thiết kế chương trình ứng dụng được thực hiện sau khi thiết kế sơ đồ và có kiến thức về yêu cầu của chương trình ứng dụng. Thiết kế sơ đồ để có khả năng cung cấp hiệu quả các chương trình ứng dụng. Vì vậy trong thiết kế cơ sở dữ liệu phân tán, hiểu biết rõ ràng và đầy đủ về yêu cầu của chương trình ứng dụng là cần thiết đối với chương trình ứng dụng quan trọng. Những công việc thiết kế được thực hiện thường xuyên để công việc thực hiện của thiết kế đúng đắn. Những yêu cầu trong chương trình ứng dụng: • Vị trí nơi chương trình ứng dụng được đưa ra (cũng gọi là vị trí cơ sở của chương trình ứng dụng ). • Tính thường xuyên hoạt động của chương trình ứng dụng: số lần yêu cầu của chương trình ứng dụng trong một khoảng thời gian. Trường hợp thông thường chương trình ứng dụng có thể được đưa ra ở nhiều vị trí khác nhau vì vậy phải biết tần suất hoạt động của chương trình ứng dụng tại mỗi vị trí. • Số lượng, kiểu và phân tán thống kê các lần truy cập đối với mỗi đối tượng dữ liệu được yêu cầu bởi các chương trình ứng dụng. I.3.2. Đối tượng thiết kế của cơ sở dữ liệu phân tán: Trong thiết phân tán dữ liệu, những đối tượng sau đây được quan tâm: Tiến trình địa phương: Phân tán dữ liệu để cực đại hoá tiến trình địa phương hay tăng thời gian bộ xử lý trung tâm cho tiến trình địa phương tương ứng với nguyên tắc là đơn giản hoá công việc: đặt dữ liệu gần chương trình ứng dụng thường xuyên sử dụng dữ liệu đó. Thực hiện được tiến trình ở địa phương là mục đích chính của cơ sở dữ liệu phân tán. Cách đơn giản nhất để mô tả tiến trình địa phương là chú ý đến hai loại tham Trang 6 chiếu tới dữ liệu: tham chiếu địa phương và tham chiếu từ xa. Một vị trí cơ sở của chương trình ứng dụng đã xác định thì tính địa phương và tính biệt lập của công việc tham chiếu của chương trình đó chỉ phụ thuộc vào việc phân tán dữ liệu. Tính sẵn có và dễ hiểu của dữ liệu phân tán: Cấp độ cao của tính sẵn có đối với chương trình ứng dụng có thuộc tính chỉ đọc đạt được qua việc lưu trữ các bản sao của cùng một thông tin. Hệ thống phải chuyển sang một bản sao khác khi một bản sao nào đó truy cập ở điều kiện không bình thường hay bản sao đó không có sẵn. Tính dễ hiểu cũng đạt được khi lưu trữ nhiều bản sao của cùng một thông tin khi cho phép hồi phục từ những hỏng hóc hay từ những phá hủy về mặt vật lý của cùng một bản sao bằng cách dùng một bản sao khác (khi vẫn tồn tại các bản sao khác). Hỏng hóc trong máy tính thường là những sự kiện xảy ra mà không còn khả năng hồi phục lại. Như vậy việc đặt nhiều bản sao ở trên những vị trí địa lý rải rác khắp nơi là giải pháp hợp lý. Phân chia khối lượng công việc: Phân tán công việc cho những vị trí là đặc điểm quan trọng của hệ thống máy tính phân tán. Việc phân chia công việc cũng nhằm mục đích đạt được tiện lợi về khả năng hoặc tiện ích máy tính ở mỗi vị trí trên mạng và cũng để tăng cấp độ thực hiện song song của chương trình ứng dụng. Khi phân chia khối lượng công việc có thể ảnh hưởng xấu đến tiến trình xử lý địa phương và cần thiết cân nhắc đến lợi hại trong thiết kế dữ liệu phân tán. Giá cả thiết bị lưu trữ và tính sẵn có: Phân tán dữ liệu có thể phản ánh giá cả và tính sẵn có của thiết bị lưu trữ ở các vị trí khác nhau. Tuy nhiên có thể có những điểm đặc biệt trong mạng để lưu trữ dữ liệu hoặc có những điểm làm việc không cung cấp kho dữ liệu. Giá cả của thiết bị lưu trữ không thể thích hợp khi so sánh với CPU - đơn vị xử lý trung tâm, thiết bị vào ra và giá cả truyền thông của chương trình ứng dụng, do đó giới hạn tính sẵn có của thiết bị lưu trữ ở mỗi vị trí phải được cân nhắc. Trang 7 II. Phân mảnh dữ liệu trong hệ phân tán: II.1. Các lý do phân mảnh: • Khung nhìn hoặc đơn vị truy xuất của các ứng dụng không phải là toàn bộ quan hệ mà thường là một mảnh. • Việc phân rã một quan hệ thành nhiều mảnh, mỗi mảnh được xử lý như một đơn vị, sẽ cho phép thực hiện nhiều giao dịch đồng thời.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. • Nếu các ứng dụng có các khung nhìn được định nghĩa trên một quan hệ cho trước nằm tại những vị trí khác thì có hai cách chọn lựa đơn vị phân tán hoặc là toàn bộ quan hệ hoặc quan hệ được lưu ở một vị trí có chạy ứng dụng. Nhận xét: Chọn lựa thứ nhất gây ra một số lượng lớn các truy xuất không cần thiết đến dữ liệu ở xa. Chọn lựa sau sẽ gây ra nhiều vấn đề khi cập nhật và lãng phí không gian lưu trữ. II.2. Khuyết điểm của việc phân mảnh: • Nếu ứng dụng có những yêu cầu ngăn cản việc phân rã thành các mảnh để được sử dụng độc quyền, thì những ứng dụng có các khung nhìn được định nghĩa trên nhiều mảnh sẽ bị giảm hiệu suất hoạt động. • Nếu một khung nhìn đòi hỏi thông tin ở nhiều mảnh thì việc truy xuất dữ liệu để nối lại sẽ có chi phí cao. • Kiểm soát dữ liệu ngữ nghĩa (semantic data control): Do kết quả của phân mảnh, các thuộc tính tham gia vào một phụ thuộc có thể bị phân rã vào các mảnh khác nhau và được cấp phát cho những vị trí khác nhau. Trong trường hợp này, một nhiệm vụ đơn giản như kiểm tra các phụ thuộc cũng phải thực hiện truy tìm dữ liệu ở nhiều vị trí. II.3. Các quy tắc phân mảnh: Việc phân mảnh một quan hệ tổng thể cũng phải tuân theo một số quy tắc nhất định để khi tái thiết lại quan hệ cũ vẫn bảo đảm ngữ nghĩa của nó. Trang 8 Một phương pháp thiết kế các phân mảnh đúng đắn phải thỏa mãn ba tính chất sau: Tính đầy đủ: Nếu một quan hệ R được phân rã thành các mảnh R 1 , R 2 , , R k thì mỗi mục dữ liệu có trong R phải có trong ít nhất một mảnh Ri nào đó. Tính tái thiết được: Nếu một quan hệ R được phân rã thành các mảnh R 1 , R 2 , , R k thì phải tồn tại một toán tử θ sao cho R = θ(R i ), ∀i. Toán tử θ thay đổi tùy theo từng loại phân mảnh. Trong thực tế khi các mảnh được phân mảnh ngang thì θ là phép hợp, phân mảnh dọc thì θ là phép nối và phân mảnh hỗn hợp thì θ là phép nửa nối . Tính tách biệt: Nếu một quan hệ R được phân mảnh ngang thành các quan hệ R 1 , R 2 , , R k và mục dữ liệu t i nằm trong mảnh R i thì nó sẽ không nằm trong một mảnh R k , k≠i. Tiêu chuẩn này bảo đảm các mảnh ngang phải được tách rời nhau. Nếu quan hệ được phân mảnh dọc thì thuộc tính chung phải được lặp lại trong mỗi mảnh. Do đó, 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à thuộc tính chung của quan hệ. II.4. Các kiểu phân mảnh: II.4.1. Phân mảnh ngang: Phân mảnh ngang một quan hệ tổng thể n-bộ R là tách R thành các quan hệ con n-bộ R 1 , R 2 , , R k sao cho quan hệ R có thể được khôi phục lại từ các quan hệ con này bằng phép hợp: R = R1 ∪ R2 ∪ ∪ Rk Trang 9 Có hai loại phân mảnh ngang: • Phân mảnh ngang nguyên thủy (primary horizontal fragmentation): phân mảnh ngang nguyên thủy của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ đó. • Phân mảnh ngang dẫn xuất (derived horizonta lfragmentation): phân mảnh ngang dẫn xuất của một quan hệ được thực hiện dựa trên các vị từ được định nghĩa trên quan hệ khác. II.4.1.1. Phân mảnh ngang nguyên thủy: Mảnh nguyên thủy được xác định bằng phép chọn trên quan hệ toàn cục. R i = σ Fi (R); 1 ≤i≤n. Fi là điều kiện chọn của mảnh Ri. Tính đúng đắn của phân mảnh nguyên thủy: mỗi bộ của quan hệ toàn cục được đưa vào trong một và chỉ một mảnh. Xác định phân mảnh nguyên thủy của một quan hệ toàn cục là xác định một tập các vị từ chọn đầy đủ và tách biệt. Các bước thiết kế phân mảnh ngang: Bước 1: Tìm tập các vị từ chọn P r’ là đầy đủ và tối thiểu. Bước 2: Tìm tập các vị từ giao tối thiểu có thể được định nghĩa trên các vị từ của P r’ II.4.1.2. Phân mảnh ngang dẫn xuất: Phân mảnh ngang dẫn xuất được đĩnh nghĩa trên một quan hệ thành viên của một đường nối dựa theo phép toán chọn trên quan hệ owner – member của đướng nối đó. Nếu cho trước một đường nối L, trong đó owner(L) = S, và member(L) = R, các mảnh ngang dẫn xuất của R được định nghĩa là: R i = R ⋉ F S i ; 1≤ i ≤ w. Trong đó w là số lượng các mảnh được định nghĩa. Trang 10 [...]... sở dữ liệu phân tán: ưu điểm của cơ sở dữ liệu phân tán, thiết kế cở sở dữ liệu phân tán, và các phương thức phân mảnh dữ liệu; đồng thời tiểu luận cũng đã thực hiện một chương trình phân mảnh dọc tự động dựa theo các dữ liệu đầu vào Trong quá trình làm, tiểu luận có thể còn nhiều thiếu sót rất mong sự đóng góp và góp ý của thầy và các bạn Trang 16 Tài liệu tham khảo: • • • • • Bài Giảng Cơ Sở Dữ Liệu. ..II.4.2 Phân mảnh dọc: Phân mảnh dọc là sự phân chia tập thuộc tính của một quan hệ toàn cục thành tập thuộc tính con, các mảnh dọc có được bằng cách chiếu quan hệ toàn cục trên mỗi tập thuộc tính con Một phân mảnh dọc cho một quan hệ R sinh ra các mảnh R 1, R2, ,Rr, mỗi mảnh chứa một tập con thuộc tính của R và cả khoá của R Mục đích của phân mảnh dọc là phân hoạch một quan hệ thành một tập các quan hệ. .. cột II.4.3 Phân mảnh hỗn hợp: Trong đa số các trường hợp, phân mảnh ngang hoặc phân mảnh dọc đơn giản cho một lược đồ cơ sở dữ liệu không đủ đáp ứng các yêu cầu từ ứng dụng Trong trường Trang 13 hợp đó phân mảnh dọc có thể thực hiện sau một số mảnh ngang hoặc ngược lại, sinh ra một lối phân hoạch có cấu trúc cây Bởi vì hai chiến lược này được áp dụng lần lượt, chọn lựa này được gọi là phân mảnh hỗn hợp... nhỏ hơn để nhiều ứng dụng chỉ cần chạy trên một mảnh Một phân mảnh tối ưu là phân mảnh sinh ra một lược đồ phân mảnh cho phép giảm tối đa thời gian thực thi các ứng dụng chạy trên mảnh đó Phân mảnh dọc tất nhiên là phức tạp hơn so với phân mảnh ngang Điều này là do tổng số chọn lựa có thể của một phân hoạch dọc rất lớn Bởi vì phân hoạch dọc đặt vào một mảnh các thuộc tính thường được truy xuất chung... tính không đủ để làm cơ sở cho việc tách và phân mảnh Điều này là do chúng không biểu thị cho độ lớn của tần số ứng dụng Đô đo ái lực thuộc tính aff(Ai, Aj), biểu thị cho liên kết giữa hai thuộc tính của một quan hệ theo cách chúng được các ứng dụng truy xuất, sẽ là một đại lượng cần thiết cho bài toán phân mảnh Trang 11 Gọi k là số các mảnh của R được phân mảnh Tức là R = R 1 ∪….Rk Q= {q1, q2, …,qm}... phân mảnh dọc Chương trình cần nhập các thông tin dữ liệu ban đầu: số thuộc tính, số query, số site, và nhập ma trận Use (mỗi dấu check tương ứng với 1, và không có dấu check tương ứng với 0) và ma trận Access Frequency Sau khi nhập, chương trình cho ra kết quả là ma trận ái lực thuộc tính AA và ma trận CA cũng như cho ra kết quả phân mảnh là tập TA và BA Trang 15 IV Kết luận: Tiểu luận tập trung hệ. .. vào Trong quá trình làm, tiểu luận có thể còn nhiều thiếu sót rất mong sự đóng góp và góp ý của thầy và các bạn Trang 16 Tài liệu tham khảo: • • • • • Bài Giảng Cơ Sở Dữ Liệu Phân Tán – PGS.TS Đỗ Phúc Nhập Môn Cơ Sở Dữ Liệu Phân Tán – TS Nguyễn Bá Tường The principles of database and knowledge base system – Jefrey D.Ullman Distributed Databases Fundamentals And Research - Haroun Rababaah A Distributed... nguyên liệu là một ma trận ái lực thuộc tính (AA), hoán vị các hàng và cột rồi sinh ra một ma trận ái lực tụ (CA) (Clustered affinity matrix) Hoán vị được thực hiện sao cho số đo ái lực chung AM (Global Affinity Measure) là lớn nhất Quá trình sinh ra ma trận tụ lực (CA) được thực hiện qua ba bước: Bước 1: Khởi gán: Đặt và cố định một trong các cột của AA vào trong CA Ví dụ cột 1, được chọn trong thuật... Khởi gán: Đặt và cố định một trong các cột của AA vào trong CA Ví dụ cột 1, được chọn trong thuật toán này Bước 2: Thực hiện lặp Lấy lần lượt một trong n-i cột còn lại (trong đó i là số cột đã được đặt vào CA) và thử đặt chúng vào trong i+1 vị trí còn lại trong ma trận CA Chọn nơi đặt sao cho cho ái lực chung AM lớn nhất Tiếp tục lặp đến khi không còn cột nào để dặt Bước 3: Sắp thứ tự hàng Một khi thứ... chính xác hơn, số đo này gọi là độ đo ái lực (affinity) của thuộc tính, chỉ ra mức độ liên đới giữa các thuộc tính Yêu cầu dữ liệu chính có liên quan đến các ứng dụng là tần số truy xuất của chúng gọi Q={q1, q2,…,qq} là tập các vấn tin của người dùng (các ứng dụng) sẽ chạy trên quan hệ R(A1, A2,…,An) Thế thì với mỗi câu vấn tin q i và mỗi thuộc tính Aj, chúng ta sẽ đưa ra một giá trị sử dụng thuộc tính, . liệu phân tán: I.1. Định nghĩa cơ sở dữ liệu phân tán phân tán: Cơ sở dữ liệu phân tán là một tập các cơ sở dữ liệu có quan hệ với nhau về mặt logic và được phân bố trên một mạng máy tính. Hệ quản. trị cơ sở dữ liệu phân tán là hệ thống phần mềm cho phép quản trị cơ sở dữ liệu phân tán và làm cho sự phân tán đó là trong suốt đối với người sử dụng. Trong mô hình cơ sở dữ liệu phân tán bản. xin hệ thống hóa các lý thuyết về cơ sở dữ liệu phân tán, các phương pháp phân tán dữ liệu, đồng thời xây dựng một chương trình cho việc giúp phân mảng dọc dữ liệu tự động. Trang 3 I. Cơ sở dữ liệu

Ngày đăng: 10/04/2015, 14:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w