Theo lý thuyết CAP, Cassandra chỉ có thể có tính nhất quán cuối cùng. Để làm cho mọi thứ tồi tệ hơn, nếu chúng ta có nhiều lần đọc và viết trong một yêu cầu mà không xử lý thích hợp, chúng ta thậm chí có thể mất tính thống nhất hợp lý. Nói cách khác, nếu chúng ta làm việc nhanh, chúng ta có thể làm điều đó sai.Giao dịch với mô hình dữ liệu Cassandra
Trong khi đó thực hành tốt nhất để thiết kế mô hình dữ liệu cho Cassandra là suy nghĩ về các truy vấn chúng ta sẽ có, và sau đó thêm một CF cho nó. Bằng cách này, để thêm/cập nhật một thực thể có nghĩa là cập nhật nhiều lượt xem/CF trong nhiều trường hợp. Không có tính năng giao dịch nguyên tử, thật khó để làm điều đó đúng. Nhưng với nó, chúng ta lại mất đi phần A và P.
Tôi không thấy mối quan tâm này nhiều người, do đó tôi tự hỏi tại sao.
- Đây có phải là vì chúng tôi luôn có thể tìm cách thiết kế mô hình dữ liệu của mình để tránh làm nhiều lần đọc và viết trong một phiên?
- Đây có phải là vì chúng tôi có thể bỏ qua phần 'đúng' không?
- Trong thực tế, chúng ta luôn có tính năng ACID ở đâu đó ở giữa không? Tôi có nghĩa là có thể thực hiện trong lớp ứng dụng hoặc thêm một middleware để xử lý nó?
Cảm ơn và xin lỗi vì đã trả lời muộn. – aXqd