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 luôn được giữ nguyê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 khiến ACID trở nên khó khăn. Mô hình cơ sở dữ liệu NoSQL tránh mô hình quan hệ có cấu trúc cao để ủng hộ cách tiếp cận lưu trữ khóa / giá trị linh hoạt. Phương pháp tiếp cận dữ liệu phi cấu trúc này yêu cầu một giải pháp thay thế cho mô hình ACID: mô hình BASE.
Kiến thức cơ bản của Mô hình ACID
Có bốn nguyên lý cơ bản của mô hình ACID:
- Tính 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 áp dụng cách tiếp cận "tất cả hoặc không có gì" để thực hiện. Nếu bất kỳ câu lệnh 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ơ sở dữ liệu quan hệ cũng đảm bảo tính nhất quán của mỗi 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 một giao dịch nguyên tử sẽ phá vỡ tính nhất quán của cơ sở dữ liệu, thì toàn bộ giao dịch sẽ không thành công.
- Công cụ cơ sở dữ liệu thực thi cách lygiữa nhiều giao dịch xảy ra cùng lúc hoặc gần cùng một lúc. 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à một giao dịch nhìn thấy lúc bắt đầu chỉ bị chính giao dịch đó thay đổi trước khi kết thúc. Không một giao dịch nào có thể nhìn thấy sản phẩm trung gian của một 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ó sẽ đượ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 không thành công, 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ốt lõi của BASE
Mặt khác, cơ sở dữ liệuNoSQL gặp phải các tình huống trong đó mô hình ACID quá mức cần thiết hoặc trên thực tế sẽ cản trở hoạt động của cơ sở dữ liệu. Thay vào đó, NoSQL dựa trên một mô hình mềm hơn được biết đến, một cách thích hợp, là mô hình BASE. Mô hình này đáp ứng sự linh hoạt do NoSQL cung cấp và các cách tiếp cận tương tự đối với việc quản lý và sắp xếp dữ liệu phi cấu trúc. BASE bao gồm ba nguyên tắc:
- Tính sẵn có cơ bảnPhương pháp tiếp cận cơ sở dữ liệu NoSQL tập trung vào tính khả dụng của dữ liệu ngay cả khi có nhiều lỗi. Nó đạt được điều này bằng cách sử dụng 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 đó, cơ sở dữ liệu NoSQL trải rộng dữ liệu trên nhiều hệ thống lưu trữ với mức độ sao chép cao. Trong trường hợp không chắc chắn rằng một sự cố 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 hết toàn bộ cơ sở dữ liệu.
- Trạng thái mềm. Cơ sở dữ liệu BASE hoàn toàn từ bỏ các yêu cầu nhất quán của mô hình ACID. Một trong những khái niệm cơ bản đằng sau BASE là tính nhất quán của dữ liệu là vấn đề của nhà phát triển và cơ sở dữ liệu không nên xử lý.
- Tính nhất quán cuối cùngYêu cầu duy nhất mà cơ sở dữ liệu NoSQL có liên quan đến tính nhất quán là yêu cầu rằng tại một thời điểm nào đó trong tương lai, dữ liệu sẽ hội tụ về trạng thái nhất quán. Tuy nhiên, không có đảm bảo nào được đưa ra về thời điểm điều này xảy ra. Điều đó hoàn toàn khác với yêu cầu nhất quán tức thì của ACID cấm giao dịch thực hiện cho đến khi giao dịch trước đó hoàn tất và cơ sở dữ liệu đã hội tụ về trạng thái nhất quán.
Trong BASE, tính khả dụng cơ bản có thể có nghĩa là bạn thậm chí không kiểm soát được các nguồn dữ liệu. Ví dụ: bạn có thể liên kết đến các tập dữ liệu công khai cho một phần nỗ lực của mình.
Trường hợp sử dụng tương đối
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ủ nghiêm ngặt mô hình quan hệ.
Các trường hợp sử dụng tối ưu cho cơ sở dữ liệu sử dụng ACID phụ thuộc vào dữ liệu có cấu trúc cao với các đầu vào và đầu ra có thể dự đoán được. Do đó, cơ sở dữ liệu nhân sự, cơ sở dữ liệu bán lẻ và hồ sơ y tế điện tử được hưởng lợi từ việc kiểm tra tính nhất quán nội bộ mạnh mẽ mà ACID cung cấp.
Tuy nhiên, các giải pháp BASE tốt hơn cho các chủ đề mờ nhạt như phân tích tình cảm. Ví dụ: một dự án có cấu trúc BASE có thể quét nguồn cấp dữ liệu Twitter để tìm kiếm các từ ngụ ý cảm xúc dựa trên một thẻ bắt đầu bằngcụ thể. Nguồn cấp dữ liệu Twitter không có cấu trúc tốt hoặc được tạo cục bộ, nhưng luồng dữ liệu cung cấp thông tin được lập trình thành các truy vấn ngay cả khi phạm vi và bản chất của dữ liệu đó không được ràng buộc rõ ràng.