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

Tiểu luận môn cơ sở dữ liệu nâng cao SỰ PHÂN BỐ CÁC PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

24 629 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 24
Dung lượng 290,64 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 LỚP CAO HỌC QUA MẠNG – KHÓA 6 TIỂU LUẬN MÔN HỌC: CƠ SỞ DỮ LIỆU NÂNG CAO SỰ PHÂN BỐ CÁC PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN Giảng viên: PGS.TS Đỗ Phúc Sinh viên thực hiện: Nguyễn Hoàng Hạc MSHV: CH1101081 TP. HCM, NĂM 2012 MỤC LỤC 2 Chương 1 GIỚI THIỆU Trong một thiết kế cơ sở dữ liệu phân tán liên quan đến việc giải quyết các vấn đề sau đây: - Như thế nào thì một quan hệ trong hệ thống thông tin phải được phân mảnh? - Có bao nhiêu bản sao của một mảnh cần được sao chép. - Làm thế nào phân bố các phân mảnh đến từng vị trí trong hệ thống mạng. - Những thông tin cần thiết cho sự phân mảnh và phân bố là gì? Những vấn đề này rất phức tạp trong thiết kế cơ sở dữ liệu phân tán. Thậm chí, khi xem xét từng vấn đề riêng lẻ, nó vẫn là một vấn đề nan giải. Để đơn giản hóa vấn đề, chúng ta chỉ giải quyết vấn đề phân mảnh, giả định rằng tất cả các mối quan hệ trong hệ thống thông tin đã được phân mảnh. Như vậy, vấn đề nghiên cứu ở đây là xác định số lượng sao chép của mỗi mảnh và sau đó tìm kiếm một giải pháp phân mảnh tối ưu, bao gồm cả những phân mảnh đã sao chép trong mạng diện rộng (WAN) sao cho tổng chi phí truyền dữ liệu trong toàn hệ thống là nhỏ nhất. Đối với yêu cầu đọc thông tin cho một giao dịch có thể chỉ đơn giản là lấy dữ liệu từ các phân mảnh tại vị trí gốc hoặc có thể có một chút phức tạp để lấy các phân mảnh từ một vị trí ở xa. Một yêu cầu ghi dữ liệu thì phức tạp hơn, với nhiều bản sao của một phân mảnh được phân bố trong hệ thống mạng, để đảm bảo việc ghi dữ liệu này phải duy trì được tính thống nhất cho tất cả các bản sao. Tần số của yêu cầu đưa ra ở các vị trị cũng phải được xem xét trong mô hình phân bố. Với mỗi yêu cầu giao dịch khác nhau có thể có giải pháp phân bố tối ưu các phân mảnh khác nhau, chi phí giao dịch được tính dựa trên cơ sở nhằm giảm thiểu chi phí giao dịch theo thông tin giao dịch. Nhiều báo cáo về phân bố cơ sở dữ liệu đã được công bố. Năm 1982, Chang đã phát triển một lý thuyết về sự phân bố các phân mảnh và thiết kế thuật toán Network 3 Flow để giải quyết vấn đề này cho cơ sở dữ liệu. Độ phức tạp cho việc giải quyết sự phân bố các phân mảnh của cơ sở dữ liệu có độ phức tạp là NP – Complete, một vài thuật giải Hueristis đã được đưa ra để giải quyết vấn đề. Để giảm sự phức tạp của vấn đề, Ceri đề xuất một phương pháp đơn giản hơn đó bỏ qua việc phân bố cơ sở dữ liệu ngay từ đầu và tìm một giải pháp tối ưu cho vấn đề không phân bố. Sau đó việc phân bố được xử lý bằng cách áp dụng một thuật toán tham lam để cải thiện các giải pháp khả thi ban đầu. Gần đây, vấn đề phân bố phân mãnh của cơ sở dữ liệu được trình bày rõ ràng, có hệ thống hơn và thậm chí được kết hợp với một cơ chế kiểm soát đồng thời. Đối với một mạng Ethernet, một số phương pháp tiếp cận phân tích đã được sử dụng để tìm ra thời gian đáp ứng của giao dịch để giải quyết vấn đề phân bố cơ sở dữ liệu. Mặc dù mô hình đề xuất bởi Raghuram và những người khác là khá toàn diện, nhưng nó cũng có một vài hạn chế chẳng hạn như yêu cầu sức mạnh tính toán của mỗi vị trí, thời gian ra lệnh tối đa để đáp ứng với một yêu cầu và vấn đề phân mảnh không được xét đến. Lin và một số người khác đưa ra những thuật toán phân bố phân mãnh dữ liệu với tổng chi phí truyền tin tối thiểu. Bên cạnh việc phân bố dữ liệu, một phương pháp tiếp cận dưới mô hình toán học và thuật toán di truyền phát triển bởi March và Rho nhằm tính toán phân mảnh tại các nút. Đối với một hệ thống đòi hỏi phải sẵn sàng cao, Park và Baik đề xuất một mô hình với xác suất giao dịch được thực hiện và thuật toán di truyền để giảm thiểu chi phí xử lý. Mặc dù một số các nhà nghiên cứu đã đưa ra mô hình và các thuật toán để thiết kế phân bố các mảnh trong cơ sở dữ liệu phân tán nhưng hầu hết các mô hình này rất phức tạp và khó hiểu. Vì vậy, để sử dụng các mô hình và thuật toán này gặp nhiều khó khăn trong thực tế. Ở đây, chúng tôi đề xuất một mô hình đơn giản và toàn diện, phản ánh hành vi giao dịch trong cơ sở dữ liệu phân tán. Trong mô hình này, một thuật toán xấp xỉ - SIMPLE – được đề nghị để giải quyết việc phân bố dữ liệu đơn giản. Đối với mỗi mảnh f i , thuật toán SIMPLE bắt đầu phân bố các bản sao của phân mảnh f i đến các nút (vị trí) j với B ij ≥ 0. B ij là tổng khối lượng dữ liệu của phân mảnh f i gửi đến nút j 4 để xử lý các giao dịch được yêu cầu tại nút j trừ đi tổng khối lượng dữ liệu của tất cả các nút cập nhật cho mảnh f i . Thuật toán SIMPLE tiếp tục tìm các nút khác để phân bố bản sao của phân mảnh f i nhằm giảm tổng chi phí truyền tin. Kết quả, việc phân mảnh bằng thuật toán của này là tối ưu hơn và tốt hơn so với phương pháp của Lin và những người khác. Một số thí nghiệm đã được tiến hành để xác minh rằng công thức tính chi phí thực sự có thể phản ánh chi phí truyền dữ liệu trong thực tế. 5 Chương 2 MÔ HÌNH PHÂN BỐ DỮ LIỆU 2.1 Vấn đề phân mảnh dữ liệu Trước khi nghiên cứu về sự phân bố các phân mảnh, chúng ta phải xác định rõ vấn đề phân bố dữ liệu. Ở đây, chúng ta chỉ xem xét trong môi trường mạng WAN, chi phí truyền dữ liệu và lưu trữ bản sao của một phân mảnh tại các vị trí (sites) của mạng LAN là không đáng kể. Giả sử, chúng ta có một mạng WAN gồm các vị trí S = {S 1 , S 2 , , S m }, tập hợp các giao dịch (transactions) đang thực hiện T = {T 1 , T 2 , , T q } và tập hợp các phân mảnh (fragments) F = {F 1 , F 2 , , F n }. Trong đó, tất cả các mối quan hệ trên toàn hệ thống đã được thiết kế nằm trong các phân mảnh của cơ sở dữ liệu phân tán. Tổng quát hơn, chúng ta không chỉ xác định số lượng bản sao của từng phân mảnh mà còn tìm cách tối ưu để phân bố mỗi bản sao các phân mảnh trong F đến vị trí S. Để xác định sự tối ưu, chúng ta có hai cách xác định phổ biến sau:  Chi phí tối thiểu: chi phí bao gồm chi phí lưu trữ mỗi phân mảnh F j tại vị trí S k , chi phí truy vấn F j tại vị trí S k , chi phí cập nhật F j ở tất cả các vị trí mà F j được lưu trữ và chi phí truyền dữ liệu  Hiệu suất: hai chiến lược phổ biến là giảm thiểu thời gian đáp ứng và tối đa hóa hoạt động của hệ thống tại mỗi vị trí. Biện pháp tối ưu được đề nghị trong mô hình phân bố này là chi phí tối thiểu. Đối với một mạng WAN với giới hạn băng thông 50 Kbps, thời gian truy cập thiết bị ngoại vi và thời gian xử lý CPU không phải là yếu tố chính để xem xét trong việc giảm tổng chi phí. Như vậy, vấn đề phân bố được đơn giản hóa để phân bố các bản sao của một phân mảnh đến các vị trí sao cho có tổng chi phí truyền dữ liệu là tối thiểu. 6 2.2 Thông tin yêu cầu Trước khi xác định công thức chi phí, một số thông tin phải được phân tích trước, đó là số lượng dữ liệu của một cơ sở dữ liệu, hành vi giao dịch, thông tin các vị trí và thông tin của mạng. 2.2.1 Thông tin cơ sở dữ liệu (Database Information) Kích thước của mỗi phân mảnh – size(F j ) cần được xác định rõ bởi vì nó đóng vai trò quan trọng trong tính toán chi phí truyền dữ liệu 2.2.2 Thông tin giao dịch (Transaction Information) Trong mô hình này, chúng ta có hai ma trận: RM và UM mô tả các thao tác truy cập và cập nhật của tất cả các giao dịch với các bộ r ij (hoặc u ij ) trong ma trận RM (hoặc UM) xác định tần số truy cập của mảnh F j trong giao dịch T i . Vì không phải tất cả các mảnh đều được truy cập do đó các bộ trong ma trận có thể là 0. Ví dụ: RM F 1 F 2 F 3 F 4 F 5 T 1 2 3 0 0 0 T 2 2 0 0 1 0 T 3 0 0 3 0 0 T 4 3 0 2 0 0 UM F 1 F 2 F 3 F 4 F 5 7 T 1 0 0 0 1 2 T 2 0 3 0 0 0 T 3 2 1 0 1 0 T 4 0 0 0 0 3 Trong ma trận truy cập và cập nhật RM và UM, giao dịch T 3 truy xuất mảnh F 3 ba lần, cập nhật mảnh F 1 hai lần, F 2 một lần và F 4 một lần cho mỗi lần chạy. Khi một giao dịch truy cập đến một phân mảnh, không phải tất cả các bộ dữ liệu của phân mảnh được truy xuất hoặc cập nhật. Số lượng các bộ dữ liệu được truy xuất hoặc cập nhật không phải là giống nhau cho tất cả các giao dịch. Vì vậy, chúng ta xác định một ma trận chọn lọc - SEL cho biết tỷ lệ phần trăm của một mảnh F j được truy cập trong giao dịch T i : SEL (%) F 1 F 2 F 3 F 4 F 5 T 1 0.1 0.1 0 0.3 0.2 T 2 0.1 0.3 0 1 0 T 3 2 5 0.1 0.5 0 T 4 0.5 0 10 0 4 Trong ma trận SEL, giao dịch T 3 truy xuất chỉ có 0,1% của mảnh F 3 . Cập nhật mảnh F 1 là 2%, F 2 là 5% và F 4 là 0,5%. Hơn nữa, chúng ta cũng cần phải xác định ma trận tần số FREQ cho biết tần số thực hiện của tất cả các giao dịch thực hiện tại mỗi vị trí: FREQ S 1 S 2 S 3 S 4 T 1 0 2 3 1 T 2 0 3 0 0 T 3 2 0 1 0 T 4 0 0 4 0 8 Giao dịch T 3 thể hiện trong ma trận FREQ ở trên được thực hiện hai lần tại vị trí S 1 và một lần tại vị trí S 3 . 2.2.3 Thông tin vị trí (Site Information) Thông tin vị trí trong một hệ thống mạng đó là thông tin về khả năng lưu trữ và xử lý tại vị trí đó; nói chung, những thông tin được xem xét hạn chế trong một mô hình phân bố. Để đơn giản hóa mô hình, chúng ta không xem xét ở đây. 2.2.4 Thông tin của mạng (Network Information) Trong môi trường WAN, chi phí truyền dữ liệu được tính bởi hai thành phần chính đó là những thành phần ảnh hưởng trực tiếp đến tổng chi phí. C ini là chi phí cố định để khởi tạo một gói dữ liệu với kích thước p_size. Trong khi CTR i, j là chi phí truyền một đơn vị dữ liệu từ vị trí S i đến vị trí S j . Như vậy, chi phí truyền dữ liệu với kích thước là m_size có thể được tính dưới một hàm tuyến tính như sau: Chúng ta giả định rằng mỗi vị trí trong mạng được kết nối đến một vị trí khác bằng một kết nối truyền thông hợp lý. Vì vậy, chi phí CTR i, j có thể được tính thông qua một ma trận chi phí truyền dữ liệu CTR. Để đơn giản hóa vấn đề, chúng ta giả định rằng CTR là một ma trận đối xứng: CTR S 1 S 2 S 3 S 4 S 1 0 0.32 0.48 0.16 S 2 0.32 0 0.64 0.32 S 3 0.48 0.64 0 0.64 S 4 0.16 0.32 0.64 0 Ví dụ ở trên là ma trận chi phí thông tin liên lạc dựa trên mạng WAN với giới hạn băng thông là 50 Kbps (tức là 0,16 ms/byte) mỗi phần tử trong ma trận là một bội số của 0,16. 9 Trong mạng WAN, trước khi giao dịch truy cập một phân mảnh ở xa, nó phải tạo ra kết nối đến phân mảnh này. Trong suốt thời gian giao dịch, nó sử dụng kết nối này để gửi yêu cầu và nhận dữ liệu. Khi kết thúc giao dịch, kết nối được đóng lại. Để phản ánh các thông tin liên lạc thực sự của một mạng WAN, chi phí xây dựng các kết nối, ký hiệu là VC ini cũng được xem xét đến. 2.3 Các công thức tính chi phí Chúng ta có công thức tính chi phí truyền thông (Cost Communication) phản ánh hành vi của một giao dịch trên cơ sở dữ liệu phân tán trong một môi trường WAN. Với những thông số được nêu tại phần 2.2, chúng ta thử tìm một cách phân bố các phân mảnh tối ưu sao cho có tổng chi phí truyền dữ liệu là nhỏ nhất. Công thức nhằm giảm thiểu chi phí thông tin liên lạc được thể hiện như sau: Công thức tính chi phí truyền dữ liệu bao gồm hai thành phần: chi phí tải dữ liệu CC load và chi phí truyền tin cho xử lý giao dịch CC proc . CC load là chi phí tải tất cả bản sao các phân mảnh đến các vị trí trong mạng trước khi giao dịch được xử lý được tính như sau: Với FAT (Fragment Allocation Table) là ma trận được biểu diễn như sau: SI là vị trí chính (site master) chịu trách nhiệm cho việc tải tất cả các bản sao của phân mảnh đến các vị trí khác trong hệ thống. CC proc là chi phí bao gồm ba thành phần: giao dịch truy xuất TR i , giao dịch cập nhật TU i , và xây dựng kết nối VC ini . Được tính bằng công thức sau: 10 [...]... nghi cho các cá thể (nhiễm sắc thể) 4 Các toán tử phát sinh quần thể mới 5 Tham số khởi tạo được cung cấp cho thuật giải di truyền 16 Chương 4 TỐI ƯU SỰ PHÂN MẢNH BẰNG THUẬT GIẢI DI TRUYỀN Phân tán tài nguyên không phải là một bài toán chỉ của hệ cơ sở dữ liệu phân tán, mặc dù đối với cơ sở dữ liệu phân tán nó có những đặc trưng riêng, bài toán này đã được biết đến trong các lý thuyết mạng với cách đặt... được biểu diễn là các FAT (Fragment Allocation Table), mỗi FAT là một ma trận được biểu diễn như sau: FAT S1 S2 S3 S4 F1 0 1 0 0 F2 0 0 1 0 F3 0 0 0 1 F4 0 0 1 0 17 Như vậy, từ ma trận FAT trên cho chúng ta biết sự phân bố của các mảnh như sau: mảnh thứ nhất được phân bố ở vị trí 2, mảnh 3 và 4 được phân bố ở vị trí 3, mảnh 3 được phân bố ở vị trí 4 và tại vị trí 1 không có phân bố phân mảnh nào 4.2 Khởi... cả các vị trí mà phân mảnh dữ liệu Fj được sao chép, chỉ những vị trí có chi phí truyền dẫn tối thiểu mới được chọn cho xử lý giao dịch Chi phí cập nhật TUi cho biết tất cả các chi phí truyền dữ liệu đến các vị trí ở xa với các phân mảnh Fj được lưu trữ cần được thống kê Việc cập nhật dữ liệu là cần thiết để duy trì tính thống nhất giữa tất cả các phân mảnh Fj 11 Chương 3 THUẬT GIẢI DI TRUYỀN 3.1 Các. .. các phương pháp heuristic và cũng chưa có một phương pháp nào thật sự hữu hiệu để giải bài toán tối ưu tổng quát Trong phạm vi của đề tài môn học này, tôi đề xuất một phương pháp đó là sử dụng thuật giải di truyền để tìm cách phân bố các phân mảnh là tối ưu nhất có thể 4.1 Biễu diễn nhiễm sắc thể cho thuật giải di truyền Chúng ta sử dụng thuật giải di truyền để xác định sự phân bố các phân mảnh ở các. .. nhật trong ma trận UM Giao dịch giao dịch thứ 1 (T0) và thứ 4 (T3) dựa vào ma trận tần số truy cập (FREQ) chỉ được phân bố tại các vị trí thứ 3 (S1), thứ 3 (S2) và thứ 4 (S3) Như vậy, theo mô hình phân mảnh này, mảnh thứ 5 (F4) sẽ được phân bố một trong các vị trí trên theo chi phí truyền thông Chương trình thực hiện khá hiệu quả đối với dữ liệu mẫu của bài báo đưa ra Vì thời gian có hạn, và trong. .. với những phương pháp khác 23 Tài liệu tham khảo: [1] Nguyên lý các hệ cơ sở dữ liệu phân tán (Tập 1), M Tamer Ozsu, Patrick Valduriez, Biên dịch: Trần Đức Quang, Nhà xuất bản thống kê 1999 [2] Fragment Allocation in Distributed Database Design, YIN-FU HUANG AND JYH-HER CHEN [3] Lập trình tiến hóa, TS Nguyễn Đình Thúc, NXB Giáo Dục [4] Giáo trình Cơ sở dữ liệu nâng cao, PGT TS Đỗ Phúc, Đại học Công... đặt vấn đề về cấp phát các tập tin Chúng ta có một mạng gồm các vị trí (nút) S = {S1, S2, , Sm}, tập hợp các giao dịch (transactions) đang thực hiện T = {T1, T2, , Tq} và tập hợp các phân mảnh (fragments) F = {F1, F2, , Fn} Bài toán cấp phát yêu cầu tìm một cách phân phối tối ưu các mảnh Fi cho các vị trí Sj Tính tối ưu được hiểu là cấp phát với chi phí nhỏ nhất và với hiệu năng cao nhất Đây là một bài... 6.576 ms 4.7.1 Màn hình nhập liệu  Nhập các thông tin về cơ sở dữ liệu  Nhập thông tin cho thuật giải di truyền  Thực hiện: tìm ma trận FAT bằng thuật giải di truyền 4.7.2 Kết quả chương trình  Ma trận FAT có chi phí truyền thông là nhỏ nhất 22 4.8 Kết luận Với dữ liệu như trên, chúng ta nhận thấy rằng phân mảnh thứ 5 (F4) không được truy xuất bởi bất kỳ giao dịch nào trong ma trận RM Tuy nhiên,... file của báo cáo đề tài này Dưới đây là các thông số cho việc thực hiện thuật giải di truyền: Tham số thực hiện Kích thước quần thể (|P|) Giá trị 100 Hệ số chọn lọc (PSelect) 30% Xác suất lai ghép (Pc) 30% Xác suất đột biến (Pm) 10% Số lần tiến hoá 50 Tham số cho cơ sở dữ liệu: Tham số thực hiện Giá trị 21 Kích thước gói dữ liệu (p_size) Chi phí khởi tạo gói dữ liệu (Cini) Chi phí tạo kết nối (VCini)... của quần thể cơ sở, sử dụng các phép toán di truyền (chọn lựa tái sinh, phép lai ghép và phép đột biến) dựa trên sự lựa chọn tự nhiên Thuật giải di truyền đã được chứng minh là một phương pháp hữu dụng trong việc tối ưu hóa, quan sát và máy học,… Nó mã hoá một giải pháp tiềm tàng đến một vấn đề chi tiết trên một cấu trúc dữ liệu đơn giản giống nhiễm sắc thể và các phép toán liên kết 12 3.2 Các thành phần . MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN LỚP CAO HỌC QUA MẠNG – KHÓA 6 TIỂU LUẬN MÔN HỌC: CƠ SỞ DỮ LIỆU NÂNG CAO SỰ PHÂN BỐ CÁC PHÂN MẢNH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN Giảng viên: PGS.TS Đỗ Phúc Sinh viên. chi phí thực sự có thể phản ánh chi phí truyền dữ liệu trong thực tế. 5 Chương 2 MÔ HÌNH PHÂN BỐ DỮ LIỆU 2.1 Vấn đề phân mảnh dữ liệu Trước khi nghiên cứu về sự phân bố các phân mảnh, chúng ta. ta biết sự phân bố của các mảnh như sau: mảnh thứ nhất được phân bố ở vị trí 2, mảnh 3 và 4 được phân bố ở vị trí 3, mảnh 3 được phân bố ở vị trí 4 và tại vị trí 1 không có phân bố phân mảnh nào. 4.2

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

TỪ KHÓA LIÊN QUAN

w