Thuộc tính ACID trong Hệ thống cơ sở dữ liệu (Tính nguyên tử, Tính nhất quán, Tính cô lập, Độ bền)

2022-03-20 16:06:49

Thuộc tính ACID cơ sở dữ liệu:

Đặc tính ACID là một khái niệm cổ xưa và có giá trị của lý thuyết cơ sở dữ liệu. Tôi biết rằng bạn có thể tìm thấy rất nhiều bài viết về chủ đề này, nhưng tôi vẫn muốn bắt đầu hành trình của mình với chủ đề này như một trong những lý thuyết rất quan trọng và yêu thích của tôi về Hệ thống cơ sở dữ liệu..

Hệ thống cơ sở dữ liệu chơi với rất nhiều loại giao dịch khác nhau, trong đó tất cả các giao dịch đều có một đặc điểm cụ thể. Đặc tính này được biết đến Thuộc tính ACID.

Thuộc tính ACID nhận cấp quyền cho tất cả các giao dịch cơ sở dữ liệu để hoàn thành tất cả các nhiệm vụ.

Nhiều lần phỏng vấn viên đặt câu hỏi này trong một cuộc phỏng vấn rằng, Tài sản ACID trong cơ sở dữ liệu là gì?

Ở đây tôi sẽ giải thích bằng một ví dụ đơn giản.

A = Tính nguyên tử

C = Tính nhất quán

I = Sự cách ly

D = Độ bền

Đầu tiên,

Tính nguyên tử: có nghĩa là tất cả hoặc không có, ví dụ,

Một ứng dụng sẽ chèn 30 bản ghi trong một giao dịch. Trong quá trình chèn này, bất kỳ sự cố nào xảy ra và tại thời điểm này, chỉ có 12 bản ghi được xử lý. Trong giao dịch trạng thái này sẽ không chỉ chèn 12 bản ghi mà nó sẽ khôi phục toàn bộ giao dịch này, vì vậy điều này sẽ xử lý tất cả hoặc không.

Tính nhất quán: nghĩa là đư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.

Luôn luôn phải xác định một số quy tắc dữ liệu, ràng buộc, kích hoạt ở cuối cơ sở dữ liệu cũng như cuối ứng dụng.

Bất kỳ dữ liệu nào sẽ được chèn vào, tất cả chúng phải được xác thực bằng cách thiết lập các quy tắc và đảm bảo rằng không có dữ liệu không hợp lệ nào sẽ được chèn vào cơ sở dữ liệu, do đó, bằng cách này nó sẽ quản lý tính nhất quán của cơ sở dữ liệu..
Trong mọi trường hợp giao dịch đang chạy vi phạm quy tắc đồng thời toàn bộ giao dịch sẽ bị khôi phục.

Sự cách ly: có nghĩa là mỗi giao dịch không biết về một giao dịch khác.

Một người bán tại cửa hàng đang bán rất nhanh các mặt hàng và lượng hàng cũng đang giảm dần. Đồng thời, một người khác cũng đang thêm một mặt hàng mới trong kho.

Ở đây, cả hai giao dịch này là khác nhau và không biết về nhau.

Sự cách ly level ensures that one transaction is not interrupted by another transaction.

For database transaction, this one of the important properties because any database system is going with lots of concurrent and parallel transactions where Sự cách ly property is very much required and ensure that all transactions are defined under proper isolation level.

A different database technology has different type of default Sự cách ly level like,

Oracle có READ_COMMITTED

MySQL có REPETABLE_READ

MSSQL có READ_COMMITTED

PostgreSQL có READ_COMMITTED

DB2 có READ_COMMITTED

Read_committed Sự cách ly level is most preferable, but many times it’s also required to show READ_UNCOMMITTED data in a data history kind of pages.

Độ bền: có nghĩa là giữ cho dữ liệu đã cam kết mãi mãi.

Ứng dụng đã chèn 30 bản ghi trong một giao dịch và giao dịch này được hoàn tất và cam kết thành công trong cơ sở dữ liệu có nghĩa là các bản ghi sẽ tồn tại mãi mãi trong cơ sở dữ liệu cho đến khi và trừ khi nó không bị xóa bởi bất kỳ người dùng ứng dụng hoặc người dùng cơ sở dữ liệu nào.

Xem thêm:


Chia sẻ: