Từ bỏ ACID trong Ủng hộ BASE trong Cơ sở dữ liệu

Cơ sở dữ liệu quan hệ được thiết kế với độ tin cậy và nhất quán ở cốt lõi của chúng. Các kỹ sư đã phát triển chúng tập trung vào một mô hình giao dịch đảm bảo rằng bốn nguyên tắc của mô hình ACID sẽ luôn được bảo toàn. Tuy nhiên, sự ra đời của một mô hình cơ sở dữ liệu phi cấu trúc mới đang biến ACID trên đầu của nó. Mô hình cơ sở dữ liệu NoSQL tránh được mô hình quan hệ có cấu trúc cao có lợi cho phương pháp lưu trữ khóa / giá trị linh hoạt. Cách tiếp cận không có cấu trúc này cho dữ liệu đòi hỏi một sự thay thế cho mô hình ACID: mô hình BASE.

Nguyên lý cơ bản của mô hình ACID

Có bốn nguyên lý cơ bản của mô hình ACID:

Nguyên tử của các giao dịch đảm bảo rằng mỗi giao dịch cơ sở dữ liệu là một đơn vị duy nhất sử dụng phương pháp "tất cả hoặc không có gì" để thực thi. Nếu bất kỳ tuyên bố nào trong giao dịch không thành công, toàn bộ giao dịch sẽ được khôi phục.

Các cơ sở dữ liệu quan hệ cũng đảm bảo tính nhất quán của từng giao dịch với các quy tắc nghiệp vụ của cơ sở dữ liệu. Nếu bất kỳ phần tử nào của giao dịch nguyên tử sẽ làm gián đoạn tính nhất quán của cơ sở dữ liệu, toàn bộ giao dịch sẽ thất bại.

Công cụ cơ sở dữ liệu thực thi cách ly giữa nhiều giao dịch xảy ra tại hoặc gần cùng một thời điểm. Mỗi giao dịch xảy ra trước hoặc sau mỗi giao dịch khác và chế độ xem của cơ sở dữ liệu mà giao dịch thấy lúc đầu của nó chỉ bị thay đổi bởi giao dịch trước khi kết thúc giao dịch. Không có giao dịch nào từng thấy sản phẩm trung gian của giao dịch khác.

Nguyên tắc ACID cuối cùng, độ bền , đảm bảo rằng một khi giao dịch được cam kết với cơ sở dữ liệu, nó được lưu giữ vĩnh viễn thông qua việc sử dụng các bản sao lưu và nhật ký giao dịch. Trong trường hợp thất bại, các cơ chế này có thể được sử dụng để khôi phục các giao dịch đã cam kết.

Nguyên tắc cơ bản của BASE

Mặt khác, các cơ sở dữ liệu NoSQL nắm lấy các tình huống mà mô hình ACID quá mức cần thiết hoặc trên thực tế, cản trở hoạt động của cơ sở dữ liệu. Thay vào đó, NoSQL dựa vào một mô hình mềm hơn được biết đến, một cách thích hợp, như mô hình BASE. Mô hình này phù hợp với tính linh hoạt do NoSQL cung cấp và các phương pháp tương tự để quản lý và quản lý dữ liệu phi cấu trúc. BASE bao gồm ba nguyên tắc:

Tính khả dụng cơ bản . Cách tiếp cận cơ sở dữ liệu NoSQL tập trung vào sự sẵn có của dữ liệu ngay cả khi có nhiều thất bại. Nó đạt được điều này bằng cách sử dụng một cách tiếp cận phân tán cao để quản lý cơ sở dữ liệu. Thay vì duy trì một kho dữ liệu lớn duy nhất và tập trung vào khả năng chịu lỗi của kho lưu trữ đó, cơ sở dữ liệu NoSQL truyền dữ liệu qua nhiều hệ thống lưu trữ với mức độ nhân rộng cao. Trong trường hợp không chắc rằng sự cố không làm gián đoạn quyền truy cập vào một phân đoạn dữ liệu, điều này không nhất thiết dẫn đến việc cúp cơ sở dữ liệu hoàn chỉnh.

Trạng thái mềm . Cơ sở dữ liệu BASE từ bỏ các yêu cầu nhất quán của mô hình ACID khá nhiều hoàn toàn. Một trong những khái niệm cơ bản đằng sau BASE là sự thống nhất dữ liệu là vấn đề của nhà phát triển và không nên được xử lý bởi cơ sở dữ liệu.

Sự nhất quán cuối cùng . Yêu cầu duy nhất mà các cơ sở dữ liệu NoSQL có liên quan đến tính nhất quán là yêu cầu tại một thời điểm nào đó trong tương lai, dữ liệu sẽ hội tụ đến một trạng thái nhất quán. Tuy nhiên, không có bảo đảm nào về thời điểm điều này xảy ra. Đó là một sự khởi đầu hoàn toàn từ yêu cầu nhất quán ngay lập tức của ACID cấm một giao dịch thực hiện cho đến khi giao dịch trước đó đã hoàn thành và cơ sở dữ liệu đã hội tụ đến một trạng thái nhất quán.

Mô hình BASE không thích hợp cho mọi tình huống, nhưng nó chắc chắn là một sự thay thế linh hoạt cho mô hình ACID cho các cơ sở dữ liệu không yêu cầu tuân thủ chặt chẽ một mô hình quan hệ.