Chuyển đổi từ dữ liệu quan hệ sang sự kiện
(event-driven.io)Hướng dẫn chuyển đổi từ dữ liệu quan hệ sang sự kiện
- Trong thế giới event sourcing, dữ liệu nghiệp vụ được bảo toàn dưới dạng sự kiện mà không bị mất mát.
- Sự kiện thể hiện những gì đã xảy ra và được lưu sau mỗi thao tác.
- Luồng sự kiện là danh sách của mọi sự kiện đã được ghi lại, có tính bất biến, và các sai sót trong quá khứ có thể được sửa bằng cách thêm sự kiện mới.
1. Tìm các cột trạng thái
- Giá trị của cột trạng thái có thể phản ánh các giai đoạn trong vòng đời của dữ liệu.
- Ví dụ, một đơn hàng có thể được khởi tạo, được giao đi và được thanh toán.
- Những trạng thái này có thể được chuyển thành các sự kiện như Order Initiated, Order Shipped, Order Paid.
2. Kiểm tra các cột ngày tháng
- Các cột ngày tháng có thể cung cấp thông tin về những sự kiện quan trọng trong quy trình.
- ShipmentDate, DeliveryDate, OrderPlacementDate v.v. có thể cho biết các thuật ngữ nghiệp vụ và giúp đưa vào các sự kiện mới.
3. Phân tích tính chọn lọc của cột
- Các cột có thể nhận giá trị rỗng có thể được cung cấp về sau hoặc là tùy chọn.
- Các cột bắt buộc nên được cung cấp ngay trong sự kiện Order Initiated đầu tiên.
4. Tìm bảng có nhiều quan hệ 1-nhiều nhất
- Trong event sourcing, dữ liệu được nhóm quanh quy trình nghiệp vụ để hướng tới xử lý hiệu quả.
- Những bảng có nhiều quan hệ 1-nhiều có thể là ứng viên cho kiểu stream.
5. Đưa vào các sự kiện tường minh
- Khi di chuyển dữ liệu quan hệ sang sự kiện, không nên tái sử dụng các sự kiện mới phát hiện trong lúc import; cần cung cấp tường minh sự kiện Order Imported.
6. Thử nghiệm và kiểm chứng
- Hãy thử prototype trong môi trường an toàn, so sánh kết quả với kỳ vọng, và lặp lại một cách thận trọng, không vội vàng.
Ý kiến của GN⁺
- Điều quan trọng nhất trong bài này là tầm quan trọng của một cách tiếp cận mới nhằm bảo toàn dữ liệu nghiệp vụ trong quá trình chuyển từ cơ sở dữ liệu quan hệ sang event sourcing.
- Bài viết này thú vị vì nó đưa ra một cách để hiểu và tận dụng vòng đời dữ liệu tốt hơn, vượt ra ngoài phương thức quản lý dữ liệu truyền thống.
- Event sourcing không chỉ hữu ích từ góc độ kỹ thuật mà còn có thể giúp xây dựng sự thấu hiểu chung giữa nhóm nghiệp vụ và nhóm kỹ thuật.
1 bình luận
Ý kiến trên Hacker News
Khuyến nghị dùng PostgreSQL và công cụ báo cáo FOSS
Khi nào nên dùng kiến trúc hướng sự kiện
Chia sẻ trải nghiệm hoài nghi về event sourcing
Tính hữu ích của mô hình hóa domain event
Câu hỏi về cách triển khai event sourcing
Bottom-up so với top-down, tùy biến so với phổ dụng
Ủng hộ và phê bình kiến trúc dựa trên sự kiện
Event sourcing và nhu cầu về tính quan hệ
Ủng hộ dữ liệu quan hệ
Nhận thức mới về thiết kế hướng sự kiện