MapReduce : Một khung tính toán phân tán chịu lỗi. MapReduce cho phép bạn vận hành với lượng dữ liệu khổng lồ - với rất nhiều công việc được đưa vào để ngăn ngừa lỗi do phần cứng. MapReduce là một lựa chọn kém cho kết quả tính toán một cách nhanh chóng vì nó chậm. (Một công việc MapReduce điển hình sẽ thực hiện theo thứ tự phút hoặc giờ, không phải micro giây)
Công việc MapReduce lấy một tệp (hoặc một số lưu trữ dữ liệu) làm đầu vào và ghi một tệp kết quả. Nếu bạn muốn những kết quả này có sẵn cho một ứng dụng, bạn có trách nhiệm đặt dữ liệu này ở nơi có thể truy cập được. Điều này có thể chậm và sẽ có độ trễ giữa các giá trị bạn có thể hiển thị và các giá trị đại diện cho hệ thống của bạn ở trạng thái hiện tại.
Một điểm khác biệt quan trọng cần thực hiện khi xem xét sử dụng MapReduce trong việc xây dựng các hệ thống thời gian thực là đào tạo mô hình của bạn và áp dụng mô hình của bạn. Nếu bạn nghĩ rằng các tham số mô hình của bạn không thay đổi nhanh chóng, bạn có thể điều chỉnh chúng bằng MapReduce và sau đó có cơ chế truy cập các tham số phù hợp trước này khi bạn muốn áp dụng mô hình của mình.
Storm : Một hệ thống tính toán trực tuyến, thời gian thực. Storm là khung trực tuyến, nghĩa là, theo nghĩa này, một dịch vụ tương tác với một ứng dụng đang chạy. Trái ngược với MapReduce, nó nhận được các mẩu dữ liệu nhỏ (không phải toàn bộ tệp) khi chúng được xử lý trong ứng dụng của bạn. Bạn xác định DAG của các hoạt động để thực hiện trên dữ liệu. Trường hợp sử dụng phổ biến và đơn giản cho Storm là theo dõi các bộ đếm và sử dụng thông tin đó để điền vào bảng điều khiển thời gian thực.
Storm không có bất cứ điều gì (nhất thiết) phải làm với việc duy trì dữ liệu của bạn. Ở đây, phát trực tuyến là một cách khác để nói giữ thông tin bạn quan tâm và ném phần còn lại đi. Trong thực tế, bạn có thể có một lớp kiên trì trong ứng dụng của bạn đã ghi lại dữ liệu, và do đó đây là một sự phân tách mối quan tâm tốt và hợp lý.
Nếu bạn muốn biết thêm ...
Nếu bạn muốn tìm hiểu thêm về các hệ thống thời gian thực phù hợp với các tham số với MR và áp dụng các mô hình theo một cách khác ở đây là các slide để nói về việc xây dựng các công cụ đề xuất thời gian thực trên HBase.
Một bài báo xuất sắc kết hợp việc đếm thời gian thực và kiên trì theo một cách thú vị là Google News Personalization: Filterable Collaborative Filtering
Một cuộc hôn nhân thú vị khác của MR và Storm là SummingBird . Summingbird cho phép bạn xác định các hoạt động phân tích dữ liệu có thể được áp dụng thông qua Storm hoặc MR.