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

Tính nhất quán của cơ sở dữ liệu nhân bản (mutual consistency) d

25 1 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

Tiêu đề Tính Nhất Quán Của Cơ Sở Dữ Liệu Nhân Bản (Mutual Consistency)
Tác giả Phan Thi Ha, Hoang Trung Hiếu, Nguyễn Anh Dire, Đào Quang Hùng, Đinh Nhớ Hoàng
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Cơ Sở Dữ Liệu
Thể loại báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 25
Dung lượng 3,52 MB

Nội dung

Các tiêu chuẩn của tính nhất quản lắn nhau yếu không yêu cầu các giả trị của các bản sao của một mục dữ liệu phải giống nhau khi kết thúc một bản cập nhật giao dịch.. Nếu RSTQ W STU £ @

Trang 1

BO THONG TIN VA TRUYEN THONG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG

PIAT

== —-. :

MÔN HỌC: CO SO DU LIEU PHAN TAN

Students : Hoang Trung Hiéu — B21DCCN353

Nguyén Anh Dire — B21DCVT017 Dao Quang Hung — B21DCVT219 Dinh Nho Hoang — B21DCDT012

Hà Nội, 2024

Trang 2

Có hai vấn đẻ liên quan đến tính nhất quản của một cơ sở dữ liệu được nhân bản

Một là tính nhất quản lẫn nhau Đây là vấn đề vẻ sự hội tụ của các giả trị của các mục đữ liệu vật

lý tương ứng với một mục dữ liệu logic

Thứ hai là tính nhất quản giao dịch Tính tuân thủ chuỗi là tiêu chí tính nhất quan của giao dịch cần phải được tải định hình trong trường hợp các cơ sở dữ liệu được nhân bản

Ngoài ra, có sự liên kết giữa tính nhất quản lẫn nhau và tính nhất quán giao dịch Trong bai bao cao nảy, trước tiên, các phương pháp tiếp cận tính nhất quán lẫn nhau sẽ được nghiên cứu và sau đó tập trung vào vấn đề định lại tính nhất quản giao dịch và mối quan hệ với tính nhất quản lẫn nhau

để đạt được sự nhất quản mạnh

Các tiêu chuẩn của tính nhất quản lắn nhau yếu không yêu cầu các giả trị của các bản sao của một mục dữ liệu phải giống nhau khi kết thúc một bản cập nhật giao dịch Điều quan trọng là khi hoạt động cập nhật kết thúc sau một thời gian, các dữ liệu cuối cùng sẽ trở nên giống nhau Điều này còn được biết đến

là “tính nhất quán cuối cùng"

Epsilon serializability (ESR) cho phép một truy vấn nhận đữ liệu không nhất quán trong khi các bản sao đang được cập nhật, nhưng yêu cầu các bản sao hội tụ vào trạng thái tương đương một bản sao sau khi các cập nhật được truyền đến tất cả các bản sao Điều này giới hạn sai số trên các giá trị đọc bằng một giá trị epsilon (z), được định nghĩa dựa trên số lượng cập nhật (các hoạt động ghi) mà một truy vấn "bỏ lỡ" Cho một giao dịch chỉ đọc (truy vấn) TQ, hãy đề TU là tập hợp tất cả các giao địch cập nhật đang thực thi đồng thời với TQ Nếu RS(TQ) W S(TU )£ @ (TO đang đọc một bản sao của một số mục đữ liệu trong khi một giao dich trong TU đang cập nhật (có thể là một bản sao khác) của các mục đữ liệu đó), thì có một xung đột đọc-viết và TQ có thê đang đọc đữ liệu không nhất quán Sự không nhất quán được giới hạn bởi các thay đối được thực hiện bởi TU ESR không làm giảm tính nhất quán của cơ sở đữ liệu, nhưng chỉ cho phép các giao dich chỉ đọc (truy vấn) đọc dữ liệu không nhất quán Vì lý do nảy, có thể khẳng định rằng ESR không làm suy yếu tính nhất quán của cơ sở dữ liệu, mà chỉ "kéo đãn" nó

1.2 Tính nhất quản lẫn nhau so với tinh nhat quan giao dich

Tính nhất quán lẫn nhau, nh chúng ta đã định nghĩa ở đây, và tính nhất quản giao dịch như chúng ta đã thảo luận trong Chương 5 có liên quan đến nhau nhưng khác nhau Tính nhất quán lẫn nhau

đề cập đến các bản sao hội tụ về cùng một giả trị, trong khi tính nhất quản của giao dịch yêu cầu lịch sử thực thi toàn cầu phải được tuần tự hóa DBMS được sao chép có thé dam bao rang các mục dữ liệu nhất quản lẫn nhau khi giao dịch được thực hiện, nhưng lịch sử thực hiện có thể không được tuân tự hóa trên toàn câu Điều này được thể hiện trong ví dụ sau

Ví dụ 6.1 Xem xét ba trang web (A, B và C) và ba mục đữ liệu (x, y,z) được phân phối như sau: trang A lưu trữ X, trang B lưu trữ X, y, trang C lưu trit x, y,Z Sử dụng số nhận dạng trang web làm chỉ số dưới trên các mục đữ liệu để đề cập đến một bản sao cụ thê Bây giờ hãy xem xét ba giao dịch sau: Lưu ý rằng Write của T1 phải được thực hiện ở cả ba trang (vì X được sao chép ở cả ba trang),

Trang 3

các ban sao Gia str rang ba lịch sử cục bộ sau đây được tạo ra tại các địa điểm:

Thứ tự xê-ri hóa trong HB là 77 > T2, trong khi 6 HC la T2 > T3 —> Tí Do đó, lịch sử toản câu không thể tuần tự hóa được Tuy nhiên, cơ sở đữ liệu nhất quản lẫn nhau Ví du, gid str ban dau XA =

xB = xC = 10, yB=yC =15 va ZC = 7 Với các lịch sử trên, giá trị cuối cùng sẽ là XA = XB = xC = 20,

yB =yC = 35, zC = 3,5 Tất cả các bản sao vật lý (bản sao) thực sự đã hội tụ về cùng một giá trị Tất nhiên, cơ sở dữ liệu có thể không nhất quán lẫn nhau và lich sử thực hiện không thê tuần tự hóa trên toàn cầu, như được minh họa trong ví dụ sau

Ví dụ 6.2 Xem xét hai trang (A và B) và một mục dữ liệu (x) được sao chép ở cả hai trang (xÀ và xB) Hãy xem xét thêm hai giao dịch sau:

Gia str rang hai lịch sử cục bộ sau đây được tạo tại hai trang (sử dụng mô hình thực thi của ví dụ trước):

Mặc dù cả hai lịch sử này đều nối tiếp nhau nhưng chúng sắp xếp T1 và T2 theo thứ tự ngược lại;

do đó, lịch sử toàn cầu không thể tuần tự hóa được Hơn nữa, tính nhất quán lẫn nhau cũng bị vi phạm Gia str rang gia tri của X trước khi thực hiện các giao dịch này là 1 Khi kết thúc quả trình thực hiện các lịch trình này, giả trị của X là 60 tại trang A và là 15 tại trang B Do đó, trong ví dụ này, lịch sử toàn cầu không thê tuần tự hóa được và cơ sở đữ liệu không nhất quán với nhau Với quan sát trên, tiêu chí nhất quán giao dịch được đưa ra trong Chương 5 được mở rộng trong cơ sở dữ liệu được sao chép để xác định khả năng tuân tự hóa một bản sao Khả năng tuần tự hóa một bản sao (1SR) cho biết tác động của các giao dịch lên các mục đữ liệu được sao chép phải giống như khi chúng được thực hiện lần lượt trên một tập hợp các mục dữ liệu Nói cách khác, các lịch sử tương đương với việc thực hiện nối tiếp các mục dữ liệu không được sao chép

Snapshot Isolation ở Chương 5 cũng đã được mở rộng cho cơ sở dữ liệu được nhân rộng và được

sử đụng làm tiêu chí nhất quán giao dich thay thế trong trường hợp cơ sở đữ liệu được nhân rộng Tương

tự, một dạng tuần tự hóa yếu hơn, được gọi là khả năng tuần tự hóa đồng thời thoái mái (RC-) đã được

Trang 4

Như đã thảo luận trước đó, các giao thức sao chép có thể được phân loại theo thời điểm các bản cập nhật được truyễn tới các bản sao (tập trung hay lười biếng) và nơi các bản cập nhật được phép xây ra (tập trung hay phân tán) Hai quyết định này thường được gọi là chiến lược quản lý cập nhật Trong phần nảy, chúng tôi thảo luận về những sự lựa chọn thay thé trước khi trình bày các giao thức trong phân tiếp theo

2.1 Lan truyền cập nhật tập tung nhanh nhẹn

Các phương pháp lan truyền cập nhật tập trung áp dụng nhanh nhẹn thay đôi tất cả các bản sao trong bối cảnh giao dịch cập nhật Do đó, khi giao dịch cập nhật được thực hiện, tất cả các bản sao đều có cùng giá trị Thông thường, các kỹ thuật lan truyền tập trung nhanh nhẹn sử dụng 2PC tại điểm cam kết, nhưng, như chúng ta sẽ thấy sau, các lựa chọn thay thế đều có thể đạt được sự nhất quán lẫn nhau Hơn nữa, lan truyền tập trung nhanh nhẹn có thê sử dụng lan truyền đông bộ của mỗi bản cập nhật bằng cách áp dụng

nó trên tất cả các bản sao cùng một lúc (khi lệnh Write được phát hành) hoặc lan truyền trì hoãn, theo đó các bản cập nhật được áp dụng cho một bản sao khi các bản cập nhật đó được phát hành, nhưng đối với các bản sao khác, sự cập nhật được phân nhóm và hoãn lại cho đến khi kết thúc giao dịch Việc lan truyén tri hoãn có thê được triển khai bằng cách đưa các bản cập nhật vào thông bảo “Chuẩn bị để cam kết” khi bắt đầu thực thi 2PC

Kỹ thuật tập trung nhanh nhẹn thường tiễn hành các tiêu chí nhất quan Vi tat cả các bản sao đều

có sự nhất quản lẫn nhau khi kết thúc giao dịch cập nhật, nên lần đọc tiếp theo có thé doc tir bat ky ban sao nảo (ví dụ, một người có thể xép R(x) dén R(xi ) cho bat ky xi nao) Tuy nhiên, W (x ) phải được áp dụng cho tất cả các bản sao (tức là W (xi ), V xi ) Do do, các giao thức tuân theo lan truyền cập nhật tập trung được gọi là giao thức đọc một/ghi tắt cả (ROWA)

Có ba điểm của việc lan truyền cập nhật tập trung nhanh nhẹn Đầu tiên, họ thường đảm bảo rằng tính nhất quán lẫn nhau được đảm bảo bằng cách sử dụng 1SR; do đó, không có sự mâu thuẫn nảo trong giao dich Thứ hai, một giao dịch có thể đọc bản sao cục bộ của mục dữ liệu (nêu có săn bản sao cục bộ)

và chắc chăn răng giá trị cập nhật được đọc Vì vậy, không cần phải đọc từ xa Cuối cùng, những thay đôi đối với bản sao được thực hiện một cách riêng lén; do đó, việc phục hồi sau lỗi có thể được điều chỉnh bởi các giao thức mà chúng ta đã nghiên cứu ở chương trước

Nhược điểm chính của việc lan truyền cập nhật tập trung nhanh nhẹn là giao dịch phải cập nhật tất

cả các bản sao trước khi kết thúc Điều này có hai hậu quả Đầu tiên, hiệu suất thời gian phản hồi của giao dịch cập nhật bị ảnh hưởng do nó thường phải tham gia vào quá trình thực thi của 2PC và do tốc độ cập nhật bị hạn chế bởi máy chậm nhất Thứ hai, nếu một trong các bản sao không có san thì giao địch không thể kết thúc vì tất cả các bản sao cần được cập nhật Như đã thảo luận ở Chương 5, nếu có thể phân biệt giữa lỗi trang web và lỗi mạng thì người ta có thể chấm đứt giao địch khi có một bản sao không khả dụng (chỉ cần một trang web không có sẵn khiến 2PC bị chặn), nhưng việc phân biệt hai loại lỗi này thường khá khó khăn

Transaction updates commit

Trang 5

Trong quả trình lan truyền cập nhật lười biếng, không phải các bản sao được cập nhật không phải tất cả đều được thực hiện trong quá trình giao dịch cập nhật Nói cách khác, giao dịch không đợi cho đến khi các cập nhật của giao dich nay duoc ap dung cho tat cả các bản sao trước khi chuyên giao—nó chuyên giao ngay khi một ban sao được cập nhật Việc lan truyền đến các bản sao khác được thực hiện không đồng

bộ với quá trình ban đâu, bởi các giao địch làm mới được gửi đến các bản sao một thời gian sau khi giao dịch cập nhật được thực hiện Giao dịch làm mới mang theo chuỗi cập nhật của giao dịch cập nhật tương ứng

Lan tuyên lười biếng được sử dụng trong những ứng dụng mả sự nhất quán lẫn nhau có thê là không cân thiết và quá hạn chế Các ứng đụng này có thể chấp nhận một số điểm không nhất quán giữa các bản sao để có được hiệu suất tốt hơn Ví dụ về các ung dung nhu vay la Domain Name Service (DNS), co

sở dữ liệu trên các trang web được phan bễ rộng rãi về mặt địa ly, cơ sở dữ liệu di động và cơ sở đữ liệu trợ lý kỹ thuật số cả nhân Trong những trường hợp này, sự nhất quản lẫn nhau thường hạn chế

Ưu điểm chính của kỹ thuật lan truyền cập nhật lười biếng là chúng thường có thời gian phản hồi

ít hơn cho các giao dịch cập nhật, vì một giao dịch cập nhật có thể được thực hiện ngay khi nó cập nhật một bản sao Nhược điểm là các bản sao không nhất quản lẫn nhau và một số bản sao có thể lỗi thời và do đó, việc đọc cục bộ có thể đọc dữ liệu cũ và không đảm bảo trả về giả trị cập nhật Hơn nữa, trong một số trường hợp mà chúng ta sẽ thảo luận sau đây, các giao dịch có thê không thấy quá trình ghi của chính mình, tức là Ri(x) của giao dịch cập nhật T¡ có thê không thấy kết quả của Wi(x) đã được tiến hành trước đó Điều

này được gọi là đảo ngược giao dịch Khả năng tuân tự hóa một bản sao mạnh (1SR mạnh) và ảnh chụp

nhanh độc lập mạnh (SI mạnh) ngăn chặn tất cả các đảo ngược giao dịch ở mức cách ly ISR và $I tương ứng, nhưng lại tốn kém hơn Sự nhất quan lẫn nhau yếu hơn của ISR và SI toản cầu, mặc dù cung cấp ít tốn kém hơn nhiều so với các phân còn lại, nhưng không ngăn cản được việc đảo ngược giao dịch Đảm bao giao dịch cấp phiên ở mức cô lập 1SR và SI đã được đề xuất nhằm giải quyết những thiếu sót này bằng cách ngăn chặn việc đảo ngược giao dịch trong một phiên khách nhưng không nhất thiết phải giữa các phiên Các đảm bảo cấp phiên nảy ít tốn kém hơn so với các bản khác mạnh hơn trong khi vẫn đảm bảo được nhiều đặc tính tốt của các phiên bản đó

2.3 Ky thuật tập rung

Các kỹ thuật lan truyền cập nhật tập trung yêu câu các bản cập nhật trước tiên được áp dụng ở bản chính va sau đó được truyễn sang các bản sao khác (được gọi là ban phụ) Trang web lưu trữ bản sao chính cũng được gọi tương tự là trang web chính, trong khi các trang web lưu trữ các bản sao phụ cho mục dữ liệu đó được gọi là các trang phụ

Trong một số kỹ thuật, có một bản gốc duy nhất cho tất cả đữ liệu được sao chép Chúng tôi gọi đây là các kỹ thuật tập trung tong thé duy nhdt Trong các giao thức khác, bản sao chính đối với mỗi mục

dữ liệu có thể khác nhau (ví dụ, đối với mục đữ liệu X, bản sao chính có thể là xỉ được lưu trữ tại trang Sỉ, trong khi đối với mục đữ liệu y, nó có thê được lưu trữ tại trang 9j) Kỹ thuật này thường được gọi là kỹ thuật tập trung sao chép chính

Có hai tru điểm của kỹ thuật tập trung Đầu tiên, việc áp dụng các bản cập nhật rất đễ dàng vì chúng chỉ diễn ra ở trang chính và chúng không yêu câu đồng bộ hóa giữa nhiều trang bản sao Thứ hai, có sự dam bao rang ít nhất một trang - trang lưu giữ bản sao chính - có các giá trị cập nhật cho một mục dữ liệu Các giao thức này thường phù hợp trong kho dữ liệu và các ứng dụng khác nơi việc xử ly dữ liệu được tập trung tại một hoặc một vài trang chính

Trang 6

cho từng mục đữ liệu như trong kỹ thuật sao chép chính là một cách để giảm sự quá tải đó, nhưng nó đặt ra các vấn đề vẻ tính nhất quản lẫn nhau, đặc biệt là liên quan đến việc duy trì khả năng tuân tự hóa toàn cầu trong kỹ thuật sao chép lười biếng, vì các giao địch làm mới phải được thực hiện tại bản sao theo cùng thứ

tự tuần tự hóa Chúng tôi bàn bạc thêm về những vẫn đề này trong các phân tiếp theo

Ci |

Trang 7

Cac kỹ thuật phân tản áp dụng bản cập nhật trên bản sao cục bộ tại nơi giao dịch cập nhật bắt đầu

và sau đó các bản cập nhật được truyền sang các trang web sao chép khác Đây là kỹ thuật phân tán vì các giao dịch khác nhau có thể cập nhật các bản sao khác nhau của cùng một mục đữ liệu được đặt tại các trang khác nhau Những kỹ thuật này thích hợp cho các ứng đụng hợp tác với quyết định phân tan//cac trung tâm hoạt động Những thuật này có thể phân phối khối lượng lớn hơn và có hiệu suất cao hơn nếu kết hợp với các kỹ thuật lan truyền lười biếng

Một vấn để phức tạp nảy sinh trong các hệ thống này là các bản sao khác nhau của một mục đữ liệu có thể được cập nhật đồng thời tại các trang web khác nhau (chính) Nếu kết hợp kỹ thuật phân tan với các phương pháp lan truyền tập trung thì các phương pháp phân tán đồng thời có thể giải quyết thỏa đáng vấn để cập nhật đồng thời Tuy nhiên, nếu sử dụng phương pháp lan truyền lười biếng thì các giao dịch có thể được thực hiện theo các thứ tự khác nhau tại các trang khác nhau gây ra hiện tượng lịch sử toàn câu non-ISR Hơn nữa, nhiều bản sao khác nhau sẽ không đồng bộ Để giải quyết những vấn đề này, sự hòa hợp phương pháp được áp dụng liên quan đến việc hoan tác và làm lại các giao dịch theo cách sao cho việc thực hiện giao dịch ở các trang giống nhau Đây không phải là một vẫn đề đễ dàng vì sự hòa hợp nói chung phụ thuộc vảo ứng dụng

4

| Ste1 | sie2 | Sie3 | Site 4 |

Trang 8

3.1 Eager Centralized Protocols

Trong Eager Centralized Protocols, mét master site sé diéu khién tất cả các hoạt động Giao thức này có tinh nhất quán mạnh mẽ Điều này có thể được hiểu là các cập nhật cho một mục

dữ liệu logic được áp dụng cho tất cả các bản sao của nó trong bối cảnh giao dịch cập nhật sử dụng 2PC

Do đó, sau khi giao dịch cập nhật hoàn tắt, tất cả các bản sao đều có cùng giá trị cho các mục đữ liệu được cập nhật (nhất quản lẫn nhau) va lịch sử thu được là 1SR

Có 2 loại giao thức này: chủ và độ mình bạch

Chủ:

e1 chủ kiểm soát toàn bộ các data items

® nhiều group, mỗi group 1 chủ kiêm soát

-> Với mỗi 1 cai grp nhân bản thì sẽ có 1 chủ , được gọi là primary copy

~-> Bởi vì nó ko có master site để xác định thứ tự tuân tự hóa vậy nên là cân phải cân thận hơn -> Trong trường hợp database được sao chép hoản toàn, bất kỳ bản sao nảo cũng có thé là bản sao chính cho một mục dữ liệu

-> Nhung ma đối với những database chi copy 1 phan, dùng cải limited ý chỉ có ý nghĩa nếu giao dịch cập nhật đây chỉ truy cập các mục đữ liệu có primary site ở cùng một site

-> Nếu ko thì ko thé chuyén cho 1 master khác

-> No sẽ phải thực hiện từng thao tác một và hơn nữa, không rõ chủ bản sao chính nao sé dong vai trò là nguoi diéu phối việc thực thi 2PC

3.2 Eager Single Master/Limited Transparency

Cái trường hợp đơn giản nhất đó là I master dùng chung cho toàn bộ cái database và Limited Transparency -> người dùng phải biết được đâu là master

Tất cả các global update (tức là có ít nhất 1 cai thao tác phép viết Wx (x là cái item)) thì nó được gửi trực tiếp lên master (more specifically, to the TM at the master site)

O master thi cai phép doc Rx sé đc thực hiện trên l cải master copy (Rx sẽ đe chuyển thành Rxm

— M là master copy) và thực hiện như sau:

-> khóa Đọc được lay trên xM, quả trình đọc được thực hiện và kết quả được trả về cho người dùng

Tương tự đối với phép Ghi:

-> trước tiên bằng cách lây khóa Viết và sau đó thực hiện thao tác ghi, sau đó thì chuyển tiếp lệnh Ghi tới các slave một cách đồng bộ hoặc theo kiểu trì hoãn

Phải thực hiện theo đúng thứ tự đã ghi ở máy chủ

~-> có thê đạt được bằng cach FFO timestamps

Cu thé, FFO timestamps hoat động như sau:

1 Khi một giao dịch được tạo ra, nó được gản một timestamp, thường là thời gian thực hiện giao dịch

2 Khi hai hoặc nhiều giao dịch xảy ra cùng một lúc, giao dịch với timestamp nhỏ nhất được thực

Trang 9

Eager single master replication protocol actions

(1) Thao tac Ghi duoc dp dung trén ban sao chinh

(2) Thao tác Ghỉ sau đó được lan truyền tới các bản sao khác

(3) Các bản cập nhật trở thành vĩnh viễn tại thời diém commit

(4) Nếu là đọc thì có thể đọc ở bắt ki cdc slave ndo

Người dùng có thê dùng phép Đọc lên bất kỳ sÏave nảo

Phép đọc sẽ tuân theo quy trình của các thuật toán kiểm soát đồng thời tập trung - C2PL nơi trình quản lý khóa tập trung nằm ở vị trí bản sao chính

Dùng cái C2pl này sẽ tối thiêu sự thay đổi ở TM ở sÏave, cái nảy chủ yếu để giải quyết các thao tác Ghi

® Khi mà nhận thao tác đọc -> chuyên đến master để nhận cái khóa đọc

@ Doc co thé đc thực hiện trên cái master đấy hoặc là nó chỉ cần gửi cái ma (lock granted) dé được đọc trên slave

Có thể giảm tải Đọc ở master khi Đọc trên slave mà ko cần khóa

Cho dù đồng bộ hoặc trì hoãn, thuật toán điều khiển đồng thoi cuc b6 (the local concurrency control algorithm) sé dam bao đọc ghi sẽ được thực hiện tuân tự

-> Vì phép Ghi chi de master làm như một phân của quả trình truyền bả cập nhật nên các xung đột ghi-ghi cục bộ sẽ không xảy ra khi các giao dịch truyền bá được thực hiện trong mỗi slave theo thir tu do master chỉ định

Việc Đọc có thê được thực hiện trước hoặc sau khi cập nhật Có thể đọc 1 cái cũ trước khi cập nhật, nhưng

mà khi doc 1 cai khác thì nó lại đe cập nhật rồi không quan trọng xét từ góc độ đảm bảo lịch sử 1SR Consider a data item x whose master site is at site A

T2 là thao tac 6 slave B, T3 la thao tac slave C

Giả sử đọc ở B trước khi update của T1 chạy đến [R2(xB)] và đọc ở C hic T1 chay dén [R3(xC)]

-> Thứtựtuẳn tựhóa sẽ là T2 — T1 tại B và T1 — T3 tại C

-> Lúc đây thì thứ tự tuần tự hóa global sẽ là T2 —› T1 —› T3 và history ¡is ISR

khi một slave Š¡ nhận được R(x), nó sẽ nhận đe I cải khóa Đọc đọc tử bản sao cục bộ của nó [tức là R(x)|

và trả về kết quả cho ứng dụng người dùng

Chỉ đọc

- _ Khi nó nhận đc W() đến từ tk chủ -> ghi lên bản sao cục bộ [tức là Wi(xi)]

Nhưng nếu nhận đc từ người dùng -> từ chối vì đây rõ ràng 1a một lỗi do các giao dịch cập nhật phải được gửi đến trang chính

Khi nhận được yêu cầu commit từ phía chỉ đọc (read-only): Trong trường hợp yêu cầu commit

từ phía chỉ đọc, bản sao sẽ thực hiện việc commrt dữ liệu cục bộ

Bản sao tham gia vào quá trình đồng thuận 2 pha (2PC) để xác nhận răng các thay đôi đã được

Trang 10

Single master eager centralized thì cần phải biết đc master của nó

Master site phải xử lý nhiều tác vụ quan trọng trong hệ thống Đặc biệt, nó phải xử lý ít nhất các thao tác đọc (Read operations) bên trong các giao dịch cập nhật (update transactions) cũng như hoạt động như là điều phối viên (coordinator) cho các giao dịch nảy trong quá trình thực thi 2PC

Có thể giải quyết vấn để quá nhiều tác vụ nay

©_ Thay vì gửi các giao dịch cập nhật trực tiếp đến master site, ứng dụng gửi chúng đến TM tại site mà ứng dụng đang chạy Điều này giải phóng ứng dụng khỏi việc phải biết về sự tồn tại của master site

©_ TM tại site địa phương có thể hoạt động như một TM phối hợp (eoordinating TM) cho cả các giao dịch cập nhật và các giao dịch chỉ đọc (read-only) Điều này loại

bỏ sự cần thiết phải có một master duy nhất dé hoạt động như là người phối hợp

© Ứng dụng có thể đơn giản là gửi các giao dịch của mình đến TM địa phương, mang lại sự minh bạch đây đủ cho ứng dụng Điều này giúp giảm bớt sự phụ thuộc vào cấu trúc của hệ thống và làm cho việc triển khai và quản lý hệ thống để đảng hơn

Có các phương án thay thế để triển khai sự minh bạch hoàn chỉnh - TM phối hợp có thê chỉ đóng vai trò như một "bộ định tuyến", chuyển tiếp mỗi hoạt động trực tiếp đến máy chủ chính Máy chủ chính sau đó có thể thực thi các hoạt động một cách cục bộ (như đã mô tả ở trên) và trả kết quả về cho ứng dụng Mặc dù triển khai thay thế nảy cung cấp sự minh bạch hoản chỉnh và có lợi thé là để triển khai, nhưng nó không giải quyết được vẫn để quả tải tại máy chủ chính Một cách triển khai thay thế có thê như sau:

1 TMđiều phối sẽ gửi từng hoạt động khi nó nhận được đến master site Điều này không yêu cầu

thay đôi thuật toán C2PL-TM (nó la cai op(x))

2 Néu la Doc R(x), thi trinh quan lý khóa tập trung (C2PL-LM trong Thuật toán 5.2) có thê tiến

hành bằng cách đặt khóa Đọc trên bản sao x của nó (gọi là xM) thay mặt cho giao dịch nay va thông bảo cho TM điều phối rằng khóa đọc được cấp TM phối hợp sau đó có thê chuyên tiếp R(x) téi bat ky trang phụ nảo chứa bản sao của x [tức là chuyển đổi nó thành R(xi)] Việc đọc sau đó có thể được thực hiện bởi bộ xử ly dit ligu (DP) tai slave do

3 Néu la Viét W(x)

o Đầu tiên, nó đặt khóa ghi trên bản sao xM của nó

o Sau đó nó gọi DP cục bộ của nó đề thực hiện W(xM) trên bản sao của chính nó

o Cuối cùng, nó thông bảo cho TM phối hợp răng khóa ghi đã được cấp

TM phối hợp, trong trường hợp nảy, gửi W (x) tới tất cả các máy phụ có bản sao của x tồn tại; DP tại các slave này áp dụng lệnh Ghi cho các bản sao cục bộ của họ

Cái khác biệt là cái master site không xử lý Đọc hay điều phối cập nhật mà TMI làm hết Lịch sử sẽ là 1SR vì thứ tự tuần tự hóa được master xác định trước

Thuật toán Dùng ROWA -> tất cả bản sao đc cập nhật khi hoàn tất Đọc có thê diễn ra ở bất cứ slave

Đề diễn tả cải cách thuật toán eager kết hợp replica control va concurrency control -> Transaction Management (Algorithm 6.1)

Nếu khóa đc cấp phép

Nếu là ghỉ

S la tap hợp của tất cả các mút con (slaves) ma dir ligu này được lưu trữ

Trang 11

5 Nếu ko -> thông bảo cho người dùng biết về việc kết thúc của giao dịch

Lock Management algorithm (Algorithm 6.2),

1

2

3

Nếu là đọc hoặc viết

Thuat toan tim don vi khoa (lock unit - lu)

Nếu lu không có khóa hoặc chế độ khóa của lu tương thích với loại hoạt động (op.Type), có nghĩa là không có xung đột với các giao dịch khác, thì một khóa sẽ được đặt trên lu với chế độ phù hợp và đại diện cho giao dịch hiện tại (op.tid)

Ở day chi hién thị các bản sửa đôi cho thuật toán 2PL tập trung (Thuật toán 5.1 và 5.2 trong Chương 5)

Có hai cách tiếp cận đề xử lý thông điệp "Khóa được cấp phép" khi một giao dịch cập nhật được thực thi Đây là:

1 Chuyén tiép hoat déng (Operation Transfer): Trong cach tiép can nay, khi LM (Lock Manager

- Quản lý khóa) cấp phép cho một giao dịch cập nhật, nó chỉ gửi một thông điệp xác nhận

"Khóa được cấp phép" cho TM phối hợp

Sau đó, TM phối hợp chuyến tiếp hoạt động cập nhật đến các (slaves) ma don gian chỉ cần thực hiện giao dịch cập nhật đó một cách độc lập Điều này đòi hỏi các slave phải thực hiện hoạt động cập nhật từ đầu đến cuối bằng cách áp dụng các thay đổi lên đữ liệu cục bộ của họ

-> Tức là chuyển mỗi cải khóa OK, sau đấy thi bon slave phai tự làm

2 Chuyên tiếp trạng thái (State Transfer): Trong cach tiếp cận này, thay vì chỉ gửi lại thông điệp

"Khóa được cấp phép", LM cũng gửi bao gồm kết quả của phép tính cập nhật trong thông điệp Kết quả này sau đó được chuyển tiếp đến các slave Các slave không cần phải thực hiện lại hoạt động cập nhật; thay vào đó, họ chỉ cần áp dụng kết quả đã được tính toán vào đữ liệu cục

bộ của họ Điều nảy giúp giảm bớt công việc tính toán tại các slave và tạo ra một quá trình cập nhật dữ liệu hiệu quả hơn

-> Tức là chuyển luôn cả cái két quar, slave chỉ cần áp dụng kết qua

Sự khác biệt của 2 cái này nếu chỉ là phép W(x) thì có vẻ ko thay đôi nhiều cho lắm, nhưng nếu phép cập nhật mà nó yêu cầu thực hiện biểu thức SQL -> Sw khác biệt lớn

Tuy cai dat cai nay nó giảm bot cac thao tac cho cai master nhưng mà cải cải đặt của nó phức tạp hon

-> Do TM tại địa điểm gửi giao dịch phải đóng vai trò là điều phối viên 2PC -> cần thận trong việc sửa đổi các thuật toán tại các trang web

3.4 _ Primary Copy with Full Replication Transparency

Trước thì nó là 1 master kiém soat cho toan bé cai database, bay gid sẽ là 1 group 1 master

Trang 12

chính của mục dữ liệu mà nó thực hiện

Hình trên mô tả trình tự các thao tác trong trường hợp này khi chúng tôi nới lỏng gia định trước đây về việc sao chép hoàn toàn

e Trang A là trang chính cho mục dữ liệu x vả trang B và C giữ các bản sao (tức là chúng là nô lệ)

®_ tương tự mục dữ liệu chính của y là trang C với trang phụ B và D

phiên bản nảy vẫn áp dụng các bản cập nhật cho tất cả các bản sao trong ranh giới giao dịch, yêu cầu tích hợp với các kỹ thuật kiếm soát đồng thời thuật toán khóa hai pha bản sao chính (PC2PL) primary copy two-phase locking duoc dé xuat cho phiên bản phân phối nguyên mẫu của INGRES PC2PL là một phần

mở rộng đơn giản của single master protocol duoc thảo luận ở trên nhằm cố gắng khắc phục các vấn đề về hiệu suất tiềm ân của giao thức

1 PC2PL là một phương pháp đồng bộ hóa dữ liệu, nơi mỗi bản sao của dữ liệu được coi là một bản Sao chính

2 Thuật toán này triển khai các quan lý khóa tại mỗi site, mỗi quản lý khóa chịu trách nhiệm cho một tập hợp cụ thể các đơn vị khóa

3 Khi một giao dịch cần khóa một đơn vị đữ liệu, nó gửi yêu cầu khóa đến quản lý khóa phù hợp

4 Quan lý khóa sau đó kiểm tra xem liệu có thể cấp phát khóa hay không dựa trên trạng thái hiện tại của đơn vị dữ liệu và các khóa khác đang được sử dụng

5 Sau khi giao dịch hoản thành, nó gửi yêu cầu mở khóa đến quản lý khóa để giải phóng khóa Phương pháp primary nó sẽ cần một thư mục phức tạp hơn ở mỗi sites cũng cải thiện các phương pháp

đã thảo luận trước đó bằng cách giảm tải masfer site mả không gây ra lượng lớn giao tiếp giữa người quản

lý giao dịch và quản lý khóa

3.5 _ Eager Distributed Protocols

Đối với Eager Distributed Protocols thi cac ban cập nhật có thé bat nguồn từ bất cứ đâu và trước tiên chúng được áp dụng trên bản sao cục bộ, sau đó các bản cập nhật được truyền đến các bản sao khác Nếu cái update mả nó update trên 1 cai site ma bản sao của cái đữ liệu đấy ko tồn tại -> nó sẽ chuyên đến

có thể thực hiện ghi vào một thời điểm nhất định

Phối hợp Two-Phase Commit (2PC): Trong qua trinh commit giao dịch, hệ thống sẽ sử dụng giao thức Two-Phase Commit (2PC) để đảm bảo rằng tất cả các bản sao đều đồng thuận về việc commit hoặc hủy bỏ giao dịch một cách đồng nhất

Hình 6.3 mô tả trình tự các thao tác đối với một mục dữ liệu logic x với các bản sao tại các địa điểm A, B, C và D và trong đó hai giao dịch cập nhật 2 bản sao khác nhau (tại các địa điểm A và D)

Ngày đăng: 15/02/2025, 22:17

TỪ KHÓA LIÊN QUAN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN