Thứ Tư, 25/11/2020
Hotline: 02466615539. Email: tccsnd@hvcsnd.edu.vn
Tìm hiểu về BigData và công nghệ Hadoop

1. Giới thiệu

Khái niệm: Big data là tập hợp dữ liệu lớn, bao gồm có cấu trúc, phi cấu trúc hoặc nửa cấu trúc mà mỗi dữ liệu trong đó đều có thể khai thác thành các thông tin chi tiết. Độ lớn và phức tạp của dữ liệu này những công nghệ hay phần mềm thuyền thống thông thường không có thể thu thập, lưu trữ và xử lý trong thời gian hợp lý. Kích thước của nó có thể lên đến petabyte (hàng triệu gigabyte) hoặc thậm chí là Exabyte (bằng 1e+9 gigabyte)

Đặc điểm: Big data có đặc điểm chủ yếu là 3V (Volume: Độ lớn của dữ liệu; Variety: Độ da dạng của dữ liệu; Velocity: Tốc độ mà dữ liệu cần được xử lý và phân tích.

- Volume: Độ lớn của dữ liệu

Số lượng dữ liệu được tạo ra và lưu trữ. Chính độ lớn của dữ liệu xác định xem nso có thể thực sự được coi là Big data hay không.

- Varity: Độ đa dạng của dữ liệu

Dữ liệu được thu thập từ rất nhiều nguồn khác nhau nên có cấu trúc khác nhau. Điều này giúp những người phân tích dữ liệu thành dữ liệu có cấu trúc, phi cấu trúc và nửa cấu trúc.

- Vận tốc: Tốc độ mà dữ liệu cần được xử lý và phân tích để đáp ứng yêu cầu sử dụng.

Kiến trúc lớp của hệ thống Big data (nguồn: https://www.researchgate.net/)

Một số thách thức cho Big data

- Truyền dữ liệu:

Truyền tải dữ liệu là quan trọng trong các ứng dụng Big data nhưng việc truyền tải dữ liệu lớn thường khó khăn và chi phí rất cao. Nâng cao hiệu quả truyền tải dữ liệu lớn là một yếu tố quan trọng để nâng cao khả năng xử lý Big data.

- Tốc độ xử lý:

Dữ liệu trong các hệ thống thông tin luôn luôn và không ngừng tăng lên về mặt kích thước (khối lượng) gây ra một thách thức rất lớn đối với các ứng dụng thời gian thực, thì việc tìm ra các phương pháp hiệu quả trong suốt luồng dữ liệu là cần thiết để đáp ứng yêu cầu về thời gian thực.

- Bảo mật dữ liệu và quyền riêng tư:

Bảo mật dữ liệu là vấn đề rất quan trọng. Một số ví dụ trong thực tế cho thấy, không chỉ thông tin cá nhân, thông tin mật của các tổ chức mà ngay cả các bí mật an ninh quốc gia cũng có thể bị xâm phạm. Do vậy, giải quyết các vấn đề an ninh dữ liệu bằng các công cụ kỹ thuật và các chính sách trở nên vô cùng cấp bách. Các nền tảng Big data nên cân bằng tốt giữa việc truy cập dữ liệu và xử lý dữ liệu.

2. Mô hình xử lý Big data

Big data được xử lý thông qua 4 giai đoạn: thu thập (acquire), tổ chức (organize), phân tích (analyze), quyết định (decide).

 

Mô hình xử lý Big Data (Nguồn: http://scalein.com)

- Giai đoạn thu thập dữ liệu: Đối với giai đoạn này hầu hết đã có giải pháp, ví dụ: Oracle đưa ra NoSQL Database, Google có Google BigTable…

- Giai đoạn tổ chức dữ liệu: Có thể lưu trữ dự liệu ở dạng phân tán, song song … nhưng phổ biến nhất vẫn là Hadoop/MapReduce.

- Giai đoạn phân tích: với các dữ liệu truyền thống, các công ty lớn đều đã có giải pháp. Ví dụ: Oracle có Oracle Data warehousing, IBM có InfoSphere warehouse …

- Giai đoạn quyết định: dựa vào các thông tin được phân tích sẽ đưa ra các quyết định giải pháp kịp thời.

3. Giải pháp Hadoop

Hadoop là một framework cho phép phát triển các ứng dụng phân tán.

Hadoop viết bằng ngôn ngữ lập trình Java. Tuy nhiên, nhờ cơ chế streaming, Hadoop cho phép phát triển các ứng dụng phân tán bằng cả java lẫn một số ngôn ngữ lập trình khác như C++, Python, Pearl.

Hadoop cung cấp một phương tiện lưu trữ dữ liệu phân tán trên nhiều node, hỗ trợ tối ưu hoá lưu lượng mạng, đó là HDFS. HDSF che giấu tất cả các thành phần phân tán, các nhà phát triển ứng dụng phân tán sẽ chỉ nhìn thấy HDFS như một hệ thống file cục bộ bình thường.

Các thành phần của Hadoop

 

Cấu trúc các thành phần của Hadoop

- Hadoop có hai thành phần chính là MapReduce và HDFS.

• MapReduce: Frameworks cho lập trình (dùng Java) : Đây là mô hình lập trình cho Hadoop. Có hai giai đoạn được gọi là Map và Reduce, một quá trình mà hệ thống thực hiện sắp xếp và chuyển các kết quả đầu ra của Map tới các đầu vào của các bộ Reduce.

 

Kiến trúc MapReduce

• HDFS (Hadoop Distributed FileSystem):  Một hệ thống tập tin phân phối thiết kế để chạy trên phần cứng. Nó có nhiều điểm tương đồng với hệ thống tập tin phân tán hiện có. Tuy nhiên, sự khác biệt từ hệ thống tập tin phân phối khác là rất lớn. HDFS chịu lỗi rất tốt và được thiết kế để triển khai trên phần cứng chi phí thấp. HDFS cung cấp khả năng truy cập cao ứng dụng dữ liệu và phù hợp cho các ứngdụng có tập dữ liệu lớn.

 

Kiến trúc HDFS

- Các thành phần khác

• Core: Cung cấp các công cụ và giao diện cho hệ thống phân tán và các tiện ích I/O. Đây là phần lõi để xây dựng nên HDFS và MapReduce.

• HBase: Một cơ sở dữ liệu phân tán, theo hướng cột (colunm-oriented). HBase sử dụng HDFS làm hạ tầng cho việc lưu trữ dữ liệu bên dưới, và cung cấp khả năng tính toán song song dựa trên MapReduce.

• Hive: Một data warehouse phân tán. Hive quản lý dữ liệu được lưu trữ trên HDFS và cung cấp một ngôn ngữ truy vấn dựa trên SQL.

• Chukwa: một hệ thống tập hợp và phân tích dữ liệu. Chukwa chạy các collector các chương trình tập hợp dữ liệu), các collector này lưu trữ dữ liệu trên HDFS và sử dụng MapReduce để phát sinh các báo cáo.

• Pig: ngôn ngữ luồng dữ liệu cấp cao và framework thực thi dùng cho tính toán song song.

4. Ưu và nhược điểm của Hadoop

- Ưu điểm:

• Khả năng mở rộng cao: Hadoop là một nền tảng lưu trữ có khả năng mở rộng cao bởi vì nó có thể lưu trữ và phân phối các bộ dữ liệu rất lớn trên hàng trăm máy chủ hoạt động song song.

• Chi phí hiệu quả: Hadoop cũng cung cấp một giải pháp lưu trữ hiệu quả về chi phí cho các dữ liệu. Trên thực tê, để giảm chi phí và có không gian lưu trữ dữ liệu mới, nhiều công ty phải xóa bỏ các dữ liệu thô. Điều này có thể dẫn đến tình trạng mất những dữ liệu quan trọng. Với Hadoop, vấn đề lưu trữ dữ liệu lớn được giải quyết triệt để với chi phí thấp.

• Tốc độ: Phương pháp lưu trữ độc đáo của Hadoop dựa trên một hệ thống tập tin phân tán. Các công cụ xử lý dữ liệu thường nằm trên cùng một máy chủ với dữ liệu nên kết quả xử lý dữ liệu nhanh hơn nhiều. Với khối dữ liệu lớn phi cấu trúc, Hadoop có thể xử lý hiệu quả mỗi tetabyte dữ liệu chỉ trong vài phút và mỗi petabye trong vài giờ.

• Khả năng nhân bản: Hadoop tự động sao chép dữ liệu được lưu trữ trong đó và tạo nhiều bản sao. Khi dữ liệu được gửi đến một nút nào đó thì dữ liệu cũng được nhân rộng đến các node khác trong cluster. Điều này sẽ đảm bảo rằng trong trường hợp có lỗi xẩy ra, dữ liệu sẽ không bị mất.

- Nhược điểm:

• Bảo mật: Khi xử lý dữ liệu nhạy cảm được thu thập, bắt buộc phải cung cấp các biện pháp bảo mật cần thiết. Trong Hadoop, không có mô hình bảo mật.

• Xử lý dữ liệu nhỏ: HDFS không hiệu quả để xử lý các tập tin nhỏ.

5. Các ứng dụng phổ biến

- A9.com – Amazon: Sử dụng Hadoop để đánh giá chỉ số tìm kiếm sản phẩm trên Amazon, xử lý đến hàng triệu Session mỗi ngày. Các cluster của A9.com có độ lớn từ 1-100 node.

- Twitter: sử dụng Hadoop để xử lý tweets (các bài viết văn bản lên đến 140 ký tự hiển thị trên profile của tác giả), logs và các nguồn dữ liệu phát sinh trong quá trình hoạt động của Twitter.

- Facebook: Sử dụng Hadoop để lưu trữ các log nội bộ và kích thước của nguồn dữ liệu. Các dữ liệu này được dùng làm nguồn cho các báo cáo phân tích và máy học.  Hiện tại, facebook có 2 Hadoop cluster chính: một cluster 1100 máy với 8800 nhân và 12 Petabyte ổ cứng lưu trữ.

Và còn rất nhiều công ty hiện đang sử dụng Hadoop vào việc lưu trữ và xử lý dữ liệu, đặc biệt cho các nguồn dữ liệu lớn với kích thước lên tới hàng petabyte.

6. Kết luận

Quản lý dữ liệu là vấn đề khó và được rất nhiều các nước trên thế giới quan tâm . Ngày nay, lượng dữ liệu khổng lồ được tạo ra nên khái niệm Big Data được đưa ra. Đó là tập dữ liệu có thể quản lý và xử lý dữ liệu. Để quản lý, phân tích dữ liệu lớn thì Hadoop được sử dụng. Hadoop có thể xử lý lượng dữ liệu khổng lồ, rất hiệu quả về chi phí và tốc độ xử lý rất nhanh và cũng có thể tạo một bản sao dữ liệu trùng lặp trong trường hợp lỗi hệ thống hoặc để tránh mất mát Dữ liệu.

Quách Như Thế

Tài liêu tham khảo

1. http://www.hadoop.apache.org

2. Tom White,”Hadoop: The Definitive Guide”,O'ReillyMedia Publication ,3rd Edition

3. Garry Turkington,”Hadoop: Beginner's Guide”,PacktPublishing,2013

4. http://www.tutorialpoints.com/hadoop _overview.pdf

5. http://blogs.mindsmapped.com/bigdatahadoop

6. https://www.knowledgehut.com/blog/bigdatahadoop/top-pros-and-cons-of-hadoop

 

Gửi cho bạn bè

Phản hồi

Thông tin người gửi phản hồi

Các tin khác