Tải bản đầy đủ (.pdf) (76 trang)

Các thuật toán quản lý khóa chốt trong cơ sở dữ liệu phân tán

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.81 MB, 76 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỖ THỊ LỢI

CÁC THUẬT TOÁN QUẢN LÝ KHÓA CHỐT
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên, 2018


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỖ THỊ LỢI

CÁC THUẬT TOÁN QUẢN LÝ KHÓA CHỐT
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

Chuyên ngành: Khoa học máy tính
Mã số: 84 80 101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Người hướng dẫn khoa học: PGS TSKH Nguyễn Xuân Huy

Thái Nguyên, 2018



v

LỜI CAM ĐOAN
Tôi xin cam đoan kết quả tìm hiểu, nghiên cứu trong luận văn là của cá nhân
tôi. Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công
bố trong bất kỳ công trình nào khác. Các trích dẫn số liệu và kết quả tham khảo
đều có xuất xứ rõ ràng và được trích dẫn hợp pháp.
Thái Nguyên, tháng 6 năm 2018
Tác giả luận văn

Đỗ Thị Lợi


vi

MỤC LỤC

LỜI CAM ĐOAN ................................................................................................. v
MỤC LỤC ............................................................................................................ vi
DANH MỤC CÁC HÌNH VẼ............................................................................. ix
LỜI CẢM ƠN ....................................................................................................... x
MỞ ĐẦU ............................................................................................................... 1
1. Đặt vấn đề ............................................................................................................... 1
2. Những đóng góp của luận văn............................................................................... 2
3. Bố cục của luận văn................................................................................................ 2

CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ GIAO
TÁC........................................................................................................................ 4
1.1. Khái niệm về cơ sở dữ liệu phân tán: ................................................................ 4
1.1.1 Đặc điểm của CSDL phân tán ....................................................................... 5

1.1.2. Đánh giá ưu, nhược điểm của CSDL phân tán: ......................................... 7
1.1.3 Các ràng buộc toàn vẹn trong cơ sở dữ liệu phân tán: ............................... 8
1.1.4. Loại hình phân tán trong luận văn ............................................................. 8
1.2. Bài toán truy nhập đồng thời giải quyết tranh chấp ....................................... 9
1.3. Phát biểu bài toán tổng hợp ............................................................................. 10
1.4. Giao tác (Transaction) ...................................................................................... 11
1.4.1. Khái niệm..................................................................................................... 11
1.4.3. Các thao tác của giao tác ............................................................................ 15
1.4.4. Các trạng thái của giao tác ......................................................................... 17
1.5. Lịch ..................................................................................................................... 17
1.5.1. Định nghĩa lịch: .......................................................................................... 17
1.5.2. Lịch tuần tự (Serial schedule): ................................................................... 19


vii

1.5.3. Lịch khả tuần tự (serializable schedule): ................................................... 20
1.6. Khóa chốt ............................................................................................................... 22
1.6.1. Khái niệm ......................................................................................................... 22
1.6.2. Khóa sống (Livelock) ...................................................................................... 26
1.6.3. Khóa gài (Deadlock)........................................................................................ 26
1.6.4. Nghi thức 2 pha ............................................................................................... 27
1.6.5. Mô hình khóa cơ bản ...................................................................................... 29
1.6.5.1. Mô hình đọc ghi đơn giản........................................................................ 30
1.6.5.2. Mô hình đọc và đọc & ghi....................................................................... 31

CHƯƠNG II: CÁC THUẬT TOÁN QUẢN LÝ KHÓA ................................ 33
TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN .......................................................... 33
2.1. Kiểm tra tính hợp lệ của giao tác ..................................................................... 33
2.2. Kiểm tra tính hợp lệ của lịch ............................................................................ 38

2.3. Kiểm tra nghi thức 2 pha của giao tác ............................................................ 41
2.4. Kiểm tra tính khả tuần tự của lịch .................................................................. 43
2.5. Lập lịch ............................................................................................................... 48

CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ THỬ NGHIỆM .............. 52
3.1. Tổ chức dữ liệu .................................................................................................. 52
3.2. Kịch bản chương trình...................................................................................... 54
3.3. Thử nghiệm chương trình ................................................................................ 56
3.3.1. Môi trường cài đặt ....................................................................................... 56
3.3.2. Mô hình hệ thống ........................................................................................ 56

TÀI LIỆU THAM KHẢO ................................................................................. 68


viii

DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT

1

CSDLPT Distributed database- Cở sở dữ liệu phân tán
Database- Cơ sở dữ liệu

2

CSDL

3

PT


4

CNTT

Information Technology- Công nghệ thông tin

5

MMT

Internet- Mạng máy tính

6

//

Chú thích

7

++

Tăng biến đếm lên 1 đơn vị

8

--

Giảm biến đếm xuống 1 đơn vị


9

&&

Và hoặc Ender

10



Gán

11

[][]

Ma trận

12

==

Dấu bằng

Distributed- Phân tán


ix


DANH MỤC CÁC HÌNH VẼ

Hình 3.1: Cấu trúc một file input của một giao tác cho kịch bản ................................. 53
Hình 3.2: Cấu trúc một file input của một lịch cho kịch bản ........................................ 54
Hình 3.3: Giao diện chính của chương trình ................................................................ 57
Hình 3.4: Giao diện lập lịch từ các giao tác LOCK/ UNLOCK ................................... 58
Hình 3.5: Giao diện xong lập lịch ................................................................................. 59
Hình 3.6: Giao diện phân tích lịch LOCK/ UNLOCK ................................................. 60
Hình 3.7: Giao diện xong phân tích lịch ....................................................................... 61
Hình 3.8: Giao diện phân tích lịch RLOCK & WLOCK/ UNLOCK ............................. 62
Hình 3.9: Giao diện xong phân tích lịch ....................................................................... 63
Hình 3.10: Giao diện lập lịch RLOCK & WLOK/ UNLOCK ........................................ 64
Hình 3.11: Giao diện xong lập lịch ............................................................................... 65


x

LỜI CẢM ƠN
Học viên xin chân thành cảm ơn các thầy cô giáo trong Trường Đại học
Công nghệ Thông tin và Truyền thông Đại học Thái Nguyên đã hết lòng dạy dỗ
chỉ bảo, tạo điều kiện tốt cho học viên trong suốt quá trình học tập cũng như trong
thời gian thực hiện luận văn này. Đặc biệt học viên xin gửi lời cảm ơn chân thành
và sâu sắc tới PGS. TSKH Nguyễn Xuân Huy, người đã trực tiếp quan tâm, tận
tình hướng dẫn và cung cấp nhiều tài liều cần thiết để học viên có thể hoàn thành
luận văn này. Học viên xin kính chúc thầy và gia đình luôn luôn mạnh khỏe và
hạnh phúc.
Xin cảm ơn các anh chị em học viên cao học và các bạn bè đồng nghiệp
đã trao đổi, giúp đỡ học viên rất nhiều trong quá trình học tập và thực hiện luận
văn này.
Mặc dù học viên đã cố gắng hoàn thành luận văn trong phạm vi và khả năng

cho phép nhưng chắc chắn sẽ không tránh khỏi những sai sót. Học viên kính mong
nhận được sự chỉ bảo tận tình của quý thầy cô và các bạn.
Thái Nguyên, tháng 6 năm 2018
Tác giả luận văn

Đỗ Thị Lợi


1

MỞ ĐẦU
1. Đặt vấn đề
Cơ sở dữ liệu (CSDL) là một lĩnh vực lớn và là chuyên ngành được sự quan tâm
nhiều nhất trong Công nghệ thông tin (CNTT). Từ khi có mô hình cơ sở dữ liệu
đầu tiên vào những năm 60 thì đến nay đã trải qua nhiều hệ cơ sở dữ liệu và có
nhiều ứng dụng trong khoa học và thương mại. Đặc biệt là trong thế kỷ 21, sự phát
triển của Internet bùng nổ một cách mạnh mẽ thì cơ sở dữ liệu phân tán cũng trở
thành một lĩnh vực quan trọng và phát triển nhanh chóng. Bên cạnh đó, với sự phát
triển của Internet thì việc lưu trữ, quản lý và xử lý dữ liệu tại nhiều vị trí khác nhau
của các công ty, các tổ chức đặc biệt là các công ty và tổ chức thương mại cần
được đáp ứng đầy đủ và các dữ liệu này cần phải được đảm bảo sự nhất quán và
toàn vẹn. Nhưng vấn đề được đặt ra ở đây là dựa vào nền tảng của cơ sở dữ liệu
tập trung để mở rộng cho cơ sở dữ liệu phân tán thì việc giải quyết trở nên phức
tạp. Một vấn đề khác cũng được đặt ra ở đây và cũng là vấn để mà nhiều nhà
nghiên cứu vẫn đang tìm hiểu và giải quyết đó là quản lý khóa chốt trong cơ sở dữ
liêu phân tán. Khóa chốt được hiểu là công cụ khẳng định sự chiếm giữ của một
chương trình (giao dịch) đối với một đơn vị dữ liệu trong cơ sở dữ liệu. Yêu cầu
quan trọng nhất trong quản lý khóa chốt là phải đảm bảo tính khả tuần tự cho các
giao dịch độc lập [1], [2] . Điểu này đối với cơ sở dữ liệu phân tán trở nên phức
tạp bởi vì trong môi trường phân tán có nhiều lý do để dữ liệu bị xung đột khi

nhiều giao dịch xảy ra đồng thời.
Ngày nay, song song với việc Internet phát triển thì thương mại điện tử cũng trở
thành một lĩnh vực lớn. Khi đó, các trung tâm (site) thương mại ngày càng được
mở rộng và mô hình giao dịch trực tuyến trở nên phổ biến. Nhưng khi các site


2

thương mại này càng lớn thì nhu cầu quản lý dữ liệu càng trở nên thiết yếu và dữ
liệu được đặt ở nhiều vị trí khác nhau. Với lượng dữ liệu lớn, khối lượng truy cập
lớn và quản lý giao dịch xảy ra đồng thời với tần suất cao thì làm thế nào để đảm
bảo dữ liệu không bị xung đột với nhau và dữ liệu không bị mất là một trong những
đòi hỏi bức thiết [4], [5], [6].
Học viên lựa chọn đề tài “Các thuật toán quản lý khóa chốt trong cơ sở dữ liệu
phân tán” với mục đích tìm hiểu các khái niệm, các phương thức tiếp cận và thuật
toán quản lý việc lập lịch cho một tập các giao dịch trong môi trường phân tán một
cách hiệu quả.
2. Những đóng góp của luận văn
Trong luận văn này học viên tập trung nghiên cứu tìm hiểu khái quát cơ sở
dữ liệu phân tán, giao tác và các trạng thái của giao tác.Ngoài ra tìm hiểu về giao
dịch và cách xử lí đồng thời phân tán .Từ đó xây dựng chương trình thể hiện các
thuật toán quản lý khóa chốt phân tán trong cơ sở dữ liệu phân tán.
3. Bố cục của luận văn
Nội dung của luận văn gồm có: Phần mở đầu, ba chương chính, kết luận,
mục lục và tài liệu tham khảo. Nội dung cơ bản của luận văn được trình bày như
sau:
Chương 1: Tổng quan về cơ sở dữ liệu phân tán và giao tác
Chương này sẽ trình bày về cơ sở dữ liệu phân tán, giao tác, tìm hiểu các
ràng buộc toàn vẹn trong hệ cơ sở dữ liệu phân tán, các tính chất, các thao tác và
các trạng thái của giao tác.


















×