Mô hình Dataflow, 11 năm sau: Điều gì đúng và điều gì sai
Các tác giả của bài báo Mô hình Dataflow mang tính nền tảng nhìn lại công trình của họ sau khi giành giải Test of Time, chấm điểm những gì đã đứng vững, những gì đã lỗi thời, và những gì họ đã bỏ lỡ—kết luận rằng tương lai của streaming nằm ở SQL và materialized views, không phải triggers.
Mười một năm trước, bài báo Mô hình Dataflow đưa ra một lập luận táo bạo: dữ liệu không giới hạn và lệch thứ tự là trạng thái bình thường mới, và các hệ thống nên ngừng chờ dữ liệu trở nên hoàn chỉnh. Bài báo đề xuất một mô hình thống nhất—windowing, triggers, watermarks, và retractions—để đánh đổi giữa độ chính xác, độ trễ, và chi phí trên cả batch lẫn streaming engines. Giờ đây, khi giành giải VLDB Test of Time, các tác giả đã công bố một bài hồi cứu tự chấm điểm công trình của chính họ.
Các nền tảng cốt lõi, họ nói, đã đứng vững theo thời gian. Tính ưu tiên của event time, sự vô ích của việc chờ đợi tính hoàn chỉnh, và strong consistency vẫn đúng đắn. Nhưng giao diện phân tích đã sai ở những phần quan trọng. Windowing và triggering, bị ràng buộc với các mối quan tâm vận hành, chiếm ưu thế trong trình bày vượt quá mức xứng đáng của chúng. Triggers là một câu trả lời được thiết kế quá mức cho một câu hỏi mà người dùng lẽ ra không bao giờ phải đối mặt. Và thế giới quan lấy streaming làm trung tâm đã bỏ lỡ một chân lý sâu sắc hơn: streams và tables là hai biểu diễn của cùng một đối tượng với ngữ nghĩa truy cập khác nhau.
Các cơ chế thực sự mang lại mục tiêu phân tích của bài báo đã phát triển từ sách lược của cơ sở dữ liệu: SQL, bảo trì view gia tăng, và materialized views với các hợp đồng độ tươi mới rõ ràng. Các tác giả thừa nhận họ đã tập trung quá nhiều vào cơ chế streaming thay vì hoàn thành những gì cộng đồng cơ sở dữ liệu đã bắt đầu—làm cho sự phức tạp của analytical streaming gần như biến mất hoàn toàn.
Bài hồi cứu cũng khám phá cách nguyên tắc hoàn chỉnh tách thành hai dạng: watermarks, nơi streams vẫn hiển thị, và snapshot-consistent refresh, nơi chúng không hiển thị. Dạng sau đã tiếp cận nhiều người dùng hơn nhiều bằng cách đòi hỏi ít hơn nhiều từ họ. Các tác giả khái quát hóa watermarks thành các ràng buộc được khai báo về sự thay đổi, nhận thấy cuộc tranh luận batch-vs-streaming phần lớn là ngữ nghĩa, và quan sát nhu cầu độ trễ thấp phân nhánh dọc theo ranh giới OLTP/OLAP cũ—để lại phân tích ở độ tươi mới nhẹ nhàng hơn. Họ chấp nhận khuôn khổ mà họ ước mình đã bắt đầu với: giữ lại, loại bỏ, đẩy mạnh hơn. Và họ suy ngẫm về sự biến mất cuối cùng của streaming ngoài phân tích.
Chúng tôi tập trung quá nhiều vào cơ chế streaming thay vì hoàn thành những gì cộng đồng cơ sở dữ liệu đã bắt đầu nhưng chưa bao giờ hoàn tất: làm cho sự phức tạp của analytical streaming gần như biến mất hoàn toàn.
Thảo luận
0 bình luận
Hãy là người đầu tiên thảo luận.