3 Khảo sát và lựa chọn framework xử lý dữ liệu
3.2.5 Cập nhật và sự phổ biến trong cộng đồng sử dụng
Duới đây là một số khảo sát để xem xét mức độ phổ biến của các framework: MapReduce, Spark, Flink, Storm
BẢNG3.2: Bảng so sánh mức độ cập nhật và phổ biến của các framwork big data
Thông tin MapReduce Spark Flink Storm
Cập nhật cuối July 14, 2020 Mar 02, 2021 10 Dec 2020 Jun 30, 2020
Số lượng bài viết
trên StackOverFlow 36,846 122,341 9,151 9,301
Số lượng người đóng góp
mã nguồn trên github 14 1,662 881 341
Thông qua một vài số liệu so sánh trên, tôi có nhận định rằng:
• Các Framework đang xem xét đều được cập nhật thường xuyên, đây là một
dấu hiệu tốt cho thấy tiềm năng phát triển của chúng trong tương lai.
• Số lượng bài viết hỏi đáp trên cộng đồng StackOverFlow cho thấy số lượng
áp đảo của Spark với hơn 120,000 câu hỏi. Qua đó cho thấy Spark đang là framework có lượng người sử dụng đông nhất. Đây cũng là một điểm cộng của Spark vì khi phát triển ứng dụng dựa trên Spark, các lỗi sai có thể được tìm thấy và sửa nhanh chóng nhờ cộng đồng sử dụng lớn mạnh.
• Số lượng người đóng góp (contributors) được lấy từ trang github chính thức
của các dự án trên. Spark lại chứng minh được nó là một công cụ dẫn đầu và được hỗ trợ tối đa từ nhiều lập trình viên giỏi, giàu kinh nghiệm với hơn 1,600 người tham gia.
3.2.6 Kết luận chung
Sau khi đã phân tích rất nhiều các tiêu chí, tôi nhìn nhận rằng: Spark là một công cụ rất đa năng cho đến thời điểm hiện tại. Spark đáp ứng được điều kiện cần, đó là tính toán phân tán. Spark hỗ trợ được hai kiểu tính toán Batch và Stream. Tuy Streaming của Spark là micro-batching có độ trễ nhưng điểm yếu này có thể chấp nhận được đối với các ứng dụng IoT hiện tại. Dữ liệu cảm biến từ các hệ thống message gửi về Spark có các khoảng thời gian nhất định, ví dụ: 1 phút, 5 phút, hoặc 30 phút gửi
Chương 3. Khảo sát và lựa chọn framework xử lý dữ liệu 23 một lần. Điều này giúp cho điểm yếu độ trễ cao của Spark Streaming được xem nhẹ, và cũng đồng nghĩa rằng độ ổn định và chống lỗi tốt hơn. Hơn nữa, phần lớn các ứng dụng phân tích dữ liệu tập trung ở việc xử lý dữ liệu Batch. Module SQL và Machine Learning của Spark được phát triển rất mạnh mẽ, hỗ trợ rất nhiều các giải thuật. Chính vì thế, khi chọn Spark, việc mở rộng Spark dành cho các ứng dụng nông nghiệp sẽ tiết kiệm được nhiều chi phí hơn. Với tất cả những ưu điểm kể trên, tôi tin tưởng rằng, việc chọn Spark để phát triển là một quyết định đúng đắn và có tầm nhìn lâu dài.
Trong các phần kế tiếp, tôi sẽ trình bày cụ thể hơn về Spark và phương pháp để mở rộng framework này.