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

Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng

65 482 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 65
Dung lượng 2,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT TT Từ viết tắt 1 CM Centralized Merging Trộn tập trung 3 DBM Database management Quản trị cơ sở dữ liệu 4 DC Data Communication Truyền thôn

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN VĂN CƯỜNG

CÁC THUẬT TOÁN TÔ MÀU TỐI ƯU CHO MỘT CÂY TRUY VẤN VÀ ỨNG DỤNG

Ngành: Công nghệ thông tin

Chuyên ngành: Hệ thống thông tin

Mã số: 60.48.01.04

LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS LÊ HUY THẬP

Hà Nội – 2015

Trang 3

LỜI CẢM ƠN

Trước hết, Tôi xin bày tỏ lòng biết ơn sâu sắc PGS.TS Lê Huy Thập, Thầy đã định hướng đề tài, hướng dẫn thực hiện, cung cấp cho tôi những kiến thức, kinh nghiệm vô cùng quý báu giúp tôi hoàn thành luận văn này

Tôi xin gửi lời cảm ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau đại học và các Phòng Ban của trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, cùng các Thầy, Cô giáo trong Khoa Công nghệ thông tin - trường Đại học Công nghệ, đã truyền dạy, cung cấp cho tôi những kiễn thức cơ bản và chuyên sâu về công nghệ thông tin, giúp định hướng phương pháp nghiên cứu khoa học, đồng thời tạo điều kiện tốt nhất trong suốt quá trình học tập và thực hiện luận văn tốt nghiệp

Tôi xin gửi lời cảm ơn đến người thân, bạn bè, đồng nghiệp những người luôn sát cánh, động viên, khuyến khích tôi trong học tập cũng như thực hiện luận văn này

Học viên

Nguyễn Văn Cường

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan nội dung trình bày trong luận văn này là do tôi tự nghiên cứu, tìm hiểu và được sự hướng dẫn trực tiếp của PGS.TS Lê Huy Thập Các nội dung trình bày và kết quả nghiên cứu hoàn toàn trung thực

Luận văn của tôi chưa từng được ai công bố trong bất cứ công trình nào Trong quá trình thực hiện luận văn, tôi đã tham khảo tài liệu của các tác giả được tôi trích dẫn, tham chiếu rõ ràng trong “DANH MỤC TÀI LIỆU THAM KHẢO” ở cuối luận văn

Học viên

Nguyễn Văn Cường

Trang 5

MỤC LỤC

LỜI CẢM ƠN 3

LỜI CAM ĐOAN 4

MỤC LỤC 5

DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT 7

DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG 8

MỞ ĐẦU 10

Chương 1 : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN, GIAO TÁC PHÂN TÁN VÀ XỬ LÝ SONG SONG 11

1.1 Giới thiệu cơ sở dữ liệu phân tán 11

1.1.1 Khái niệm 11

1.1.2 Quản trị cơ sở dữ liệu phân tán 12

1.1.3 Kiến trúc của cơ sở dữ liệu phân tán 13

1.1.4 Đặc trưng của cơ sở dữ liệu phân tán 15

1.1.5 Các cơ chế truy xuất CSDL phân tán 16

1.2 Giao tác phân tán 17

1.2.1 Quản lý khóa trong giao tác 17

1.2.2 Xử lý giao tác khi xảy ra sự cố 18

1.3 Xử lý song song 19

1.3.1 Một số thuật toán xử lý dữ liệu song song 19

1.3.2 Các phương pháp xử lý song song 21

1.3.3 Các phép toán song song 25

1.4 Kết chương 32

Chương 2 : TỐI ƯU HÓA TRUY VẤN VÀ CÁC THUẬT TOÁN TÔ MÀU TỐI ƯU CÂY TRUY VẤN 33

2.1 Tối ưu hóa truy vấn 33

2.1.1 Tổng quan 33

Trang 6

2.1.2 Mô hình tối ưu hoá truy vấn hai pha JOQR 34

2.1.3 Chi phí song song và mô hình chi phí trên bộ tối ưu hoá truy vấn 37

2.1.4 Cực tiểu hoá chi phí phân mảnh lại 39

2.2 Các thuật toán tô màu tối ưu cây truy vấn 40

2.2.1 Thuật toán tách màu 43

2.2.2 Mở rộng thuật toán tách màu, cách sử dụng tập màu 45

2.3 Tô màu tối ưu cây truy vấn với tính chất vật lý 47

2.3.1 Chi phí của cây truy vấn tiền xử lý 50

2.3.2 Thuật toán tách màu mở rộng 51

2.4 Kết chương 53

Chương 3 : ỨNG DỤNG THUẬT TOÁN TÔ MÀU TỐI ƯU CÂY TRUY VẤN VÀO BÀI TOÁN QUẢN LÝ PHẠM NHÂN 54

3.1 Công tác quản lý phạm nhân 54

3.2 Cơ sở dữ liệu Phần mềm quản lý phạm nhân 54

3.3 Ứng dụng thuật toán tô màu tối ưu cho một số truy vấn vào bài toán quản lý phạm nhân 55

3.3.1 Ví dụ 1 56

3.3.2 Ví dụ 2 57

3.3.3 Ví dụ 3 58

3.3.4 Hình ảnh Demo 61

3.4 Kết chương 62

KẾT LUẬN 64

DANH MỤC TÀI LIỆU THAM KHẢO 65

Trang 7

DANH MỤC CÁC CỤM TỪ VIẾT TẮT, NGHĨA TIẾNG VIỆT

TT Từ viết

tắt

1 CM Centralized Merging Trộn tập trung

3 DBM Database management Quản trị cơ sở dữ liệu

4 DC Data Communication Truyền thông dữ liệu

6 DDB Distributed Database Cơ sở dữ liệu phân tán

7 DM Distributed Merging Trộn tập trung

9 JOQR Join Ordering and Query

Rewriting

Sắp xếp thứ tự các phép nối và viết lại câu truy vấn

10 MPP Massively Parallel

Processor Bộ xƣ̉ lý Song song lớn

11 PAJ Paralel Associative Join Nối kết hợp song song

12 PHJ Parallel Hash Join Nối băm song song

13 PNL Parallel Nested Loop Vòng lặp lồng song song

14 PVM Parallel Virtual Machine Máy tính ảo song song

15 QEP Query Excution Plan kế hoạch thực hiện truy vấn

Trang 8

DANH MỤC SƠ ĐỒ, HÌNH VẼ, BẢNG

Hình 1.1: Tổng quan CSDL phân tán 11

Hình 1.2: Mô hình CSDL phân tán trên mạng 12

Hình 1.3: Hệ thống đa xử lý 12

Hình 1.4: Các thành phần của một DDBMS 13

Hình 1.5: Kiến trúc cơ bản của CSDL phân tán 14

Hình 1.6: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể 14

Hình 1.7: Cơ chế truy xuất từ xa 16

Hình 1.8: Cơ chế truy xuất thông qua chương trình phụ trợ 17

Hình 1.9: Thuật toán vòng lặp lồng song song song 20

Hình 1.10: Thuật toán nối kết hợp song song 20

Hình 1.11: Thuật toán nối băm song song 21

Hình 1.12: Quan hệ PROJ 23

Hình 1.13: Các mảnh dọc của quan hệ PROJ 23

Hình 1.14: Quan hệ ASG 26

Hình 1.15: Kết quả trộn tập trung 27

Hình 1.16: Số phạm nhân phạm các tội giam giữ tại các trại giam 28

Hình 1.17: Gộp nhóm theo phương pháp trộn phân tán 28

Hình 1.18: Gộp nhóm theo thuật toán ReF 29

Hình 1.19: Quan hệ EMP và PAY 30

Hình 1.20: Kết quả nối bằng 30

Hình 1.21: Kết quả nối nửa 31

Hình 2.1: Quá trình tối ưu hoá truy vấn 33

Hình 2.2: Cây truy vấn tiền xử lý 34

Hình 2.3: Cây toán tử tương đương cây hình 2.5 36

Trang 9

Hình 2.4: Các cây truy vấn khác nhau về phân hoạch dữ liệu 40

Hình 2.5: Chi phí các phương án tô màu (i) Cây ban đầu, (ii) Chi phí 7, (iii) chi phí 6 42

Hình 2.6: Phân rã bài toán sau khi tô màu nút i 43

Hình 2.7: Cây truy vấn với thuộc tính phân mảnh khác nhau 46

Hình 2.8: Điều kiện nối là thuộc tính: TP 49

Hình 3.1: Cơ sở dữ liệu quản lý phạm nhân 55

Hình 3.2: Cây truy vấn ban đầu 56

Hình 3.3: Cây truy vấn sau khi sắp xếp lại thứ tự phép nối 56

Hình 3.4: Phân mảnh quan hệ tại hai nút 57

Hình 3.5: Cây truy vấn ban đầu và các phương án tô màu 58

Hình 3.6: Phân bố dữ liệu và cây truy vấn tối ưu 59

Hình 3.7: Cây truy vấn khác nhau về phân hoạch dữ liệu 59

Hình 3.8: Cây truy vấn sau khi tách nút TP_GD 60

Hình 3.9: Cây truy vấn tối ưu với chi phí 6 60

Hình 3.10: Kết quả truy vấn sau khi sắp xếp lại thứ tự phép nối 61

Hình 3.11: Kết quả chọn các màu để tô và chi phí phân mảnh lại 62

Hình 3.12: Tính toán giá trị Optc theo bổ đề 2.1 62

Hình 3.13: Một số Modul khác của phần Demo 62

Trang 10

MỞ ĐẦU

Xử lý song song phân tán và lập trình song song đã và đang được các công

ty phần mềm trong nước và thế giới nghiên cứu ứng dụng bởi tính hiệu quả vô cùng lớn của nó Khả năng xử lý và lập trình song song ứng dụng giải quyết được các vấn đề lớn và phức tạp như dự báo động đất, sóng thần, thời tiết, xử lý ảnh, khai phá dữ liệu,… giúp giảm đáng kể chi phí, đồng thời khắc phục những hạn chế khi dùng các phương pháp tuần tự Ngoài ra, sử dụng các thuật toán xử

lý song song phân tán để đưa ra phương án tốt nhất xử lý, truyền và lưu thông tin tại các vị trí trên mạng

Trong đề tài này, tác giả tập trung nghiên cứu các thuật toán nhằm tối ưu hóa chi phí truy vấn cơ sở dữ liệu phân tán, tìm phương án thực thi song song và được phát biểu thành bài toán tô màu tối ưu cho một cây truy vấn Thông qua nghiên cứu các thuật toán để tô màu tối ưu một cây truy vấn như thuật toán tách màu, thuật toán trộn,… tác giả có so sánh, đánh giá và đề xuất phương án có chi phí tốt nhất với điều kiện cụ thể, rút ra kết luận

Nhằm hiện thực hóa các thuật toán tô màu tối ưu cây truy vấn, tác giả nghiên cứu, xây dựng cơ sở dữ liệu của ứng dụng Quản lý phạm nhân tại các trại giam của Bộ Công an, với một số câu truy vấn đặc trưng, thường dùng để mô phỏng các thuật toán, đánh giá kết quả thực nghiệm

Để có kiến thức nền tảng thực hiện nội dung đề tài này, tác giả tập trung nghiên cứu, tìm hiểu lý thuyết về CSDL phân tán, thiết kế CSDL phân tán-song song, truy vấn phân tán và vấn đề tối ưu, tính toán song song, các thuật toán thực thi song song, đặc biệt là nghiên cứu các thuật toán tối ưu truy vấn, tăng khả năng xử lý song song, phát biểu thành bài toán tô màu tối ưu một cây truy vấn

Về cấu trúc luận văn, ngoài phần mở đầu, kết luận và các danh mục, luận văn được tổ chức thành 3 chương Chương 1, tác giả trình bày các vấn đề liên quan đến CSDL phân tán, quản lý giao tác phân tán, xử lý song song Chương 2, tác giả nghiên cứu các phương pháp tối ưu hóa truy vấn và các thuật toán tô màu tối ưu cho một cây truy vấn Chương 3, nghiên cứu ứng dụng thuật toán đối với một số câu truy vấn đặc thù của cơ sở dữ liệu “Phần mềm quản lý phạm nhân”

Trang 11

Chương 1 : TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN, GIAO TÁC

PHÂN TÁN VÀ XỬ LÝ SONG SONG 1.1 Giới thiệu cơ sở dữ liệu phân tán

1.1.1 Khái niệm

Cơ sở dữ liệu (CSDL) phân tán[5] là một tập hợp dữ liệu, mà về mặt logic tập hợp này thuộc cùng một hệ thống, nhưng về mặt vật lý dữ liệu đó được phân tán trên các vị trí khác nhau của một mạng máy tính

Theo định nghĩa, dữ liệu được phân tán ở nhiều nơi Tại mỗi vị trí, dữ liệu được xây dựng theo một cấu trúc chung, được sử dụng chung để cùng giải quyết một vấn đề Xem Hình 1.2

Có hai điểm quan trọng trong định nghĩa đó là phân tán và tương quan logic Về phân tán, dữ liệu không chỉ được đặt tại một vị trí mà được phân bố rộng khắp trên nhiều máy tính đặt tại nhiều vị trí khác nhau Về tương quan logic, nhìn tổng thể, dữ liệu thuộc cùng một hệ thống, người dùng không thấy được sự phân tán dữ liệu, nhưng thực tế nó được phân tán tại các nút mạng và có thuộc tính ràng buộc chúng với nhau Đó là điểm phân biệt một cơ sở dữ liệu phân tán với một cơ sở dữ liệu tập trung Hệ quản trị CSDL chịu trách nhiệm quản lý và phân quyền truy nhập dữ liệu tới các nút trong môi trường mạng Xem Hình 1.1, Hình 1.2 và Hình 1.3

Hình 1.1: Tổng quan CSDL phân tán

Trang 12

Hình 1.2: Mô hình CSDL phân tán trên mạng

Hình 1.3: Hệ thống đa xử lý

1.1.2 Quản trị cơ sở dữ liệu phân tán

Hệ quản trị CSDL phân tán là một hệ thống phần mềm cho phép quản lý các hệ CSDL phân tán và làm cho việc phân tán trở nên trong suốt đối với người

sử dụng

Các thành phần của hệ quản trị CSDL phân tán (Hình 1.4):

- Phần quản trị dữ liệu: DBM;

Trang 13

- Phần truyền thông dữ liệu: DC;

- Phần từ điển dữ liệu: DD, dùng để mô tả thông tin về sự phân tán của dữ liệu trên mạng

- CSDL phân tán: DDB

Hình 1.4: Các thành phần của một DDBMS

1.1.3 Kiến trúc của cơ sở dữ liệu phân tán

Kiến trúc cơ bản, các thành phần của một cơ sở dữ liệu phân tán được thể hiện như sơ đồ Hình 1.5

1.1.3.1 Sơ đồ tổng thể

Xác định tất cả các dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu phân tán cũng như các dữ liệu không được phân tán ở các trạm trong hệ thống Sơ đồ tổng thể được định nghĩa giống như trong CSDL tập trung Trong mô hình quan hệ, sơ đồ tổng thể bao gồm định nghĩa của tập các quan hệ tổng thể (Xem hình 1.5)

1.1.3.2 Sơ đồ phân mảnh

Mỗi quan hệ tổng thể có thể chia thành một các phần không giao nhau gọi là phân mảnh (Fragmentation) Sơ đồ phân mảnh mô tả các ánh xạ giữa quan hệ tổng thể và các mảnh Các mảnh được mô tả bằng tên của quan hệ tổng thể cùng

với chỉ mục của mảnh Chẳng hạn, R j được hiểu là mảnh thứ j của quan hệ R

Trang 14

hoặc Rij đƣợc hiểu là mảnh thứ j của quan hệ R đƣợc đặt tại trạm i Xem hình 1.6

Hình 1.5: Kiến trúc cơ bản của CSDL phân tán

Hình 1.6: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể

Trang 15

1.1.3.3 Sơ đồ định vị

Sơ đồ định vị xác định đoạn dữ liệu R j được định vị tại trạm thứ i trên mạng Tất cả các đoạn được liên kết với cùng một quan hệ tổng thể R và được định vị tại cùng một trạm i cấu thành ảnh vật lý quan hệ tổng thể R tại trạm i Do đó, ta

có thể ánh xạ 1-1 giữa một ảnh vật lý và một cặp (quan hệ tổng thể, trạm) Các ảnh vật lý có thể chỉ ra bằng tên của một quan hệ tổng thể và một chỉ mục của

trạm Mảnh thứ j của quan hệ R tại trạm i được ký hiệu là Rij Xem hình 1.6

1.1.3.4 Sơ đồ ánh xạ cục bộ

Thực hiện ánh xạ các ảnh vật lý lên các đối tượng được thực hiện bởi hệ quản trị cơ sở dữ liệu cục bộ Tất cả các đoạn của một quan hệ tổng thể trên cùng một trạm tạo ra ảnh vật lý

1.1.4 Đặc trưng của cơ sở dữ liệu phân tán

Một cơ sở dữ liệu phân tán có các đặc trưng cơ bản sau[5]:

1.1.4.1 Chia sẻ tài nguyên

Mỗi tài nguyên được quản lý bởi một chương trình có giao diện truyền thông Các tài nguyên phải được truy nhập, cập nhật một cách tin cậy và nhất quán Quản lý tài nguyên là quản lý việc lập kế hoạch dự phòng, đặt tên cho các lớp tài nguyên, thiết lập các cơ chế truy nhập từ một nút hay ánh xạ tên tài nguyên vào địa chỉ truyền thông

1.1.4.2 Tính mở

Hệ thống phân tán dễ dàng mở rộng phần cứng, phần mềm Hệ thống cho phép mở rộng với các loại phần cứng khác nhau và sử dụng phần mềm của các nhà cung cấp khác nhau Tính mở của hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến trình và công khai các giao diện dùng để truy nhập các tài nguyên dùng chung

1.1.4.3 Khả năng song song

Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy có một hay nhiều CPU, nhiều tiến trình thực hiện một thời điểm Các tiến trình thực hiện theo cơ chế phân chia thời gian (một hay nhiều CPU) Khả năng làm việc song song trong hệ phân tán được thể hiện qua hai tình huống: (1) có nhiều người sử dụng đồng thời đưa ra các lệnh hay các tương tác với các chương trình ứng dụng (2) nhiều tiến trình Server chạy đồng thời, mỗi tiến trình phải đáp ứng yêu cầu từ các Clients

Trang 16

1.1.4.4 Khả năng mở rộng

Khi hệ được mở rộng không thay đổi phần mềm hệ thống và phần mềm ứng dụng Có thể mở rộng phần cứng, mạng và thiết kế hệ phân tán

1.1.4.5 Khả năng chịu lỗi

Khả năng chịu lỗi của hệ thống phân tán dựa trên hai giải pháp là dùng cơ chế thay thế hoặc dùng chương trình hồi phục khi sự cố xảy ra

1.1.4.6 Tin cậy và nhất quán

Hệ thống yêu cầu độ tin cậy như bảo mật dữ liệu, có các chức năng sao lưu, khôi phục khi xảy ra lỗi, hỏng dữ liệu Ngoài ra, hệ thống phải đảm bảo nhất quán nội dung cơ sở dữ liệu Dữ liệu tại các nút là như nhau

1.1.4.7 Tính trong suốt

Tính trong suốt của một hệ phân tán là việc che đi các thành phần riêng biệt

của hệ đối với người sử dụng và những người lập trình ứng dụng Các loại trong suốt có thể là Trong suốt phân mảnh (Fragmentation Transparency), trong suốt

về vị trí (Location Transparency) và trong suốt ánh xạ cục bộ (Local Mapping Transparency)

1.1.5 Các cơ chế truy xuất CSDL phân tán

1.1.5.1 Truy xuất từ xa không qua chương trình phụ trợ

Ứng dụng phát ra một yêu cầu truy xuất CSDL tại vị trí bất kỳ Hệ quản trị CSDL phân tán gửi yêu cầu truy xuất đến vị trí chứa dữ liệu Hệ quản trị cơ

sở dữ liệu cục bộ (nơi có dữ liệu cần truy xuất) thực hiện truy vấn và trả kết quả

về nơi yêu cầu (Xem hình 1.7)

Hình 1.7: Cơ chế truy xuất từ xa

Trang 17

1.2.5.2 Truy xuất từ xa thông qua chương trình phụ trợ

Một ứng dụng yêu cầu thực hiện một chương trình phụ trợ đặt tại vị trí từ

xa Chương trình phụ trợ này sẽ truy xuất CSDL từ xa và trả lại kết quả cho ứng dụng đang yêu cầu (Xem hình 1.8)

Hình 1.8: Cơ chế truy xuất thông qua chương trình phụ trợ

1.2 Giao tác phân tán

Giao tác là một lần thực hiện một chương trình Chương trình có thể là một câu truy vấn, một chương trình ngôn ngữ chủ với các lời gọi được gắn vào một ngôn ngữ vấn tin

Quản lý giao tác phân tán là quản lý một số vấn đề trong quá trình truyền thông của hệ phân tán như độ tin cậy, điều khiển tương tranh, hiệu quả sử dụng các tài nguyên của hệ thống

1.2.1 Quản lý khóa trong giao tác

Trong điều khiển đồng thời phân tán, CSDL phải được phân nhỏ thành các mục dữ liệu Phương pháp thông dụng nhất để điều khiển việc truy xuất các mục

dữ liệu là sử dụng khóa chốt (lock)

Khóa chốt là một đặc quyền truy xuất trên một mục dữ liệu mà bộ quản lý khóa chốt (Lock Manager) uỷ quyền cho một giao tác nào đó hoặc thu hồi lại

Bộ quản lý khóa chốt là một thành phần cơ bản của DDBMS, chịu trách nhiệm theo dõi xem một mục dữ liệu nào đó hiện đang chịu sự đọc/ghi của một hoặc nhiều giao tác

Ví dụ: cho hai giao tác T1, T2 cùng muốn truy cập đến vùng dữ liệu x Khóa chốt thực hiện như sau:

Trang 18

- Trước khi T1 đọc x phải khóa x lại (lock x), ngăn không cho giao tác T2 truy xuất x cho đến khi T1 hoàn thành

- T1 hoàn thành thì giải phóng khóa Unlock(x) để các giao tác T2 vào

- T2 cũng thực hiện như giao tác T1

1.2.2 Xử lý giao tác khi xảy ra sự cố

Giả sử có một giao tác T khởi hoạt tại một vị trí và sinh ra nhiều giao tác tại các vị trí khác Thành phần của giao tác T thực hiện tại vị trí gốc được gọi là điều phối viên (coordinator), các giao tác thực hiện tại các vị trí khác được gọi là các thành viên (participants) Điều phối viên chịu trách nhiệm cuối cùng về quyết định ủy thác hoặc hủy bỏ Nếu một thành viên không thể ủy thác cục bộ giao tác con của nó thì tất cả các thành viên khác phải hủy bỏ cục bộ

1.2.2.1 Sự cố về vị trí

- Một thành viên gặp sự cố trước khi ghi mẫu tin “ready” vào nhật ký

Nếu thời gian quá hạn của điều phối viên đã hết, điều phối viên quyết định hủy

bỏ giao tác, tất cả các thành viên trực thuộc hủy bỏ những giao tác con của nó Thành viên bị sự cố được phục hồi, quy trình sẽ bắt đầu lại mà không cần phải tập hợp thông tin từ những vị trí khác

- Một thành viên gặp sự cố sau khi ghi mẫu tin “ready” vào nhật ký

Những vị trí đúng sẽ kết thúc giao tác (commit hoặc abort) Vị trí có sự cố phục hồi bằng cách: (i)Truy cập thông tin phục hồi từ xa ; (ii) Điều phối viên và tất cả những thành viên trực thuộc khác sẽ thực hiện như khi trước khi ghi mẫu tin

“ready”, thành viên bị sự cố sẽ thực hiện bắt đầu lại như đã mô tả

- Điều phối viên gặp sự cố sau khi ghi mẫu tin “prepare” nhưng trước khi ghi mẫu tin “global_commit” hoặc “global_abort” vào nhật ký

Các thành viên đã trả lời READY phải chờ sự phục hồi của điều phối viên Quy trình bắt đầu lại của điều phối viên thừa nhận giao thức ủy thác từ lúc khởi đầu

- Điều phối viên gặp sự cố sau khi ghi mẫu tin “global_commit” hoặc

“global_abort” nhưng trước khi ghi mẫu tin “complete” vào nhật ký

Điều phối viên phải gửi lại cho tất cả các thành viên những quyết định Tất cả những thành viên không nhận được lệnh phải chờ cho đến khi điều phối viên phục hồi

- Điều phối viên gặp sự cố sau khi ghi mẫu tin “complete” vào nhật ký Trong trường hợp này, giao tác đã kết thúc và không có hành động cần thiết để thực hiện lại

Trang 19

- Một thông điệp ACK bị mất Điều phối viên vẫn không rõ thành viên đã nhận được thông điệp lệnh hay chưa Giải quyết vấn đề này bằng cách xem thời gian quá hạn trong log của điều phối viên Nếu không có thông điệp ACK được nhận sau khoảng thời gian quá hạn từ lúc phát lệnh thì điều phối viên sẽ gửi lại lệnh đó Phương án tốt nhất để xử lý trường hợp này là gửi lại thông điệp ACK tại vị trí thành viên bị mất

1.3 Xử lý song song

Hiện nay, hầu hết các chương trình viết bằng ngôn ngữ SQL dùng để xử

lý CSDL đều có thể đưa vào các máy đa xử lý để thực hiện song song SQL là một ngôn ngữ truy vấn chuẩn có thể áp dụng trong việc xử lý song song Phần mềm SQL viết cho các hệ thống đơn xử lý có thể đưa vào các máy tính song song mà không phải thay đổi mã Chúng ta sẽ dùng ngôn ngữ SQL để mô tả quá trình thực hiện câu truy vấn trong các máy tính song song

Sau đây, chúng ta lần lượt nghiên cứu các thuật toán xử lý dữ liệu, các phương pháp xử lý song song và các phép toán song song

1.3.1 Một số thuật toán xử lý dữ liệu song song

Cơ sở cho việc thực hiện truy vấn song song là việc phân mảnh dữ liệu và sắp đặt dữ liệu Việc sắp đặt các mảnh dữ liệu có vai trò quan trọng trong việc thiết kế các thuật toán song song và điều khiển xử lý dữ liệu hiệu quả thông qua các toán tử đại số quan hệ Thực hiện truy vấn song song nhiều toán tử cần phải đảm bảo sự cân bằng giữa tính toán song song và chi phí cho quá trình trao đổi thông tin

Giả sử quan hệ R được phân thành m mảnh và sắp đặt trên m vị trí Quan hệ S được phân thành n mảnh và sắp đặt trên n vị trí Giả thiết m node và n node tách

Trang 20

rời nhau Các node chứa các mảnh của quan hệ R được ký hiệu R-node, tương tự cho S là S-node

Có ba thuật toán kết nối song song cho việc xử lý dữ liệu[5]: Thuật toán vòng lặp lồng song song, thuật toán nối kết hợp song song và thuật toán nối băm song song

1.3.1.1 Thuật toán vòng lặp lồng song song

Thuật toán vòng lặp lồng song song[5] thay thế toán tử

Ví dụ 1.1: Với m=n=2 ta có kết quả như Hình 1.9:

Hình 1.9: Thuật toán vòng lặp lồng song song song

1.3.1.2 Thuật toán nối kết hợp song song

Thuật toán nối kết hợp song song[5] thay thế toán tử

Ví dụ 1.2 : với m=n=2 ta có kết quả như Hình 1.10:

Hình 1.10: Thuật toán nối kết hợp song song

Trang 21

1.3.1.3 Thuật toán nối băm song song

Thuật toán nối băm song song[5] là sự tổng quát hóa của thuật toán nối kết hợp song song, được áp dụng trong trường hợp kết nối bằng nhau không cần

sự phân mảnh cụ thể nào của quan hệ toán hạng Ý tưởng cơ bản của thuật toán

là phân mảnh các quan hệ R và S thành p mảnh R1, R2,…,Rp và S1, S2, …,Sp sao cho:

Ví dụ 1.3 : với m=n=2 ta có kết quả như Hình 1.11:

Hình 1.11: Thuật toán nối băm song song

1.3.2 Các phương pháp xử lý song song

Các phép truy vấn trong mô hình quan hệ rất thích hợp cho việc thực hiện song song Truy vấn quan hệ thực chất là các phép toán quan hệ thực hiện trên các dòng dữ liệu có cùng cấu trúc Hơn nữa, kết quả của mỗi phép toán là một quan hệ nên ta có thể kết hợp các phép toán thành các dòng dữ liệu song song

Có hai loại dòng dữ liệu song song: song song đường ống và song song phân mảnh Có thể sử dụng các thủ tục tuần tự sẵn có để thực hiện các phép toán đã

có một cách song song mà không phải xây dựng các phép toán song song mới

Có 3 cơ chế xử lý song song cơ bản:

- Song song liên truy vấn (inter - query parallelism)

- Song song nội truy vấn (intra - query parallelism)

- Song song nội toán tử (intra- operator parallelism)

1.3.2.1 Song song liên truy vấn

Song song liên truy vấn là thực hiện nhiều truy vấn cùng một lúc bằng cách lập lịch thực hiện cho các toán tử của các truy vấn đó Để đáp ứng có hiệu quả đối với nhiều loại truy vấn khác nhau, bộ tối ưu truy vấn cần phải tạo ra ít nhất

Trang 22

một tiến trình cho mỗi loại toán tử CSDL nguyên thuỷ trong mỗi bộ xử lý Các

toán tử này được gọi là các toán tử phục vụ Khi một toán tử phục vụ hoàn thành

công việc đối với một truy vấn, thì nó được trả về vùng chờ và đợi các yêu cầu

phục vụ khác (nếu còn có) đến từ các truy vấn tiếp theo Như vậy, bằng cách chia sẻ các toán tử phục vụ cho nhiều truy vấn, chúng ta có thể tránh được sự quá tải gắn liền với việc khởi tạo các tiến trình Có hai phương pháp lập lịch

được sử dụng phổ biến: lập lịch cạnh tranh và lập lịch theo phương án

i Lập lịch cạnh tranh

Lập lịch trên cơ sở cạnh tranh hoạt động như sau:

- Khi khởi động hệ thống, một tập các tiến trình điều phối được tạo ra

- Trình phân phối (dipatcher process) chỉ định một tiến trình điều phối cho

một truy vấn theo kiểu hàng đợi

- Khi một bộ điều phối được chỉ định cho một truy vấn thì tự nó lập lịch cho các phép toán trong câu truy vấn tương ứng dựa vào cây toán tử

- Bộ điều phối tương ứng của cây toán tử phải "cạnh tranh" với các bộ điều phối khác để giành được các toán tử phục vụ nhằm thực hiện toán tử trên cây toán tử đó

Sau khi giành được các toán tử phục vụ cần thiết cho công việc, nó tiến hành phối hợp với các toán tử này để thực hiện các phép toán một cách đồng thời Ưu điểm đối với phương pháp này là đơn giản và "công bằng" theo nghĩa mỗi truy vấn đều có cùng cơ hội để cạnh tranh các tài nguyên tính toán Tuy nhiên khả năng sử dụng hệ thống của phương pháp này chưa cao

ii Lập lịch theo phương án

- Một bộ lập lịch chung cho tất cả các truy vấn

- Bộ lập lịch biết nhu cầu tài nguyên của tất cả các truy vấn hoạt động nên

nó có thể lập lịch cho các phép toán của các cây toán tử này, dựa vào việc các yêu cầu này có phù hợp với điều kiện của hệ thống song song đang có hay không

- Chiến lược chọn "tốt nhất" được áp dụng để chọn ra một phép toán từ nhiều phép toán đang đợi

- Sử dụng toán tử phục vụ tốt hơn để thực hiện trước

Phương pháp này có khả năng sử dụng hệ thống tốt hơn nhưng không "công bằng" như phương pháp lập lịch trên cơ sở cạnh tranh Bởi vì, các truy vấn liên quan đến tính phức tạp của chúng (chẳng hạn xử lý tên các quan hệ rất nhỏ hoặc rất lớn) có thể rơi vào tình trạng chờ đợi mãi mãi, vì không thể thực hiện do

Trang 23

không giành được tài nguyên Ngoài ra, bộ lập lịch cũng có thể đưa đến hiện tượng "điểm nóng" khi mà nhu cầu tài nguyên của nhiều truy vấn tối ưu đối với

hệ thống, thì việc chọn ra một truy vấn để thực hiện trước là một vấn đề khó Các hệ Oracle 7 và Oracle RDB là các ví dụ về các hệ CSDL song song dùng chung vùng và có hỗ trợ cơ chế song song liên truy vấn

1.3.2.2 Song song nội truy vấn

Song song nội truy vấn là dạng song song hoá thi hành song song một truy vấn đơn trên nhiều bộ xử lý Nghĩa là, nó thực hiện từng truy vấn một và cho phép thực hiện đồng thời các phép toán trên truy vấn đó Có hai cơ chế song song nội truy vấn

i Song song độc lập

Ký hiệu Opi là một phép toán nào đó, Opi và Opj với i  j được gọi là song song độc lập với nhau, nếu chúng được thực hiện song song và USE(Opi)  DEF(Opj) = USE(Opj)  DEF(Opi) =  Nghĩa là toán tử này không sử dụng kết quả đầu ra của phép toán kia và ngược lại Cơ chế song song này gọi là song

song độc lập (independent parallelism)

Ví dụ 1.4: Quan hệ PROJ (hình 1.12) phân thành các mảnh dọc (hình 1.13)

P1 P2 P3 P4

Instrumentation Database Develop CAD/CAM

PNO PNAME

P1 P2 P3 P4

Instrumentation Database Develop CAD/CAM Maintenance

a PROJ 1

PNO BUD

P1 P2 P3 P4

Montereal NewYork NewYork Paris

c PROJ 3

Hình 1.13: Các mảnh dọc của quan hệ PROJ

Có thể thực hiện phép nối bằng cơ chế song song độc lập như sau:

Trang 24

ii Song song đường ống

Xử lý tuần tự kiểu đường ống là một kỹ thuật quan trọng để xử lý câu truy vấn Đó là một dãy các thao tác được sắp đặt sao cho đầu ra của thao tác này là đầu vào của thao tác kế tiếp Ưu điểm chính của kỹ thuật này là không cần lưu trữ kết quả tạm thời trong quá trình xử lý mà thực hiện tính toán ngay Như vậy,

sẽ hạn chế các thao tác đọc ghi các kết quả trung gian Trong hệ thống song song, kỹ thuật đường ống chủ yếu được sử dụng với cùng mục đích như trong hệ thống xử lý tuần tự Tuy nhiên, nó được dùng như một biện pháp song song hoá một phần Nghĩa là, hai phép toán khác nhau có thể thực hiện đồng thời bằng cách lấy kết quả của phép toán này làm dữ liệu vào cho phép toán kia Cơ chế này gọi là song song đường ống

PROJ' PROJ PROJ3 3 (5) (5)

Song song hoá đường ống rất tốt đối với hệ thống có ít bộ xử lý, nhưng với các hệ thống có nhiều bộ xử lý thì ít thích hợp Bởi vì, chuỗi các thao tác đường ống không đủ dài để cho phép thực hiện song song hoá ở mức độ cao Ngoài ra, không thể sắp vào đường ống các phép toán quan hệ (chẳng hạn phép trừ, phép

Trang 25

gộp nhóm, sắp xếp) do đây là các phép toán không thể tạo ra kết quả khi tất cả các đầu vào của nó chƣa đƣợc duyệt

1.3.2.3 Song song nội toán tử

Song song nội toán tử thực hiện một phép toán quan hệ bằng cách dùng nhiều bộ xử lý Điều này có thể thực hiện bằng cách phân chia các toán hạng cho các bộ xử lý Một phép toán quan hệ đƣợc tách thành các phép toán độc lập, mỗi phép toán này thực hiện một phần dữ liệu bằng một bộ xử lý riêng biệt Cơ chế song song nội toán tử còn đƣợc gọi là song song phân mảnh, nó dựa trên sự phân mảnh và bản sao dữ liệu để thực hiện các toán tử

1.3.3 Các phép toán song song

Nhận thấy rằng, việc phân mảnh ngang, phân mảnh ngang nguyên thuỷ, phân mảnh dọc hoặc phân mảnh hỗn hợp đều cho chúng ta các quan hệ Vì vậy, mảnh ở đây có thể đồng nhất với quan hệ Khi tái thiết các mảnh, hay ghép, nối các mảnh (tức là cục bộ hoá dữ liệu) chúng ta dùng các phép toán nhƣ phép Hợp hoặc Ghép, Nối

Ngoài việc xây dựng các phép toán song song, chúng ta còn có thể sử dụng các phép toán quan hệ truyền thống với các dòng dữ liệu song song Mỗi phép toán quan hệ có một tập các cổng vào chứa các mẫu tin và một cổng ra chứa dòng dữ liệu kết quả Dòng dữ liệu song song thực hiện bằng cách tách và ghép các dòng dữ liệu thành các cổng tuần tự Có hai phép toán song song cơ bản:

phép ghép (merge operator) và phép tách (splitting operator)

Ngoài ra, phép ghép cũng có thể xem là phép kết hợp nhiều dòng dữ liệu song song độc lập thành một dòng dữ liệu đơn (tuần tự) Một dòng dữ liệu đơn (tuần tự) đƣợc tách thành nhiều dòng dữ liệu song song độc lập đƣợc gọi là phép tách Một phép tách đƣợc dùng để phân mảnh hoặc lặp lại dòng kết quả ra của một phép toán quan hệ

Trang 26

GROUP BY <GroupedFields>

HAVING <Conditions>

Số mẫu tin kết quả phụ thuộc vào các thuộc tính nhóm sau mệnh đề GROUP

BY

Ví dụ 1.6: Xét truy vấn "Hãy cho biết số dự án có ngân sách > 250000 đang

đƣợc triển khai tại các địa điểm

SELECT LOC, Count(*)

1.3.3.1 Thuật toán trộn tập trung

Ví dụ 1.7 Cho quan hệ ASG nhƣ hình 1.14

E1 E2 E2 E3 E3 E4 E5 E6 E7 E8

P1 P1 P2 P3 P4 P2 P2 P4 P3 P3

Manager Analyst Analyst Consultant Engineer Programmer Manager Manager Engineer Manager

Ưu điểm: Thực hiện tốt khi số mẫu tin kết quả là nhỏ

Nhược điểm: Giai đoạn trộn kết quả thực hiện tuần tự nên dễ xảy ra hiện

tƣợng "nút cổ chai" khi số mẫu tin kết quả lớn

Trang 27

Giả sử quan hệ ASG trên hình 1.14 được lưu tại các vị trí Montereal, New York và Paris Hãy tìm tổng nhân viên làm việc tại các dự án Như vậy tại từng

vị trí tính tổng nhân viên, sau đó gửi đến một vị trí đã định để tính tổng toàn bộ (hình 1.15)

Hình 1.15: Kết quả trộn tập trung

1.3.3.2 Thuật toán trộn phân tán

Gồm hai bước:

Bước 1: Mỗi nút thực hiện gộp nhóm các mẫu tin trên vùng của nó

Bước 2: Các giá trị gộp nhóm riêng được phân mảnh theo hàm băm trên thuộc tính nhóm GROUP BY và các nút thực hiện trộn các giá trị gộp nhóm cục

bộ này một cách đồng thời

Ưu điểm: Các nút thực hiện trộn các giá trị gộp nhóm thành phần một cách

đồng thời nên giai đoạn trộn không còn là vấn đề bế tắc nữa

Nhược điểm: Do một giá trị nhóm được tích luỹ trên tất cả các nút nên đòi

hỏi bộ nhớ phải lớn

Ví dụ 1.8: Giả sử Tổng Cục quản lý Trại Giam - Bộ Công an giam giữ phạm nhân tại 3 nơi: Trại giam Phú Sơn - Thái Nguyên; Trại Giam Thanh Xuân - Hà Nội và Trại giam Ninh Khánh - Ninh Bình Tại các trại giam này giam giữ phạm nhân phạm các tội:

1 XPAN (Xâm phạm an ninh Quốc gia)

2 GN (Giết người)

3 CUOP (Cướp)

4 CHONG (Chống người thi hành công vụ)

5 HIEP (Hiếp dâm)

Trang 28

8 THAM (Tham nhũng)

Kết quả thống kê phạm nhân đến tháng 10 năm 2015 tại các trại giam như Hình 1.16

Hình 1.16: Số phạm nhân phạm các tội giam giữ tại các trại giam

Kết quả gộp nhóm theo phương pháp trộn phân tán được trình bày trên hình 1.17

Hình 1.17: Gộp nhóm theo phương pháp trộn phân tán

Trại Phú Sơn, Thái Nguyên

STT Mod 3 STT Mod 3 STT Mod 3

STT Loại Phạm nhân PN Số

1 XPAN 65

4 CHONG 900

7 BBMT 345 STT Mod 3 = 1

STT Loại Phạm nhân PN Số

2 GN 230

5 HIEP 146

8 THAM 50 STT Mod 3 = 2

Trang 29

1.3.3.3 Thuật toán phân mảnh lại

Thuật toán phân mảnh lại (ReF) thực hiện qua hai bước:

1 Khác với hai thuật toán trên, các nút không thực hiện gộp nhóm trực tiếp các phần dữ liệu trên địa chỉ lưu trữ của nó, mà trước tiên phân mảnh lại quan hệ trên thuộc tính nhóm GROUP BY

2 Các vị trí thực hiện gộp nhóm các thành phần dữ liệu sau khi đã phân mảnh lại

Ví dụ: Kết quả dữ liệu ở hình 1.16, sau khi ứng dụng thuật toán ReF thể hiện như hình 1.18

Hình 1.18: Gộp nhóm theo thuật toán ReF

Trại Phú Sơn, Thái Nguyên

STT Mod 3=0 STT Mod 3=1 STT Mod 3=2

Trang 30

1.3.3.4 Thuật toán thực hiện phép kết nối

Nhắc lại các phép nối:

Nối là một dẫn xuất của tích Descartes Cho hai quan hệ R và S nối của R và

S được ký hiệu T = R FS là một quan hệ giao của R và S với F là vị từ nối (phép toán giao hoán) được định nghĩa như sau:

T = R FS = F(RF)

Nối bằng:

Nếu F chứa các thuộc tính chung của hai quan hệ, phép so sánh giữa các thuộc tính của hai quan hệ là “=” (dấu bằng) và nếu chúng ta chiếu bỏ để đảm bảo rằng các thuộc tính này không xuất hiện hai lần trong kết quả, thì phép nối được gọi là nối bằng

Ví dụ: Cho hai quan hệ:

EMP(ENO, ENAME, TITLE): Nhân công, PAY(TITLE, SAL): Chi trả lương

Hình 1.19: Quan hệ EMP và PAY Kết quả nối bằng của quan hệ EMP và PAY với điều kiện nối:

EMP.TITLE = PAY.TITLE như Hình 1.20

EMP EMP.TITLE=PAY.TITLE PAY

E1 E2 E3 E4 E5 E6 E7 E8

J Doe

J Smith

A Lee J.Miller B.Casey L.Chu R.David J.Jones

Elect Eng

Syst Anal

Mech Eng

Programmer Syst Anal

PAY

TITLE SAL Elect Eng

Syst Anal

Mech.Eng Progammer

Elect Eng Syst Anal Mech.Eng Programmer Syst.Anal Elect.Eng Mech.Eng Syst Anal

Trang 31

Nối tự nhiên:

Nối tự nhiên là một nối bằng của hai quan hệ trên một thuộc tính cụ thể, đặc biệt là trên trên các thuộc tính có cùng miền biến thiên Tuy nhiên, có điều rất khác biệt các thuộc tính được dùng để nối tự nhiên chỉ xuất hiện một lần trong kết quả Nối tự nhiên được ghi như nối không có công thức:

R AS, trong đó A là thuộc tính chung cho cả R và S

Chú ý rằng thuộc tính nối tự nhiên có thể có tên khác nhau trong hai quan hệ; điều bắt buộc là chúng có cùng miền giá trị

RA BS, trong đó A và B là thuộc tính tương ứng của R và S

Nối nửa (Không giao hoán)

Nối nửa của quan hệ R được định nghĩa trên tập thuộc tính A, với quan hệ S được định nghĩa trên tập thuộc tính B, là tập con các bộ của R có tham gia vào nối của R và S Nối nửa được ký hiệu: R FS (trong đó F là vị từ) có thể thu được như sau:

R F S = A (RFS) = A(R) F AB(S) = R F AB(S)

Ưu điểm: của nối nửa là làm giảm số lượng các bộ cần phải xử lý để thực

hiện nối Kết quả nối nửa EMP với PAY trên vị từ EMP.TITLE = PAY.TITLE được thể hiện trên hình 1.21

EMP EMP.TITLE = PAY.TITLE PAY

A = {ENO, ENAME, TITLE}

B = {TITLE, SAL }

A  B = {TITLE}

E1 E2 E3 E4 E5 E6 E7 E8

J Doe

J Smith

A Lee J.Miller B.Casey L.Chu R.David J.Jones

Elect Eng

Syst Anal

Mech Eng

Programmer Syst Anal

Trang 32

Kiểu nối sắp trộn, được thực hiện với hai quan hệ mà thuộc tính chung (kết nối) đã được sắp xếp, vấn đề còn lại là so sánh các bộ có các giá trị bằng nhau trên thuộc tính chung sẽ được nối với nhau

Kiểu nối băm, được thực hiện với hai quan hệ R (quan hệ kết nối) và S (quan hệ được nối) đã được phân mảnh theo hàm băm trên thuộc tính chung (kết nối) Sau đó một mảnh của R được đưa vào bộ nhớ làm thường trực và duyệt các mảnh ngang của S và mỗi bộ được so sánh với mảnh của R đang thường trực, nếu có các giá trị bằng nhau trên thuộc tính chung sẽ được nối với nhau

Kiểu nối lặp - lồng, được thực hiện với hai quan hệ R và S có thuộc tính chung Ứng với mỗi bộ của mảnh của R (vòng lặp ngoài), chương trình sẽ tìm kiếm các bộ của S (vòng lặp trong) có các giá trị bằng với nó theo thuộc tính nối

sẽ được nối với nhau

1.4 Kết chương

Trong chương 1, tác giả hệ thống hóa lý thuyết về cơ sở dữ liệu phân tán với các đặc trưng, mô hình, phương pháp phân mảnh, bố trí dữ liệu, các cơ chế quản lý, truy xuất cơ sở dữ liệu, phương pháp xử lý khi có sự cố

Phần cuối chương, tác giả nghiên cứu, trình bày các thuật toán xử lý, sắp đặt dữ liệu, xây dựng cây truy vấn có chú giải phục vụ thực hiện song song truy vấn Các thuật toán trộn tập trung, trộn phân tán, là các kỹ thuật cơ bản của xử

lý dữ liệu phân tán và nền tảng để thực hiện các truy vấn song song, tối ưu hóa chi phí

Ngày đăng: 04/04/2016, 20:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. PGS.TS Lê Huy Thập (2012), Cơ sở lý thuyết song song, tài bản lần 1, Nhà xuất bản Thông tin và Truyền thông Sách, tạp chí
Tiêu đề: Cơ sở lý thuyết song song
Tác giả: PGS.TS Lê Huy Thập
Nhà XB: Nhà xuất bản Thông tin và Truyền thông
Năm: 2012
2. Đoàn Văn Ban, Nguyễn Mậu Hân (2006), Xử lý song song và phân tán, NXB Khoa học và Kỹ thuật Sách, tạp chí
Tiêu đề: Xử lý song song và phân tán
Tác giả: Đoàn Văn Ban, Nguyễn Mậu Hân
Nhà XB: NXB Khoa học và Kỹ thuật
Năm: 2006
3. PGS.TS Nguyễn Tuệ (2009), Giáo trình nhập môn cơ sở dữ liệu, NXB Giáo Dục Sách, tạp chí
Tiêu đề: Giáo trình nhập môn cơ sở dữ liệu
Tác giả: PGS.TS Nguyễn Tuệ
Nhà XB: NXB Giáo Dục
Năm: 2009
4. PGS.TS Lê Huy Thập (2015), Bài giảng cơ sở dữ liệu phân tán, lập trình song song tại các trường ĐH Sư Phạm Hà Nội 2, Học viện công nghệ Bưu chính Viễn Thông, ĐH Thái Nguyên.Tiếng Anh Sách, tạp chí
Tiêu đề: Bài giảng cơ sở dữ liệu phân tán, lập trình song song
Tác giả: PGS.TS Lê Huy Thập
Năm: 2015
5. Barry Wilkinson and Michael Allen (1999), Parallel Programming: Techniques and Applications using Networked Workstations and Parallel Computers, Prentice Hall New Jersey Sách, tạp chí
Tiêu đề: Parallel Programming: "Techniques and Applications using Networked Workstations and Parallel Computers
Tác giả: Barry Wilkinson and Michael Allen
Năm: 1999
6. Behrooz Parhami (1999), Introduction to Parallel Processing: Algorithms and Architectures, Springer Sách, tạp chí
Tiêu đề: Introduction to Parallel Processing: Algorithms and Architectures
Tác giả: Behrooz Parhami
Năm: 1999
7. Dimitri P. Bertsekas and John N. Tsitsiklis (2001), Parallel and Distributed Computation: Numerical Methods. Massachusets Institute of Technology.Prentice Hall Press Sách, tạp chí
Tiêu đề: Parallel and Distributed Computation: Numerical Methods
Tác giả: Dimitri P. Bertsekas and John N. Tsitsiklis
Năm: 2001
8. Michael J. Quinn (2000), Parallel Computing: theory and practice, 2nd edition. Oregon State University, USA. McGraw Hill Inc Sách, tạp chí
Tiêu đề: Parallel Computing: theory and practice
Tác giả: Michael J. Quinn
Năm: 2000
9. M. Tamer ệzsu, Patrick Valduriez (2011), Principles of Distributed Database Systems, Third Edition, Springer Sách, tạp chí
Tiêu đề: Principles of Distributed Database Systems
Tác giả: M. Tamer ệzsu, Patrick Valduriez
Năm: 2011
10. Seyed H. Roo (1999), Parallel processing and Parallel Algorithms, Theory and Coputation, Springer Sách, tạp chí
Tiêu đề: Parallel processing and Parallel Algorithms, Theory and Coputation
Tác giả: Seyed H. Roo
Năm: 1999

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Tổng quan CSDL phân tán - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.1 Tổng quan CSDL phân tán (Trang 11)
Hình 1.2: Mô hình CSDL phân tán trên mạng - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.2 Mô hình CSDL phân tán trên mạng (Trang 12)
Hình 1.4: Các thành phần của một DDBMS - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.4 Các thành phần của một DDBMS (Trang 13)
Hình 1.6: Các đoạn và hình ảnh vật lý của một quan hệ tổng thể - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.6 Các đoạn và hình ảnh vật lý của một quan hệ tổng thể (Trang 14)
Hình 1.10: Thuật toán nối kết hợp song song - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.10 Thuật toán nối kết hợp song song (Trang 20)
Hình 1.15: Kết quả trộn tập trung - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.15 Kết quả trộn tập trung (Trang 27)
Hình 1.17: Gộp nhóm theo phương pháp trộn phân tán - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.17 Gộp nhóm theo phương pháp trộn phân tán (Trang 28)
Hình 1.18: Gộp nhóm theo thuật toán ReF - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 1.18 Gộp nhóm theo thuật toán ReF (Trang 29)
Hình 2.1: Quá trình tối ƣu hoá truy vấn - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 2.1 Quá trình tối ƣu hoá truy vấn (Trang 33)
Hình 2.5: Chi phí các phương án tô màu - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 2.5 Chi phí các phương án tô màu (Trang 42)
Hình 2.6: Phân rã bài toán sau khi tô màu nút i - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 2.6 Phân rã bài toán sau khi tô màu nút i (Trang 43)
Hình 3.3: Cây truy vấn sau khi sắp xếp lại thứ tự phép nối - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 3.3 Cây truy vấn sau khi sắp xếp lại thứ tự phép nối (Trang 56)
Hình 3.5: Cây truy vấn ban đầu và các phương án tô màu - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 3.5 Cây truy vấn ban đầu và các phương án tô màu (Trang 58)
Bảng 3.1 Tính toán Optc, Opt của cây truy vấn. - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Bảng 3.1 Tính toán Optc, Opt của cây truy vấn (Trang 60)
Hình 3.12: Tính toán giá trị Optc theo bổ đề 2.1 - Các thuật toán tô màu tối ưu cho một cây truy vấn và ứng dụng
Hình 3.12 Tính toán giá trị Optc theo bổ đề 2.1 (Trang 62)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w