Tham gia phát triển dự án mã nguồn mở OpenStack Sahara - cung cấp một công cụ để đơn giản hóa việc tạo ra các Hadoop Cluster trên nền tảng đám mây IaaS OpenStack. Ý tưởng cho MHST 2014 là tạo ra một dịch vụ đám mây Mahout-as-a-Service dựa vào nền tảng dự án OpenStack Sahara. Mahout là dự án mã nguồn mở tập trung vào việc xử lý các thuật toán khai phá dữ liệu trong môi trường phân tán. Sản phẩm hướng tới là một dịch vụ phân tích dữ liệu hỗ trợ nhiều môi trường và nền tảng khác nhau kể cả di động.
- Hệ thống máy chủ tại ICSE
- OpenStack
OpenStack là một middleware mã nguồn mở để triển khai dịch vụ nền tảng IaaS - một trong những thành phần quan trọng nhất của điện toán đám mây. OpenStack có thể dùng để xây dựng các đám mây từ công cộng, lai, xã hội đến đám mây riêng. Bên cạnh đó, dự án OpenStack đang được các doanh nghiệp tổ chức lớn trên thế giới hỗ trợ và thu hút được sự đóng góp to lớn của cộng đồng người dùng cũng như các nhà phát triển. Chính vì vậy, đây là nền tảng đám mây mã nguồn mở được sử dụng nhiều nhất hiện nay.
- Hadoop
- Mahout
Apache Mahout là một dự án MNM với mục tiêu chính là tạo các thuật toán khai phá dữ liệu có tính khả mở cao. Mahout khởi đầu là tập các thư viện giải thuật MapReduce cho nền tảng Apache Hadoop nên thừa kế khả năng làm việc với lượng dữ liệu lớn. Mặc dù hiện tại Mahout không tiếp tục xây dựng các thuật toán mới trên MapReduce (bắt đầu từ tháng 3 năm 2014) mà chuyển sang viết bằng DSL để chạy trên Apache Spark, tuy nhiên các thuật toán sẵn có trên MapReduce vẫn rất phổ biến và được cộng đồng sử dụng rộng rãi. Bên cạnh đó, Spark cũng hoàn toàn tương thích được dữ liệu lưu trữ trên Hadoop. Do đó, việc sử dụng Mahout dựa vào MapReduce là bước phát triển nền tảng cho bước tiếp theo của dự án - xây dựng dịch vụ dựa vào Apache Spark (future work).
Hình 1: Mô hình các lớp dịch vụ của “Mahout-as-a-Service”
Sự kết hợp của ba nền tảng trên mang lại nhiều ưu điểm, cụ thể:
Dễ dàng, nhanh chóng triển khai dịch vụ (tính năng của cloud computing)
Dễ dàng thêm, bớt các cụm hadoop cluster (tính năng của OpenStack Sahara)
Lưu trữ phân tán hiệu quả lượng dữ liệu lớn (tính năng của Hadoop)
Khai phá dữ liệu trong môi trường phân tán (tính năng của Mahout)