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

Tiêu Đề tương tranh và thuật toán Điều khiển tương tranh trong cơ sở dữ liệu phân tán

23 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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 23
Dung lượng 2,74 MB

Nội dung

Nhằm hiểu rõ vấn đề tương tranh, cách thức điều khiển tương tranh và truy cập dữ liệu trong cơ sở dữ liệu phân tán để đảm bảo sự nhất quán của dữ liệu khi có các thao tác tác động lên c

Trang 1

BO GIAO DUC VA DAO TAO TRƯỜNG ĐẠI HỌC HÒA BÌNH

Lol

SI

BÀI TẬP LỚN

AN TOÀN CƠ SỞ DỮ LIỆU

TIÊU ĐÈ: TƯƠNG TRANH VÀ THUẬT TOÁN ĐIÊU KHIẺN TƯƠNG TRANH

TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

Giáo viên: PGS.TS Đỗ Trung Tuấn Lớp: CNTT 2023

Học viên: Vũ Đức Thuận

Hà Nội, tháng 03/2024

1/23

Trang 2

LỜI CẢM ƠN

Bài tập được hoàn thành sau thời gian ngắn, em cũng đã đạt được một số kết quả

trong khoảng thời gian tập trung nghiên cứu Kết quả có được này, không chỉ từ nỗ lực của em, mà còn có sự giảng dạy, chia sẻ và hướng dẫn của các Thầy hướng

dẫn, các đồng nghiệp tại đơn vị công tác và gia đình Em xin được bày tỏ tình cảm

chân thành của mình trước những hỗ trợ và giúp đỡ này

Đầu tiên, em xinh được gửi lời biết ơn sâu sắc tới Thầy PGS TS Đỗ Trung Tuấn,

đã trực tiếp giảng dạy, định hướng nghiên cứu và hướng dẫn em các bước trước khi thực hiện bài tập về chủ đề này

Em trân trọng cảm ơn các Thầy Cô trong Khoa Công nghệ thông tin và Đào tạo sau đại học cùng Lãnh đạo Trường Đại học Hòa Bình đã tạo điều kiện thuận lợi cho em trong thời gian học và thực hiện bài tập

Cuối cùng, em chân thành cảm ơn gia đình đã luôn là hỗ trợ và động viên trong quá trình học tập

Hà Nội, tháng 3 năm 2024

Trang 3

MỤC LỤC

TONG QUAN Ả ốố 3 PHAN 1: TONG QUAN VỀ CƠ SỞ DỮ LIỆU (CSDL) PHÂN TÁN 5

2 Ưu nhược điểm của hệ quản trị cơ sở dữ liệu phân tán se 5

1 Câu trúc tham khảo của hệ cơ sở dữ liệu phân tán - He ue 7

PHAN 2: CÁC GIAO TÁC PHÂN TÁN 000 2222212202222 cee 7

I] CÁC THUỘC TÍNH CỦA GIAO TÁC 22-22 22s xe A2223 23238232 Exerreee 9

PHAN 3: PHU'O'NG PHAP DIEU KHIEN TUO'NG TRANH TRONG CO’ SO’ DU

LIEU PHAN TAN ou ccccccccccccccccscecsssessssessvecsseessvesesvesssvssssesasecaresssessevesasessssesasesenssseseeseey 10

1 TONG QUAN TU’ONG TRANH cccsccsssssssscessessescessesssssessssssssssssessessessessessssssessseseesssoees 10

II PHƯƠNG PHÁP ĐIỀU KHIÊN TƯƠNG TRANH TRÊN CƠ SỞ KHÓA 12

4 Tổng quan về khóa - -.222222,1.21122.1 1 1 E1 d.riririeg 12

2 Một sô tình huông không mong đợii - Gà HH HH HH HH cước 14

3 Một sô phương pháp điêu khiên tương tranh trên cơ sở khóa - .c cccc c- 1ó

3.3 Phương pháp khóa 2 pha trung tâm (Centralized 2PL) - -cĂ SH He, 20

Ill ĐÁNH GIÁ HIỆU QUẢ THUẬT TOÁN ĐIỀU KHIỂN TƯƠNG TRANH TRÊN CƠ SỞ

1 Ưu khuyết điểm của phương pháp điều khiển tương tranh dựa trên cơ sở khóa 21

3/23

Trang 4

TONG QUAN

Cơ sở dữ liệu phân tán là mô hình lưu trữ dữ liệu rất quan trọng trong các hệ thống thông tin lớn và ngày càng được áp dụng và triển khai trong các

dự án Hiện nay, cơ sở dữ liệu phân tán được ứng dụng trong hầu hết các hệ

thống thông tin trong các lĩnh vực như: tài chính, ngân hàng, thương mại, giáo dục, doanh nghiệp

Cơ sở dữ liệu phân tán có đặc điểm chính là dữ liệu được phân tán

trên nhiều máy chủ, mỗi máy chủ hoạt động độc lập và tự lập trình, đồng thời cũng đòi hỏi các cơ chế đồng thuận và quản lý để đảm bảo tính nhất quán

của dữ liệu Do đó, trong hệ cơ sở dữ liệu phân tán việc điều khiển tương tranh là bài toán rất quan trọng

Bài tập này tập trung vào tìm hiểu và nghiên cứu nội dung “Các

phương pháp điều khiển tương tranh và cập nhật dữ liệu trong cơ sở

dữ liệu phân tán” Nhằm hiểu rõ vấn đề tương tranh, cách thức điều khiển

tương tranh và truy cập dữ liệu trong cơ sở dữ liệu phân tán để đảm bảo sự nhất quán của dữ liệu khi có các thao tác tác động lên cơ sở dữ liệu

._ Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu:

Nghiên cứu các thuật toán về điều khiển tương tranh và cập nhật dữ liệu

trong hệ cơ sở dữ liệu phân tán

Nhiệm vụ nghiên cứu:

- _ Nghiên cứu hệ phân tán

- Cac giao tác phân tán

- _ Các thuật toán về điều khiển tương tranh và cập nhật dữ liệu

Phạm vi nghiên cứu:

Tập trung nghiên cứu các thuật toán về điều khiển tương tranh và cập nhật

dữ liệu trong cơ sở dữ liệ phân tán trên cơ sở khóa

Trang 5

PHAN 1: TONG QUAN VE CO’ SO’ DU’ LIEU (CSDL) PHAN TAN

I CO’ SO’ DU LIEU PHAN TAN

1 Khái niệm cơ sở dữ liệu phân tán

Cơ sở dữ liệu phân tán là một loại cơ sở dữ liệu trong đó dữ liệu được lưu trữ

và quản lý trên nhiều máy chủ phân tán độc lập nhau, thường nằm ở các vị trí địa lý khác nhau và được kết nối bởi mạng máy tính Mỗi máy chủ trong hệ thống phân tán

này có thể được quản lý và truy cập một cách độc lập, nhưng chúng hoạt động cùng nhau để cung cấp dịch vụ dữ liệu cho người dùng hoặc ứng dụng

Như vậy có 2 vấn đề của cơ sở dữ liệu phân tán với tầm quan trọng tương

đương nhau:

Việc phân tán: Trong thực tế dữ liệu không đặt trên cùng một vị trí vì vậy đây

là cơ sở để phân biệt cơ sở dữ liệu phân tán vói cơ sở dữ liệu tập trung và cơ

sở dữ liệu đơn lẻ

Liên quan logic: mặc dù được lưu trữ tại nhiều vị trí khác nhau nhưng có

quan hệ với nhau, và có thể truy xuất tại mỗi vị trí theo giao diện chung

2 Ưu nhược điểm của hệ quản trị cơ sở dữ liệu phân tán

2.1 Ưu điểm

Tính linh hoạt cao: Hệ quản trị cơ sở dữ liệu phân tán cho phép dữ liệu

được phân tán trên nhiều nút và vị trí vật lý khác nhau Điều này tạo ra tính

linh hoạt cao trong việc mở rộng hệ thống và phục vụ cho các ứng dụng phức

tạp

Khả năng chịu lỗi: Với việc phân tán dữ liệu, hệ thống có khả năng chịu lỗi tốt hơn Nếu một nút trong hệ thống gặp sự cố, dữ liệu vẫn có thể tiếp tục

được truy cập từ các nút khác mà không gây ra sự gián đoạn lớn

Hiệu suất tốt hơn: Hệ quản trị cơ sở dữ liệu phân tán có thể tận dụng tài nguyên từ nhiều nút khác nhau, tăng hiệu suất và tốc độ truy xuất dữ liệu Bảo mật tốt hơn: Phân tán dữ liệu có thể giảm thiểu rủi ro liên quan đến an

ninh, vì dữ liệu không tập trung tại một nơi duy nhất mà được phân tán trên

nhiều nút

2.2 Nhược điểm

Độ phức tạp cao: Quản lý và duy trì hệ thống phân tán đòi hỏi kiến thức và

kỹ năng cao, đồng thời cần phải xử lý các vấn đề như đồng bộ hóa dữ liệu và

quản lý mạng

Chi phí cao: Việc triển khai và duy trì hệ thống phân tán có thể tốn kém hơn

so với hệ thống tập trung do yêu cầu về phần cứng và phần mềm phức tạp

5/23

Trang 6

- Ruiro vé déng bo hóa dữ liệu: Việc đồng bộ hóa dữ liệu giữa các nút khác nhau có thể gây ra các ván đề như mắt mát dữ liệu hoặc xung đột dữ liệu

- _ Vấn đề về quản lý và điều phối: Việc quản lý và điều phối các tác vụ và tài nguyên trên nhiều nút có thể gây ra các vấn đề liên quan đến tổ chức và quản

- _ Ưu điểm: Việc quản lý tương đối dễ dàng

- _ Nhược điểm: Máy lưu trữ cơ sở dữ liệu phải có cấu hình đủ mạnh

3.2 Mức dữ liệu ở một nơi, xử lý ở nhiều nơi

Giả sử một máy tính nào đó trong mạng phát ra yêu cầu về dữ liệu thì yêu cầu đó được gửi về Server Sau đó dữ liệu này được chuyển từ Server đến máy tính

đó để xử lý dữ liệu

- _ Ưu điểm: Đáp ứng dữ liệu nhanh, máy lưu trữ dữ liệu không cần phải có cấu

hình mạnh

- _ Nhược điểm: Tăng lưu lượng trên đường truyền dữ liệu

3.3 Mức dữ liệu ở nhiều nơi và xử lý ở nhiều nơi

Chia cơ sở dữ liệu DB ban đầu thành các đoạn dữ liệu con (DB1, DB2, , DBi, ., DBn) được lưu trữ ở các máy tính, tại các địa điểm khác nhau Khi máy tính

thứ ¡ có yêu cầu về dữ liệu thì quá trình diễn ra như sau:

- _ Tìm kiếm xem các dữ liệu đang được lưu trữ trên may nao

- _ Xử lý dữ liệu ngay tại nơi tìm được

- _ Sau khi xử lý xong sẽ chuyển kết quả xử lý đó về máy thứ ¡ có yêu cầu ban đầu

Ưu điểm: Xử lý công việc nhanh

Nhược điểm: Rất khó khăn cho việc quản trị dữ liệu

Trang 7

II THIET KE CO’ SO’ DU’ LIEU PHAN TAN

1 Cấu trúc tham khảo của hệ cơ sở dữ liệu phân tán

Lược đô toàn cục

Các lược đỏ

Lược đồ phân mảnh '; đọc lập vi tri(noi)

Lược đồ địnhvị |-—_ s Lược đô ánh xạ cục bộ | Lược đồ ánh xạ cục bộ 2| Cac vi trí khác

DBMS tai vị trí DBMS tại vị trí2 _]

Hình 1: Cầu trúc tham khảo của hệ cơ sở dữ liệu phân tán [1]

2 Các ràng buộc toàn vẹn trong cơ sở dữ liệu phân tán

Đối với hệ cơ sở dữ liệu phân tán, ngoài những ràng buộc như: ràng

buộc về miền giá trị, ràng buộc liên quan đến nhiều thuộc tính, ràng buộc

về liên thuộc tính, ràng buộc trên nhiều quan hệ, còn có các ràng buộc

khác như: Khi có bản sao dữ liệu yêu cầu tất cả các giá trị của một thuộc

tính của một quan hệ này cũng phải tồn tại trong các quan hệ khác Ràng

buộc này thường được dùng để đảm bảo đúng đắn cho sự phân mảnh

PHAN 2: CAC GIAO TAC PHAN TAN

I KHAI NIEM VE GIAO TAC

Một giao tác là một đơn vị chương trình được thực hiện nhằm mục đích truy

xuất các đơn vị dữ liệu có thể được lưu trữ tại nhiều vị trí khác nhau Giao tác có thể

thực hiện việc đọc, ghi, tính toán tạo ra dữ liệu mới cho cơ sở dữ liệu, vì vậy các yêu

cầu của giao tác là tính nhất quán và tin cậy Một giao tác gồm các câu lệnh (thao

tác) Để truy xuất đến cơ sở dữ liệu, giao tác có thể thực hiện các thao tác sau:

- Read(X): Đọc đơn vị dữ liệu X từ cơ sở dữ liệu vào trong vùng đệm cục bộ

mà giao tác này có thể đọc được

- _ Write(X): Giao tác viết đơn vị dữ liệu X từ vùng đệm cục bộ vào trở lại cơ sở

dữ liệu

7/23

Trang 8

ll CAC TRANG THAI CUA GIAO TAC

Dựa vào mức độ hoàn thành các lệnh của giao tác mà chia giao tác thành các trạng thái khác sau:

- Active: Trang thái đang hoạt động

Hình 2: Biêu đồ trạng thái tương ứng của một giao tác [2]

Trong trường hợp không có lỗi xảy ra thì các lệnh của giao tác sẽ lần lượt được thực hiện hoàn toàn Nếu giao tác phải bỏ qua giữa chừng thì mọi thay đổi trên cơ sở dữ liệu mà giao tác đang thực hiện dở phải được trả về trạng thái ban

đầu và khi đó ta phải quay trở lại từng bước để khôi phục dữ liệu về trạng thái cũ

Một giao tác sau khi thực hiện hoàn tất được gọi là có trạng thái commited Giao tác ở trạng thái này sẽ thực hiện cập nhật và biến đổi cơ sở dữ liệu sang một trạng thái nhất quán mới, và trạng thái này vẫn được duy trì trong trường hợp hệ thống bị hỏng hóc Một giao tác ở trạng thái commited sẽ không thể rơi vào trạng thái Aborted và ngược lại Một yêu cầu đặt ra là trong trường hợp có hỏng hóc xảy

ra thì không được gây lên mắt mát dữ liệu do giao tác đang thực hiện giữa chừng Một giao tác trong trạng thái Failed sau khi hệ thống xác định rằng giao tác

việc tiếp tục thực hiện là không thể (có thể do lỗi phần cứng hoặc lỗi logic .)

Vì vậy sau khi hệ thống khôi phục ta phải chọn 1 trong 2 truờng hợp sau:

- _ Resfart Có lỗi về phần cứng hoặc phần mềm mà không thể xử lý bởi lỗi bên

trong của giao tác Việc restart xem như thực hiện một giao tác mới

Trang 9

- _ Undo lại giao tác này: Có lỗi bên trong của giao tác hoặc là dữ liệu không tìm

thấy trong cơ sở dữ liệu

Cần thận trọng trong trường hợp khi ghi dữ liệu ra thiết bị ngoài như máy in,

trong trường hợp này không thể Undo duo Vi vay, chỉ ghi ra thiết bị ngoài khi giao

tác trong trạng thái commited Một cách giải quyết khác là có thể viết tạm vào bộ nhớ ngoài, sau khi hoàn tất thì mới in ra giấy Trong trường hợp này, nếu hệ thống

bị hỏng sau khi hoàn tất nhưng chưa kịp ghi ra thiết bị ngoài thì hệ cơ sở dữ liệu sẽ

thực hiện việc này khi hệ thống duoc Restart lai

Trong những ứng dụng có tính chắc chắn, đòi hỏi phải thể hiện dữ liệu cho

người sử dụng, đặc biệt là những giao tác thực hiện trong một khoảng thời gian dài, chúng ta không thể xuất dữ liệu giữa chừng được

lll CAC THUQC TINH CUA GIAO TAC

1 Tính Nguyên tử (Atomicity)

Tính Atomic là đặc tính quan trọng nhất của giao tác Nó đảm bảo rằng một giao tác sẽ được thực hiện toàn bộ hoặc không thực hiện gì cả, không có trạng thái

trung gian nào giữa "bắt đầu" và "kết thúc" của giao tác

Nếu một phần của giao tác gặp sự có, toàn bộ giao tác sẽ bị hủy bỏ và dữ liệu sẽ trở lại trạng thái ban đầu

2 Tính nhất quán(Consistency)

Tính Consistent đảm bảo rằng giao tác sẽ chuyển dữ liệu từ một trạng thái hợp lệ này sang một trạng thái hợp lệ khác một cách nhất quán Điều này có nghĩa

là giao tác phải tuân thủ các ràng buộc và quy tắc đã được định nghĩa trước đó,

đảm bảo tính nhất quán của dữ liệu

3 Tính cô lap (Isolation)

Tinh Isolated dam bảo rằng giao tác được thực hiện độc lập và không bị ảnh hưởng bởi các giao tác khác đang diễn ra cùng lúc Các giao tác phải thực hiện một cách riêng biệt và không được phép can thiệp vào nhau trong quá trình thực thi

4 Tính bền vững (Durability)

Tính Durable đảm bảo rằng các thay đổi được thực hiện bởi một giao tác sẽ

được lưu trữ và không bị mắt ngay cả khi xảy ra sự cố hệ thống sau này Điều này

đảm bảo tính an toàn của dữ liệu và ngăn chặn dữ liệu từ việc mắt mát không mong

muốn

9/23

Trang 10

PHÀN 3: PHƯƠNG PHÁP ĐIÊU KHIÉN TƯƠNG TRANH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN

I TỎNG QUAN TƯƠNG TRANH

1 Tương tranh trong cơ sở dữ liệu

Tương tranh trong cơ sở dữ liệu là tình trạng xảy ra khi hai hoặc nhiều giao

dịch đồng thời cố gắng truy cập hoặc thay đổi cùng một tài nguyên dữ liệu trong cơ

sở dữ liệu vào cùng một thời điểm Khi xảy ra tương tranh, có nguy cơ dẫn đến các vấn đề như mắt mát dữ liệu, dữ liệu không nhất quán hoặc xung đột dữ liệu

2 Vì sao phải thực hiện tương tranh

Tăng hiệu suất: Tương tranh cho phép nhiều người dùng hoặc tiến trình truy cập và thao tác dữ liệu cùng một lúc Điều này giúp tăng hiệu suất của hệ thống bằng cách giảm thời gian chờ đợi cho người dùng và tiến trình

Tăng khả năng phản hôi: Tương tranh giúp hệ thống cung cấp phản hồi nhanh chóng cho các yêu cầu từ người dùng Thay vì chờ đợi cho đến khi một giao

dịch hoàn thành, các người dùng khác có thể tiếp tục làm việc mà không gặp trở

ngại

Đảm bảo tính nhát quán của dữ liệu: Tương tranh giúp đảm bảo tính nhất quán của dữ liệu trong quá trình thực hiện các thao tác đồng thời Các cơ chế tương tranh như khóa và phiên bản đảm bảo rằng các thay đổi dữ liệu không xảy ra cùng lúc trên cùng một tài nguyên

Tránh xung đột dữ liệu: Tương tranh giúp tránh xung đột dữ liệu khi nhiều

người dùng cố gắng truy cập hoặc thay đổi cùng một dữ liệu đồng thời Bằng cách quản lý tương tranh một cách hiệu quả, hệ thống có thể giải quyết xung đột dữ liệu

một cách tự động mà không cần sự can thiệp của người dùng

Đảm bảo an toàn dữ liệu: Tương tranh giúp đảm bảo an toàn của dữ liệu trong quá trình truy cập và thao tác Bằng cách kiểm soát quyền truy cập và sử dụng

các cơ chế phân đoạn, hệ thống có thể ngăn chặn truy cập trái phép và bảo vệ dữ liệu khỏi rủi ro mắt mát hoặc thay đổi không mong muốn

3 Tính khả tuần tự

Định nghĩa: cho n giao tac T; , T2, , Th

- - Ta gọi một lịch S của một tập các giao tác T;, T:, , Tạ là một thứ ty ma trong

đó các lệnh của giao tác này được thực hiện lần lượt hoàn toàn Ký hiệu: S(T;, Ta, , Tn)

Trang 11

- - Một lịch S gọi là tuần tự nếu tất cả các bước của mỗi giao tác đều được thực

hiện liên tiếp nhau Như vậy trong lịch tuần tự mỗi giao tác thực hiện toàn bộ các

lệnh của nó và không có tương tranh

- _ Một lịch $ được gọi là khả tuần tự nếu nó tương đương với 1 lịch tuần tự nào đó

(Ta gọi 2 lịch tương đương nếu kết quả cuối cùng trong cơ sở dữ liệu sau khi

thực hiện 2 lịch này là như nhau)

Ví dụ: Giả sử công ty có 2 phòng A và B Phòng A có 1000 nhân viên và

phòng B có 2000 nhân viên Giao tác T; chuyển 50 nhân viên từ A sang B và giao

tác T: chuyển 10% từ A sang B Ta có các giao tác như sau:

S;: lịch tuần tự S;: lịch khả tuần tự S;: không khả tuàn tự

S; là tuần tự: S(T:;T;) và sau khi cho thực hiện tương tranh S; thì kết quả

tương đương lịch S: Sau khi thực hiện lịch S; thì giá trị của A = 950 và B= 2100

Rơi vào trạng thái không nhất quán

Khi thực hiện tương tranh các giao tác phải đảm bảo cơ sở dữ liệu giữ

nguyên trạng thái nhất quán Trước hết ta tìm hiểu lịch nào đảm bảo tính nhất quán

11/23

Ngày đăng: 09/12/2024, 17:31