Điều tôi không rõ lắm là tại sao bạn lại bù nước cho các Tập hợp của mình từ Cửa hàng Sự kiện.
Bởi vì "sự kiện" là cuốn sách kỷ lục.
Nếu việc chiếu thay đổi cơ sở dữ liệu "đọc" quá dễ dàng, tại sao không phải luôn luôn thay đổi cơ sở dữ liệu "ghi" có lược đồ hoàn toàn khớp với mô hình miền của bạn? Đây có hiệu quả sẽ là một cơ sở dữ liệu ảnh chụp nhanh.
Đúng; đôi khi nó là một tối ưu hóa hiệu suất hữu ích để sử dụng một bản sao được lưu trong bộ nhớ cache của trạng thái tổng hợp, thay vì tạo lại trạng thái đó từ đầu mỗi lần. Hãy nhớ rằng: quy tắc tối ưu hóa hiệu suất đầu tiên là "Đừng". Nó tăng thêm độ phức tạp cho giải pháp và bạn muốn tránh điều đó cho đến khi bạn có động lực kinh doanh hấp dẫn.
Nếu đây là trường hợp, Cửa hàng sự kiện chỉ hữu ích khi xây dựng lại cơ sở dữ liệu "ghi" của bạn do thay đổi lược đồ? Hay tôi đang thiếu một cái gì đó lớn hơn?
Bạn đang thiếu một cái gì đó lớn hơn.
Điểm đầu tiên là nếu bạn đang xem xét một giải pháp có nguồn gốc sự kiện, đó là bởi vì bạn hy vọng sẽ có giá trị trong việc bảo tồn lịch sử của những gì đã xảy ra, nghĩa là bạn muốn thực hiện những thay đổi không mang tính hủy diệt .
Vì vậy, đó là lý do tại sao chúng tôi đang viết cho các cửa hàng sự kiện.
Đặc biệt, điều này có nghĩa là mọi thay đổi cần phải được ghi vào cửa hàng sự kiện.
Các nhà văn cạnh tranh có khả năng có thể phá hủy các bài viết của nhau hoặc đưa hệ thống đến trạng thái ngoài ý muốn, nếu họ không biết về các chỉnh sửa của nhau. Vì vậy, cách tiếp cận thông thường khi bạn cần sự nhất quán là giải quyết bài viết của bạn đến một vị trí cụ thể trong tạp chí (tương tự như PUT có điều kiện trong api HTTP). Một bài viết thất bại nói với người viết rằng sự hiểu biết hiện tại của họ về tạp chí không đồng bộ, và họ nên phục hồi.
Trở lại vị trí tốt đã biết sau đó phát lại bất kỳ sự kiện bổ sung nào vì thời điểm đó là một chiến lược phục hồi phổ biến. Vị trí tốt được biết đến đó có thể là bản sao của bộ đệm cục bộ hoặc đại diện trong cửa hàng ảnh chụp nhanh của bạn.
Trong đường dẫn hạnh phúc, bạn có thể giữ một ảnh chụp nhanh tổng hợp trong bộ nhớ; bạn chỉ cần tiếp cận với một cửa hàng bên ngoài khi không có bản sao địa phương.
Hơn nữa, bạn không cần phải hoàn toàn bị bắt kịp, nếu bạn có quyền truy cập vào sổ sách ghi chép.
Vì vậy, cách tiếp cận thông thường ( nếu sử dụng kho lưu trữ ảnh chụp nhanh) là duy trì nó không đồng bộ . Bằng cách đó, nếu bạn cần khôi phục, bạn có thể làm như vậy mà không cần tải lại và phát lại toàn bộ lịch sử của tổng hợp.
Có nhiều trường hợp sự phức tạp này không đáng quan tâm, bởi vì các tập hợp hạt mịn với vòng đời có phạm vi thường không thu thập đủ các sự kiện để lợi ích vượt quá chi phí duy trì bộ đệm ẩn.
Nhưng khi nó là công cụ phù hợp cho vấn đề, tải một biểu diễn cũ của tổng hợp vào mô hình ghi, sau đó cập nhật nó với các sự kiện bổ sung, là một điều hoàn toàn hợp lý để làm.