ScholarGate
Trợ lý

Quản lý giao dịch và đồng thời

Quản lý giao dịch và kiểm soát đồng thời cho phép cơ sở dữ liệu thực hiện nhiều giao dịch đồng thời một cách chính xác và tồn tại qua các lỗi, đảm bảo các thuộc tính nguyên tố (atomicity), nhất quán (consistency), cô lập (isolation) và bền vững (durability) (ACID).

Tìm chủ đề với PaperMindSắp ra mắtFind papers & topics
Tools & resources
Tải xuống bản trình chiếu
Learn & explore
VideoSắp ra mắt

Definition

Một giao dịch là một chuỗi các thao tác cơ sở dữ liệu được thực thi như một đơn vị logic duy nhất có tính nguyên tố, bảo toàn tính nhất quán, được cô lập khỏi các giao dịch đồng thời và bền vững sau khi được cam kết; quản lý giao dịch là tập hợp các cơ chế thực thi các thuộc tính này trong điều kiện đồng thời và lỗi.

Scope

Lĩnh vực này bao gồm giao dịch như một đơn vị công việc và các cơ chế giúp thực thi đồng thời, dễ xảy ra lỗi một cách chính xác: các thuộc tính ACID; tính tuần tự hóa (serializability) như tiêu chí chính xác cho đồng thời; các giao thức khóa (locking), dấu thời gian (timestamp) và đa phiên bản (multiversion) để thực thi nó; các mức độ cô lập yếu hơn đánh đổi tính nhất quán lấy hiệu suất; và các kỹ thuật ghi nhật ký (logging) và phục hồi (recovery) đảm bảo tính nguyên tố và bền vững qua các sự cố. Nó không bao gồm cam kết phân tán trên nhiều địa điểm, được xử lý trong lĩnh vực cơ sở dữ liệu phân tán và song song.

Sub-topics

Core questions

  • Các thuộc tính ACID đảm bảo điều gì và tại sao chúng lại cần thiết?
  • Điều gì làm cho một lịch trình đồng thời là chính xác, tức là có thể tuần tự hóa được?
  • Các giao thức khóa, dấu thời gian và đa phiên bản thực thi tính tuần tự hóa như thế nào?
  • Ghi nhật ký và phục hồi khôi phục trạng thái nhất quán sau sự cố như thế nào?
  • Các mức độ cô lập yếu hơn đánh đổi tính nhất quán lấy tính đồng thời như thế nào?

Key concepts

  • giao dịch và cam kết/hủy bỏ
  • các thuộc tính ACID
  • tính tuần tự hóa và đồ thị ưu tiên
  • khóa hai pha
  • sắp xếp theo dấu thời gian
  • kiểm soát đồng thời đa phiên bản
  • phát hiện và ngăn chặn tắc nghẽn
  • ghi nhật ký trước khi ghi
  • mức độ cô lập

Key theories

Các thuộc tính ACID
Tính nguyên tố (thực thi tất cả hoặc không gì cả), tính nhất quán (bảo toàn các ràng buộc toàn vẹn), tính cô lập (các giao dịch đồng thời dường như chạy độc lập), và tính bền vững (các hiệu ứng đã cam kết tồn tại qua các lỗi) cùng nhau định nghĩa hành vi giao dịch chính xác.
Tính tuần tự hóa
Một lịch trình đồng thời là chính xác nếu nó tương đương với một số thực thi tuần tự; tính tuần tự hóa xung đột, được kiểm tra thông qua đồ thị ưu tiên (tuần tự hóa), là tiêu chí thực tế mà các giao thức kiểm soát đồng thời thực thi.
Kiểm soát đồng thời và phục hồi
Các phương pháp khóa, sắp xếp theo dấu thời gian và đa phiên bản ngăn chặn các xen kẽ không thể tuần tự hóa, trong khi ghi nhật ký trước khi ghi và các thuật toán phục hồi đảm bảo tính nguyên tố và bền vững, hai nửa của quá trình xử lý giao dịch chính xác.

Clinical relevance

Quản lý giao dịch là yếu tố giúp cơ sở dữ liệu đáng tin cậy cho tiền bạc và hồ sơ: nó đảm bảo rằng một giao dịch chuyển khoản ngân hàng không bao giờ ghi nợ một tài khoản mà không ghi có vào tài khoản khác, rằng một hãng hàng không không bao giờ đặt trùng chỗ ngồi dưới các yêu cầu đồng thời, và rằng dữ liệu đã cam kết tồn tại qua các sự cố, làm nền tảng cho tất cả các hệ thống giao dịch đáng tin cậy.

History

Khái niệm giao dịch và các thuộc tính ACID đã được chính thức hóa tại Hệ thống R của IBM vào những năm 1970; Eswaran và các đồng nghiệp (1976) đã thiết lập các khái niệm về tính nhất quán và khóa, Jim Gray đã định nghĩa các giao dịch và phục hồi, và Bernstein, Hadzilacos, và Goodman (1987) đã hệ thống hóa lý thuyết tuần tự hóa. Những đóng góp của Gray cho xử lý giao dịch đã mang lại cho ông Giải thưởng Turing.

Key figures

  • Jim Gray
  • Philip Bernstein
  • Andreas Reuter

Related topics

Seminal works

  • gray1992
  • bernstein1987
  • eswaran1976

Frequently asked questions

Điều gì có nghĩa khi một lịch trình giao dịch có thể tuần tự hóa được?
Một lịch trình đồng thời có thể tuần tự hóa được nếu hiệu ứng tổng thể của nó giống hệt như việc chạy các giao dịch đó lần lượt theo một thứ tự nào đó. Tính tuần tự hóa là tiêu chí chính xác tiêu chuẩn vàng: mặc dù các giao dịch xen kẽ để đạt hiệu suất, kết quả vẫn như thể chúng đã được thực thi tuần tự, vì vậy không có giao dịch nào nhìn thấy một trạng thái trung gian không nhất quán.
Tại sao các mức độ cô lập yếu hơn lại được phép nếu chúng có thể gây ra các bất thường?
Việc thực thi tính tuần tự hóa hoàn toàn có chi phí hiệu suất trong tranh chấp khóa và hủy bỏ. Nhiều ứng dụng có thể chấp nhận một số bất thường để đổi lấy tính đồng thời cao hơn, vì vậy tiêu chuẩn SQL định nghĩa các mức độ cô lập yếu hơn (đọc đã cam kết, đọc lặp lại, v.v.) cho phép các nhà phát triển cố ý đánh đổi một phần tính cô lập để đạt được thông lượng.

Methods for this concept

Related concepts