Apache Hadoop được Doug Cutting, người viết hadoop, đặt tên theo tên con voi đồ chơi của con ông ta, đã nhận được sự ủng hộ và ứng dụng của Yahoo, Google, IBM… Hadoop có thể chạy các ứng dụng với lượng dữ liệu lớn một cách nhanh chóng, chính xác, hiệu quả cao bằng cách lưu và tính toán dữ liệu trên nhiều node một cách độc lập. Hadoop có 2 thành phần chủ yếu là HDFS (Hadoop Distributed File System) và MapReduce.
32 Nhìn từ bên ngoài, files lưu trên HDFS giống như lưu trong Windows hay Linux. Ta có thể thêm mới, đổi tên, di chuyển, xóa… Dữ liệu được chia ra thành các blocks lưu trữ trên rất nhiều DataNode, mỗi block có nhiều bản sao (mặc định là 3) lưu trên nhiều DataNode khác nhau, đề nhằm mục đích dự phòng khi một DataNode nào đó có sự cố thì hệ thống vẫn hoạt động bình thường. Ngoài ra còn có 1(và chỉ 1) NameNode làm nhiệm vụ quản lí dữ liệu và điều tiết các lệnh yêu cầu thao tác dữ liệu.
MapReduce giúp cho việc xử lí song song được thuận lợi, gồm 3 bộ phận: hàm Map để phân tích data thành các cặp: key, value; hàm Reduce căn cứ vào các key để gom tập hợp các cặp như vậy lại với nhau và đưa ra kết quả xử lý; hàm Main để điều tiết. Mỗi một thao tác Map hoặc Reduce được gọi là TaskTracker. Thông thường TaskTrackers được chạy trên DataNodes để giảm đường truyền. Tasktrackers được JobTracker căn cứ vào thông tin của các blocks để khởi tạo trên DataNode phù hợp. JobTracker không nhất thiết chạy trên cùng máy với NameNode.
Hadoop đang ngày càng được ứng dụng và phát triển rộng rãi tại nhiều nước, tuy nhiên chưa có nhiều ở Việt Nam hiện nay.