2012-09-30 33 views
12

Sự khác biệt giữa tính nguyên tử và tính nhất quán là gì? có vẻ như với tôi vì cả hai đều đang nói cùng một từ trong từ khác nhau.Sự nhất quán về nguyên tử cơ sở dữ liệu

Nguyên tử

Mọi tác vụ của giao dịch đều được thực hiện hoặc không thực hiện. Không có giao dịch một phần. Ví dụ, nếu một giao dịch bắt đầu cập nhật 100 hàng, nhưng hệ thống không thành công sau 20 lần cập nhật, thì cơ sở dữ liệu sẽ cuộn lại các thay đổi cho 20 hàng này.

Nhất quán

Giao dịch sẽ lấy cơ sở dữ liệu từ trạng thái nhất quán này sang trạng thái nhất quán khác. Ví dụ, trong một giao dịch ngân hàng ghi nợ một tài khoản tiết kiệm và ghi có một tài khoản kiểm tra, một thất bại không được làm cho cơ sở dữ liệu chỉ ghi có một tài khoản, điều này sẽ dẫn đến dữ liệu không phù hợp.

+1

Không nguyên tử, nhất quán: Giao dịch một phần có thể khiến hệ thống ở trạng thái nhất quán. Nguyên tử, không nhất quán: 2 phần của hệ thống có thể duy trì nguyên tử mà không nhất quán (giao dịch được ghi trong một và không phải ở phần khác). – nhahtdh

Trả lời

14

Atomicity thực sự nói rằng mỗi giao dịch là một trong hai hoặc không có gì, có nghĩa là tất cả hoặc không có hành động nào của nó được thực hiện và không có hoạt động một phần.

Tuy nhiên, các cuộc đàm phán nhất quán về việc đảm bảo rằng mọi giao dịch sẽ đưa cơ sở dữ liệu từ trạng thái hợp lệ này sang trạng thái hợp lệ khác. Mọi dữ liệu được ghi vào cơ sở dữ liệu phải hợp lệ theo tất cả các quy tắc được xác định, bao gồm nhưng không giới hạn ở các ràng buộc, thác, trình kích hoạt và bất kỳ sự kết hợp nào của chúng (taken from Wikipedia). Điều đó về cơ bản có nghĩa là chỉ các trạng thái hợp lệ mới được ghi vào cơ sở dữ liệu và một giao dịch sẽ được thực thi nếu nó không vi phạm tính nhất quán của dữ liệu hoặc được quay lại nếu có.

Hy vọng nó sẽ xóa mọi thứ cho bạn.

0

giải thích đơn giản Đối với nhất quán: nếu loại trường trong cơ sở dữ liệu là Số nguyên, nó chỉ chấp nhận giá trị nguyên và không phải loại nào khác.Nếu bạn muốn lưu trữ các loại khác trong trường này, tính nhất quán bị vi phạm. Tại giao dịch điều kiện này sẽ quay trở lại.

0

Atomicity:
Bunch của tuyên bố chỉ lấy một ví dụ của 100 báo cáo có thể được chèn tuyên bố cũng vậy, nếu một trong các tuyên bố thất bại trong khi chế biến nên quay trở lại tuyên bố còn lại, có nghĩa là cơ sở dữ liệu nên trở về ban đầu tiểu bang.

Blockquote

autocommit = false

try{ 
    statement one ; 
    statement two ; 
    `enter code here` 
    `enter code here` 
    `enter code here` 
    statement three; 
    } 
    catch(){rollback;} 
    finally(){commit;} t 

Tính nhất quán: Nếu bạn cố gắng để chèn ngày vào cơ sở dữ liệu mà cần phải đáp ứng những hạn chế, thác, gây nên như khi bạn đang cố gắng chèn dữ liệu vào cơ sở dữ liệu nhưng bảng có các ràng buộc khóa chính để dữ liệu mà bạn lập kế hoạch chèn vào nên là satis fy với ràng buộc khóa chính.

Cách ly: nếu hai quá trình đang chạy trên cơ sở dữ liệu giả sử một đang đọc và đang ghi dữ liệu vào cơ sở dữ liệu. thread đọc nên đọc dữ liệu chỉ cam kết, không nên dữ liệu trong bộ nhớ

Độ bền: khi dữ liệu giao dịch cam kết vào cơ sở dữ liệu nên có cùng một sân khấu, nó sẽ không ảnh hưởng đến từ mất điện hoặc hệ thống sụp đổ bất kỳ khác

Các vấn đề liên quan