Sunday, September 3, 2017

[HADOOP] - HDFS và MapReduce: Hai thành phần chính của Hadoop

Các tiếp cận cơ bản nhất trong thiết kế của Hadoop đó là việc sử dụng các commodity hardware (phần cứng giá vừa phải, không quá đắt - dung lượng RAM và đĩa cứng, tốc độ CPU không cần quá mạnh) kết nối lại với nhau, Dnhư minh họa ở hình dưới đây:


Cách tiếp cận này để giải quyết bài toán co giãn của hệ thống (scalability) - khi nhu cầu lưu trữ và xử lí tăng lên - chỉ cần mua thêm máy gắn vào hệ thống; chứ không mua một cái máy thật đắt tiền (với dung lượng RAM và đĩa cứng lớn, CPU cực mạnh). Ngoài ra, khi có hỏng hóc (chuyện xảy ra thường xuyên khi vận hành các hệ thống lớn và hoạt động liên tục, chỉ cần tháo máy hư ra và lắp máy mới vào.

Với cách tiếp cận này, hai vấn đề phải giải quyết đó là:

1. Làm thế nào để lưu trữ các tập tin trên nhiều máy sao cho đối với người dùng, người dùng có cảm giác như là lưu trữ trên một máy? UVí dụ, khi mua một sản phẩm từ nguyenkiem hay dienmayxanh, người dùng không biết thực sự là sản phẩm đó nằm ở kho hàng nào, một cách tương tự - khi yêu cầu đọc một tập tin - người dùng cũng không cần biết nó lưu trữ trên máy nào.

2. Làm thế nào để tận dụng được năng lực xử lí của các máy tính trong hệ thống để thực hiện các tác vụ đòi hỏi năng lực tính toán lớn? Ví dụ, cần xử lí dữ liệu của CoopMart gồm hàng trăm cửa hàng, cần phải chia nhỏ việc xử lí thành nhiều máy cùng chạy SONG SONG, thay vì xử lí tập trung ở một máy.

Do đó, trong Hadoop có hai thành phần chính đó là - như giới thiệu trong video clip dưới đây:

1. HDFS - Hadoop Distributed File System - dùng cho vấn đề lưu trữ.

2. MapReduce - dùng cho vấn đề xử lí song song/phân tánY.


Lưu ý rằng, đây là thời điểm của năm 2006 khi Hadoop ra đời - theo thời gian, công nghệ lưu trữ và tính toán ngày càng phát triển, và Hadoop cũng đã tiến hóa từ phiên bản ban đầu đến phiên bản tích hợp nhiều thành phần khác nhau - hợp thành Hadoop Ecosystem.



Tham khảo: https://www.slideshare.net/cloudera/chicago-data-summit

Keyword: hdfs, mapreduce, file distributed system, scalable, hadoop, commodity hardware, scale out, udacity, cloudera


@Lê Đình Duy