<< Chapter < Page Chapter >> Page >

Ta giả thiết rằng mỗi giao dịch Ti , trong thời gian sống của nó, thực hiện trong hai hoặc ba kỳ khác nhau, phụ thuộc vào nó là một giao dịch chỉ đọc hay là một giao dịch cập nhật. Các kỳ này, theo thứ tự, là như sau:

  1. Kỳ đọc. Trong kỳ này, các giá trị của các hạng mục dữ liệu khác nhau được đọc vào các biến cục bộ của Ti . Tất cả các hoạt động Write được thực hiện trên các biến cục bộ tạm, không cập nhật CSDL hiện hành.
  2. Kỳ hợp lệ. Giao dịch Ti thực hiện một phép kiểm thử sự hợp lệ để xác định xem nó có thể sao chép đến CSDL các biến cục bộ tạm chứa các kết quả của các hoạt Write mà không vi phạm tính khả tuần tự xung đột hay không.
  3. Kỳ viết. Nếu Ti thành công trong kỳ hợp lệ, các cập nhật hiện hành được áp dụng vào CSDL, nếu không Ti bị cuộn lại.

Mỗi giao dịch phải trải qua ba kỳ theo thứ tự trên, tuy nhiên, ba kỳ của các giao dịch đang thực hiện cạnh tranh có thể đan xen nhau.

Các kỳ đọc và kỳ viết tự nó đã rõ ràng. Chỉ có kỳ hợp lệ là cần thảo luận thêm. Để thực hiện kiểm thử sự hợp lệ, ta cần biết khi nào các kỳ khác nhau của giao dịch Ti xảy ra. Do vậy, ta sẽ kết hợp ba tem thời gian với giao dịch Ti :

  1. Start(Ti). Thời gian khi Ti bắt đầu sự thực hiện.
  2. Validation(Ti). Thời gian khi Ti kết thúc kỳ đọc và khởi động kỳ hợp lệ.
  3. Finish(Ti). Thời gian khi Ti kết thúc kỳ viết.

Ta xác định thứ tự khả tuần tự bởi kỹ thuật thứ tự tem thời gian sử dụng giá trị tem thời gian Validation(Ti). Như vậy, giá trị TS(Ti) = Validation(Ti) và nếu TS(Tj)<TS(Tk) thì bất kỳ lịch trình nào được sinh ra phải tương đương với một lịch trình tuần tự trong đó giao dịch Ti xuất hiẹn trước giao dịch Tk . Lý dota chọn Validation(Ti) như tem thời gian của Ti , mà không chọn Start(Ti), là vì ta hy vọng thời gian trả lời sẽ nhanh hơn.

Phép kiểm thử hợp lệ đối với Tj đòi hỏi rằng, đối với mỗi giao dịch Ti với TS(Ti)<TS(Tj), một trong các điều kiện sau phải được thoả mãn:

  1. Finish(Ti)<Start(Tj). Do Ti hoàn tất sự thực hiện của nó trước khi Tj bắt đầu, thứ tự khả tuần tự được duy trì.
  2. Tập các hạng mục dữ liệu được viết bởi Ti không giao với tập các hạng mục dữ liệu được đọc bởi Tj và Ti hoàn tất kỳ viết của nó trước khi Tj bắt đầu kỳ hợp lệ (Start(Tj)<Finish(Ti)<Validation(Tj)). Điều kiện này đảm bảo rằng các viết của Ti và Tj là không chồng chéo. Do các viết của Ti không ảnh hưởng tới đọc của Tj và do Tj không thể ảnh hưởng tới đọc của Ti , thứ tự khả tuần tự được duy trì.

Lịch trình schedule-5 cho ta một minh hoạ về giao thức dựa trên tính hợp lệ:

T14 T15
Read(B)
Read(B)
B:=B-50
Read(A)
A:=A+50
Read(A)
Xác nhận tính hợp lệ
Display(A+B)
Xác nhận tính hợp lệ
Write(B)
Write(A)

figure V-

Sơ đồ hợp lệ tự động canh chừng việc cuộn lại hàng loạt, do các Write hiện tại xảy ra chỉ sau khi giao dịch phát ra Write đã bàn giao.

Các sơ đồ đa phiên bản (multiversion schemes)

Các sơ đồ điều khiển cạnh tranh được thảo luận trước đây đảm bảo tính khả tuần tự hoặc bởi làm trễ một hoạt động hoặc bỏ dở giao dịc đã phát ra hoạt động đó. Chẳng hạn, một hoạt động Read có thể bị làm trễ vì giá trị thích hợp còn chưa được viết hoặc nó có thể bị vứt bỏ vì giá trị mà nó muốn đọc đã bị viết đè rồi. Các khó khăn này có thể được che đi nếu bản sao cũ của mỗi hạng mục dữ liệu được giữ trong một hệ thống.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Hệ quản trị cơ sở dữ liệu. OpenStax CNX. Jul 31, 2009 Download for free at http://cnx.org/content/col10838/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Hệ quản trị cơ sở dữ liệu' conversation and receive update notifications?

Ask