Bối cảnh và vấn đề nghiên cứu
Sự bùng nổ của công nghệ thông tin và truyền thông trong những thập niên gần đây đã dẫn đến sự gia tăng nhanh chóng của dữ liệu kỹ thuật số trên toàn cầu. Theo số liệu được tác giả viện dẫn, vào năm 2000, chỉ có khoảng 1/4 tổng lượng thông tin lưu trữ trên thế giới ở dạng kỹ thuật số, 3/4 còn lại nằm trên giấy tờ, phim và các phương tiện tương tự (analog). Với tốc độ tăng trưởng dữ liệu số tăng gấp đôi sau mỗi 3 năm, cục diện đã đảo ngược hoàn toàn khi hiện nay chỉ còn dưới 2% tổng lượng thông tin chưa được số hóa.
Sự gia tăng này đặt ra những thách thức lớn đối với các hệ thống quản trị dữ liệu truyền thống. Khối lượng dữ liệu gia tăng lên đến hàng trăm terabyte hoặc petabyte cho một tập hợp dữ liệu đơn lẻ. Đồng thời, hơn 80% dữ liệu phát sinh trong thực tế là dữ liệu phi cấu trúc (bao gồm tài liệu văn bản, blog, hình ảnh, video, âm thanh, dữ liệu cảm biến và thiết bị y tế). Các hệ quản trị cơ sở dữ liệu truyền thống bộc lộ rõ các hạn chế: không hỗ trợ liên kết và phân tích nhiều định dạng dữ liệu phức tạp, tốc độ thu nhận, xử lý và phản hồi dữ liệu chậm, trong khi nhu cầu thực tế đòi hỏi khả năng xử lý tức thời ở mức mili-giây. Để giải quyết các trở ngại này, công nghệ dữ liệu lớn (Big Data) và các hệ thống tính toán phân tán đã ra đời.
Trong đồ án tốt nghiệp này, tác giả xác định các nội dung và nhiệm vụ nghiên cứu cụ thể như sau:
-
Nội dung nghiên cứu:
- Tìm hiểu về các thành phần công nghệ và quản lý Big Data.
- Tìm hiểu mô hình xử lý dữ liệu phân tán MapReduce.
- Tìm hiểu hệ thống phân tán Apache Hadoop.
- Đề ra phương pháp xây dựng hệ thống lưu trữ và xử lý dữ liệu.
- Thử nghiệm với các công cụ để giải quyết bài toán lưu trữ, quản lý dữ liệu văn bản.
-
Yêu cầu cần giải quyết:
- Nắm vững các thành phần công nghệ trong kiến trúc Big Data.
- Nắm vững nguyên lý và quy trình hoạt động của mô hình MapReduce.
- Nắm được quy trình hoạt động cơ bản của hệ thống tập tin phân tán và các tiến trình trong Hadoop.
- Áp dụng các kiến thức lý thuyết để cài đặt và triển khai hệ thống thử nghiệm thực tế.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các kỹ thuật lưu trữ và xử lý dữ liệu lớn, mô hình tính toán phân tán MapReduce, hệ thống tập tin phân tán Hadoop Distributed File System (HDFS), cơ sở dữ liệu quan hệ và phi quan hệ (NoSQL), các công cụ phân tích và trích xuất dữ liệu văn bản.
- Phạm vi không gian và thời gian: Nghiên cứu lý thuyết và thực nghiệm được tiến hành tại Khoa Công nghệ Thông tin, Trường Đại học Dân lập Hải Phòng, hoàn thành vào tháng 12 năm 2016.
Cơ sở lý thuyết và phương pháp
Đồ án được xây dựng dựa trên hệ thống cơ sở lý thuyết về kiến trúc dữ liệu lớn, công nghệ ảo hóa, điện toán đám mây và các hệ thống lưu trữ phân tán:
- Kiến trúc dữ liệu lớn và cơ sở dữ liệu hoạt động: Khảo sát các nguyên lý hạ tầng vật lý (hiệu năng, tính sẵn sàng, khả năng mở rộng, tính linh hoạt, chi phí), an ninh dữ liệu (mã hóa, kiểm soát truy cập, phát hiện đe dọa), chuẩn giao tiếp qua API và XML. Phân tích sự khác biệt giữa hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) tuân thủ tiêu chuẩn ACID (Atomicity, Consistency, Isolation, Durability) đại diện bởi PostgreSQL, và hệ cơ sở dữ liệu phi quan hệ (NoSQL) với tính nhất quán cuối cùng (Eventual Consistency). Các mô hình NoSQL được phân tích gồm cơ sở dữ liệu cặp Khóa - Giá trị (Key-Value Pair) và cơ sở dữ liệu tài liệu (Document Store) sử dụng định dạng JSON/BSON đại diện bởi MongoDB và CouchDB.
- Công nghệ ảo hóa và điện toán đám mây: Phân tích vai trò của bộ giám sát máy ảo (Hypervisor) và 3 đặc tính cơ bản của ảo hóa (phân vùng, cô lập, đóng gói) trên các lớp máy chủ, ứng dụng, mạng, bộ vi xử lý, bộ nhớ và lưu trữ. Khảo sát các mô hình triển khai đám mây (công cộng, riêng, lai) và các mô hình cung cấp dịch vụ: Cơ sở hạ tầng như một dịch vụ (IaaS), Nền tảng như một dịch vụ (PaaS), Phần mềm như một dịch vụ (SaaS), Dữ liệu như một dịch vụ (DaaS) thông qua các giải pháp của Amazon Web Services (EC2, EMR, S3, DynamoDB, RedShift), Google Cloud (Compute Engine, BigQuery, Prediction API), Microsoft Azure (HDInsight) và nền tảng mã nguồn mở OpenStack.
- Mô hình tính toán phân tán MapReduce và Apache Hadoop: Khung lý thuyết tính toán phân tán theo nguyên lý chia để trị với các giai đoạn Split, Map, Shuffle, Reduce và hệ thống tập tin phân tán HDFS theo kiến trúc Master/Slave.
- Kỹ thuật xử lý dữ liệu văn bản: Khung lý thuyết về phân loại, trích xuất thông tin, xử lý văn bản phi cấu trúc và kết hợp với dữ liệu có cấu trúc.
Phương pháp nghiên cứu:
- Phương pháp phân tích - tổng hợp tài liệu: Thu thập, phân loại và hệ thống hóa các tài liệu khoa học, thông số kỹ thuật về Big Data, ảo hóa, điện toán đám mây và các hệ quản trị cơ sở dữ liệu.
- Phương pháp mô hình hóa và thiết kế kiến trúc: Phân tích luồng dữ liệu, cơ chế điều phối tác vụ và cấu trúc lưu trữ phân tán của hệ thống HDFS và MapReduce.
- Phương pháp thực nghiệm kỹ thuật: Cài đặt, cấu hình cụm máy chủ Hadoop cluster trên nền tảng hệ điều hành mã nguồn mở Linux, thiết lập tài khoản quản trị
hduser, kiểm tra hoạt động các tiến trình qua giao diện Web và thực thi các thao tác đọc, ghi, quản lý tệp dữ liệu văn bản trên môi trường HDFS.
Nguồn dữ liệu:
Tài liệu và dữ liệu văn bản mẫu (vanban.txt), hồ sơ mẫu ghi cuộc gọi và các tập tin dữ liệu phân tán được đưa vào thử nghiệm trên hệ thống tệp HDFS.
Thiết kế và triển khai
Hệ thống được thiết kế và triển khai dựa trên nền tảng mã nguồn mở Apache Hadoop với hai thành phần cốt lõi là hệ thống tập tin phân tán HDFS và khung tính toán phân tán MapReduce.
| Thành phần kiến trúc |
Vai trò và cơ chế kỹ thuật |
| HDFS NameNode (Master) |
Quản lý không gian tên hệ thống tập tin (namespace), điều phối cây thư mục và lưu trữ metadata về vị trí các khối dữ liệu (blocks) trên các DataNode. |
| HDFS Secondary NameNode |
Hỗ trợ NameNode kiểm tra định kỳ và hợp nhất các bản ghi chỉnh sửa (edit logs) với ảnh trạng thái hệ thống (fsimage) để giảm tải và phục hồi khi cần. |
| HDFS DataNode (Slave) |
Lưu trữ trực tiếp các khối dữ liệu thực tế dưới dạng các block; thực hiện ghi/đọc dữ liệu theo cơ chế ống dẫn (pipeline) và nhân bản block để đảm bảo khả năng chịu lỗi. |
| MapReduce JobTracker |
Nút chủ quản lý việc phân phối công việc, nhận các tác vụ từ người dùng, lập lịch và giám sát toàn bộ quá trình thực thi trên các TaskTracker. |
| MapReduce TaskTracker |
Nút thợ thực thi trực tiếp các tác vụ Map và Reduce được chỉ định từ JobTracker, báo cáo tiến độ và trạng thái định kỳ. |
Quy trình ghi và đọc dữ liệu trong HDFS:
- Cơ chế ghi dữ liệu (Pipeline): Khi client yêu cầu ghi tệp tin, NameNode cấp phát danh sách các DataNode. Dữ liệu được chia thành các gói tin nhỏ và truyền nối tiếp từ DataNode đầu tiên sang các DataNode tiếp theo theo cơ chế ống dẫn để tạo ra các bản sao (replication) đồng thời.
- Cơ chế đọc dữ liệu: Client liên hệ với NameNode để nhận danh sách vị trí các DataNode chứa block dữ liệu gần nhất về mặt mạng, sau đó kết nối trực tiếp với DataNode đó để đọc dữ liệu song song.
Quy trình xử lý của mô hình MapReduce:
- Giai đoạn Split (Phân chia): Tệp dữ liệu đầu vào trên HDFS được chia thành các phần nhỏ cố định (splits).
- Giai đoạn Map (Ánh xạ): Các Mapper đọc các bản ghi từ splits và chuyển đổi thành danh sách các cặp khóa - giá trị trung gian
(key, value).
- Giai đoạn Shuffle và Sort (Xáo trộn và sắp xếp): Hệ thống tự động thu thập, sắp xếp và phân nhóm các giá trị có cùng một khóa từ tất cả các máy Mapper.
- Giai đoạn Reduce (Thu gọn): Hàm Reduce nhận khóa và tập hợp các giá trị tương ứng để tính toán, tổng hợp kết quả cuối cùng và ghi trở lại HDFS.
Các bước triển khai thực nghiệm:
- Cấu hình môi trường mạng, máy chủ và thiết lập tài khoản người dùng chuyên biệt
hduser.
- Cấu hình các tệp tin hệ thống của cụm Hadoop (Hadoop cluster).
- Khởi động các tiến trình nền (daemons) bao gồm NameNode, DataNode, Secondary NameNode, JobTracker và TaskTracker.
- Xác thực hoạt động của cụm qua các cổng giao diện Web quản trị: trang All Applications, trang quản lý NameNode, trang quản lý Secondary NameNode và trang quản lý hệ thống tệp tin Hadoop Directory.
- Thực hiện thao tác tạo thư mục làm việc
vidu, tạo tệp văn bản vanban.txt từ hệ thống tệp cục bộ và sử dụng câu lệnh phân tán để sao chép thư mục vidu vào hệ thống tệp phân tán HDFS (hdfs).
Nội dung chính theo từng chương
CHƯƠNG 1: CÔNG NGHỆ QUẢN LÝ DỮ LIỆU LỚN
Chương 1 tập trung khảo sát tổng thể nền tảng công nghệ, kiến trúc cơ sở hạ tầng, ảo hóa, điện toán đám mây và các hệ thống cơ sở dữ liệu phục vụ quản lý dữ liệu lớn.
Tác giả phân tích kiến trúc phân tầng của hệ thống Big Data gồm 8 lớp:
- Hạ tầng vật lý: Đòi hỏi cân đối 5 nguyên tắc gồm hiệu năng (Performance), tính sẵn sàng (Availability), khả năng mở rộng (Scalability), tính linh hoạt (Flexibility) và chi phí (Cost); dự phòng phần cứng, bộ lưu trữ, máy chủ và hạ tầng mạng để loại bỏ hiện tượng thắt nút cổ chai.
- Cơ sở hạ tầng an ninh: Tập trung vào 4 yêu cầu gồm kiểm soát truy cập dữ liệu, kiểm soát truy cập ứng dụng, mã hóa/giải mã dữ liệu và phát hiện mối đe dọa vòng ngoài.
- Giao diện ứng dụng và Internet: Sử dụng API và cấu trúc mô tả giao diện bằng XML để chuẩn hóa việc thu thập, làm sạch, chuyển đổi và nạp dữ liệu.
- Cơ sở dữ liệu hoạt động: Đảm bảo tính bền vững (persistence) của dữ liệu.
- Tổ chức dịch vụ và công cụ dữ liệu: Bao gồm hệ thống tập tin phân phối, dịch vụ chuyển đổi cấu trúc và gọi thủ tục từ xa (RPC), dịch vụ điều phối, công cụ trích xuất - biến đổi - nạp (ETL) và dịch vụ lập tiến độ công việc.
- Kho dữ liệu phân tích: Nâng cấp từ kho dữ liệu truyền thống sang kho dữ liệu thời gian thực hoặc siêu kho dữ liệu (data mart) hỗ trợ xử lý dữ liệu đa dạng.
- Phân tích Big Data: Công cụ báo cáo, biểu đồ NoSQL, hình dung dữ liệu động (bản đồ nhiệt, bản đồ thông tin, sơ đồ kết nối) và các thuật toán phân tích nâng cao.
- Ứng dụng Big Data: Các ứng dụng tùy chỉnh hoặc bên thứ ba được lắp ráp nhanh dựa trên API toàn hệ thống.
Bên cạnh đó, chương này phân tích sâu về:
- Công nghệ ảo hóa: Sử dụng Hypervisor để phân tách tài nguyên với 3 cơ chế (phân vùng, cô lập, đóng gói); áp dụng ảo hóa trên toàn bộ máy chủ, ứng dụng, mạng, bộ vi xử lý, bộ nhớ và lưu trữ; nguyên lý trừu tượng hóa (Abstraction) giúp ẩn đi sự phức tạp vật lý bên dưới.
- Điện toán đám mây cho Big Data: So sánh các mô hình triển khai (đám mây công cộng, riêng, lai) và mô hình cung cấp (IaaS, PaaS, SaaS, DaaS); phân tích các giải pháp thương mại gồm Amazon Web Services (EC2, Elastic MapReduce, DynamoDB, S3, HPC, RedShift), Google (Compute Engine, BigQuery, Prediction API), Microsoft Azure (Azure HDInsight trên nền Hortonworks) và nền tảng mã nguồn mở OpenStack. Tác giả cũng chỉ rõ 7 yếu tố cần thận trọng khi dùng đám mây: tính toàn vẹn dữ liệu, tuân thủ, chi phí, phương thức vận chuyển dữ liệu, thỏa thuận mức dịch vụ (SLA) về hiệu suất, kiểm soát truy cập và vị trí địa lý lưu trữ.
- So sánh các hệ cơ sở dữ liệu:
| Tiêu chí |
Cơ sở dữ liệu quan hệ (RDBMS) |
Cơ sở dữ liệu cặp Khóa - Giá trị (Key-Value) |
Cơ sở dữ liệu tài liệu (Document Store) |
| Đại diện tiêu biểu |
PostgreSQL |
NoSQL Key-Value chung |
MongoDB, CouchDB |
| Cấu trúc dữ liệu |
Bảng, hàng, cột, khóa chính, lược đồ cố định |
Cặp Khóa - Giá trị (Key-Value), không có kiểu, không lược đồ |
Tài liệu dạng JSON/BSON, phân cấp theo bộ sưu tập (collections) |
| Tính toàn vẹn giao dịch |
Tuân thủ tuyệt đối chuẩn ACID |
Không hỗ trợ ACID, tập trung hiệu năng và ghi phân tán |
MongoDB: hỗ trợ con trỏ và Sharding; CouchDB: tuân thủ ACID, hỗ trợ nén |
| Tính nhất quán |
Nhất quán mạnh (Strong Consistency) |
Tính nhất quán cuối cùng (Eventual Consistency) |
Tính nhất quán cuối cùng / Cấu hình theo cụm phân tán |
| Khả năng mở rộng |
Mở rộng theo chiều dọc (Vertical scaling) |
Mở rộng theo chiều ngang (Horizontal scaling) trên nhiều nút |
Mở rộng phân tán qua Sharding (MongoDB) hoặc phân tán vùng (CouchDB) |
CHƯƠNG 2: XÂY DỰNG KHO DỮ LIỆU VĂN BẢN
Chương 2 trình bày phương pháp tiếp cận và kỹ thuật xử lý đối với nguồn dữ liệu phi cấu trúc chiếm hơn 80% tổng dung lượng dữ liệu lớn. Nội dung chương bao gồm:
- Khám phá dữ liệu phi cấu trúc: Nhận diện đặc tính phân tán, không đồng nhất của các định dạng tài liệu, văn bản, bản ghi thoại và nội dung trực tuyến.
- Phân tích văn bản và kỹ thuật khai thác: Quy trình thu thập thông tin tự động, nguyên tắc phân loại văn bản theo chủ đề và trích xuất thực thể.
- Chuyển đổi và tích hợp dữ liệu: Trình bày phương pháp chuyển đổi văn bản phi cấu trúc thành dữ liệu có cấu trúc (Bảng 2-1) và cách thức kết hợp dữ liệu có cấu trúc với dữ liệu phi cấu trúc (Bảng 2-3) nhằm phục vụ công tác báo cáo, phân tích tổng hợp.
- So sánh công cụ và phương thức truy vấn: Hệ thống hóa sự khác biệt giữa truy vấn cơ sở dữ liệu truyền thống, khai thác dữ liệu, tìm kiếm toàn văn và phân tích văn bản chuyên sâu (Bảng 2-2).
- Ứng dụng thực tế: Sử dụng mẫu hồ sơ cuộc gọi (Hình 2-1) làm ví dụ minh họa cho việc trích xuất thông tin phi cấu trúc đưa vào kho dữ liệu phục vụ phân tích nghiệp vụ.
CHƯƠNG 3: HADOOP VÀ THỰC NGHIỆM
Chương 3 đi sâu vào chi tiết kỹ thuật của hệ sinh thái Hadoop và quy trình thực nghiệm hệ thống:
- Cơ chế hoạt động của mô hình MapReduce: Phân tích chi tiết quy trình xử lý luồng dữ liệu qua các bước Split (Hình 3-2), Mapper và Shuffle trên một máy (Hình 3-3), Reduce (Hình 3-4) và mô hình tổng quát (Hình 3-1, Hình 3-11).
- Kiến trúc phân tán của Hadoop cluster: Phân tích hoạt động điều phối tác vụ giữa JobTracker và TaskTracker (Hình 3-6) và kiến trúc Master/Slave của hệ thống tập tin HDFS (Hình 3-7).
- Cơ chế quản lý lưu trữ HDFS: Phân tích quy trình nhân bản block dữ liệu (Hình 3-8), quy trình đọc dữ liệu phân tán (Hình 3-9) và quy trình ghi dữ liệu theo cơ chế ống dẫn (Hình 3-10).
- Thực nghiệm cài đặt và vận hành:
- Cài đặt cụm Hadoop cluster trên hệ điều hành Linux.
- Đăng nhập và phân quyền quản trị cho tài khoản
hduser (Hình 3-12).
- Thực hiện lệnh khởi động toàn bộ các dịch vụ của Hadoop (Hình 3-13) và kiểm tra trạng thái tiến trình (Hình 3-14).
- Kiểm tra và quản lý hệ thống qua các giao diện Web: Quản lý ứng dụng Hadoop All Applications (Hình 3-15), quản lý Namenode (Hình 3-16), quản lý Secondary Namenode (Hình 3-17) và quản lý thư mục Directory (Hình 3-18).
- Thực thi quy trình thao tác dữ liệu: Tạo thư mục
vidu trên máy cục bộ (Hình 3-20), tạo tệp văn bản vanban.txt (Hình 3-21, 3-22), đẩy và sao chép thư mục vidu chứa tệp văn bản vào hệ thống tệp phân tán HDFS (Hình 3-23), và quy trình tắt hệ thống Hadoop an toàn (Hình 3-19).
Kết quả và đóng góp
Đồ án ghi nhận các kết quả nghiên cứu và đóng góp kỹ thuật cụ thể:
- Hệ thống hóa cơ sở lý thuyết toàn diện về Big Data: Tổng hợp và làm rõ kiến trúc 8 lớp của dữ liệu lớn, phân tích mối quan hệ tương hỗ giữa Big Data với công nghệ ảo hóa (Hypervisor) và các mô hình điện toán đám mây (IaaS, PaaS, SaaS, DaaS).
- So sánh có hệ thống các mô hình lưu trữ: Làm rõ ưu điểm, hạn chế và phạm vi ứng dụng của RDBMS (PostgreSQL với chuẩn ACID) so với các hệ cơ sở dữ liệu NoSQL (Key-Value Pair, MongoDB với BSON/GridFS/Sharding, CouchDB với RESTful/nén).
- Làm rõ nguyên lý tính toán và lưu trữ phân tán: Trình bày chi tiết cơ chế hoạt động của mô hình MapReduce (Split - Map - Shuffle - Reduce) và cơ chế đọc/ghi/nhân bản block dữ liệu trong HDFS theo mô hình Master/Slave.
- Triển khai thực nghiệm thành công: Cài đặt, cấu hình và vận hành hoàn chỉnh một cụm Hadoop cluster thử nghiệm; thiết lập tài khoản
hduser; xác thực các dịch vụ nền thông qua hệ thống giao diện Web quản trị (NameNode, Secondary NameNode, All Applications, Directory); thực thi thành công việc nạp và quản lý dữ liệu văn bản mẫu (vanban.txt) trên HDFS.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Quá trình thực nghiệm trong đồ án mới dừng lại ở việc cài đặt, cấu hình cụm Hadoop cluster cơ bản và kiểm thử các thao tác lưu trữ tệp văn bản mẫu (
vanban.txt) với quy mô dung lượng nhỏ; chưa triển khai thử nghiệm trên các cụm phân tán đa máy vật lý quy mô lớn và chưa xử lý các tập dữ liệu thực tế ở mức terabyte hay petabyte.
- Hướng nghiên cứu tiếp: Mở rộng việc lập trình các chương trình MapReduce phức tạp trên nền Hadoop để phân tích chuyên sâu dữ liệu văn bản; tích hợp các công cụ khai phá văn bản tự động và kết nối hệ thống HDFS với các cơ sở dữ liệu NoSQL phân tán (như HBase, MongoDB) để phục vụ bài toán truy vấn thời gian thực.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho:
- Sinh viên chuyên ngành Công nghệ Thông tin, Khoa học Máy tính và Kỹ thuật Dữ liệu đang tiếp cận các khái niệm nền tảng về Big Data, kiến trúc phân tán và mô hình điện toán đám mây.
- Những người nghiên cứu và xây dựng đề tài về hệ sinh thái Apache Hadoop, cần tài liệu tham khảo về luồng hoạt động chi tiết của HDFS, quy trình xử lý MapReduce và các bước cài đặt, cấu hình cụm Hadoop trên môi trường Linux.
- Các phần đáng tham khảo nhất trong tài liệu gồm: sơ đồ và giải thích cơ chế đọc/ghi dữ liệu ống dẫn trong HDFS (Chương 3), bảng so sánh các công cụ lưu trữ NoSQL/RDBMS (Chương 1) và quy trình từng bước khởi tạo, quản lý tệp trên HDFS (Chương 3).
Câu hỏi thường gặp
1. Tác giả đã phân tích những nguyên tắc cốt lõi nào đối với cơ sở hạ tầng vật lý của hệ thống Big Data?
Trong Chương 1, tác giả xác định 5 nguyên tắc ưu tiên cho cơ sở hạ tầng vật lý gồm: Hiệu năng (Performance - đáp ứng tốc độ giao dịch nhanh), Tính sẵn có (Availability - đảm bảo thời gian hoạt động liên tục), Khả năng mở rộng (Scalability - mở rộng dung lượng và năng lực tính toán), Tính linh hoạt (Flexibility - bổ sung hoặc phục hồi tài nguyên nhanh chóng), và Chi phí (Cost - tối ưu ngân sách đầu tư phần cứng, mạng và lưu trữ).
2. Kiến trúc của hệ thống tập tin phân tán HDFS được tổ chức như thế nào?
HDFS được tổ chức theo kiến trúc Master/Slave gồm NameNode (nút chủ quản lý không gian tên và metadata), Secondary NameNode (hỗ trợ kiểm tra và hợp nhất nhật ký chỉnh sửa với ảnh hệ thống), và các DataNode (các nút thợ trực tiếp lưu trữ các block dữ liệu, thực hiện nhân bản block để chống chịu lỗi và giao tiếp với client khi đọc/ghi).
3. Cơ sở dữ liệu MongoDB có những đặc điểm kỹ thuật nổi bật nào được đề cập trong đồ án?
MongoDB là cơ sở dữ liệu tài liệu mã nguồn mở lưu trữ dữ liệu dưới dạng BSON (Binary JSON), tổ chức theo cấu trúc bộ sưu tập (collections) và tài liệu (documents). Hệ sinh thái của MongoDB hỗ trợ cơ chế con trỏ (cursor) giúp đếm và sắp xếp không cần trích xuất dữ liệu, hệ thống tệp GridFS để lưu trữ đối tượng lớn, tích hợp MapReduce để phân tích tổng hợp, và dịch vụ phân mảnh Sharding dựa trên khóa phân mảnh để phân tán dữ liệu trên nhiều máy chủ.
4. Mô hình xử lý dữ liệu MapReduce trải qua các giai đoạn nào để hoàn thành một tác vụ?
Mô hình MapReduce thực thi qua 4 giai đoạn nối tiếp: Giai đoạn Split (chia tệp đầu vào thành các phần nhỏ), giai đoạn Map (các Mapper đọc dữ liệu và sinh ra các cặp khóa - giá trị trung gian), giai đoạn Shuffle & Sort (thu thập, sắp xếp và gom nhóm các giá trị có cùng một khóa từ các nút), và giai đoạn Reduce (hàm Reduce tính toán trên các nhóm giá trị để tạo ra kết quả cuối cùng ghi vào HDFS).
5. Trong phần thực nghiệm của đồ án, tác giả đã tiến hành những thao tác cụ thể nào trên hệ thống Hadoop?
Tác giả đã tạo tài khoản người dùng hduser, khởi động cụm dịch vụ Hadoop, kiểm tra trạng thái hoạt động qua 4 giao diện Web quản trị (All Applications, NameNode, Secondary NameNode, Directory), tạo thư mục vidu và tệp vanban.txt trên máy cục bộ, sau đó thực hiện lệnh sao chép thư mục vidu vào hệ thống tập tin HDFS và cuối cùng thực hiện tắt hệ thống an toàn.
Kết luận
Đồ án tốt nghiệp "Áp dụng các kỹ thuật trong Big Data vào lưu trữ dữ liệu" của sinh viên Nguyễn Chí Thanh đã hệ thống hóa đầy đủ cơ sở lý luận về kiến trúc dữ liệu lớn, công nghệ ảo hóa, điện toán đám mây và các hệ quản trị cơ sở dữ liệu hiện đại. Đề tài làm rõ nguyên lý thiết kế và quy trình vận hành phân tán của khung tính toán MapReduce cùng hệ thống tập tin HDFS trong hệ sinh thái Apache Hadoop. Đồng thời, tác giả đã triển khai thực nghiệm thành công việc cài đặt cụm Hadoop cluster, kiểm tra các dịch vụ qua giao diện quản trị Web và thao tác lưu trữ dữ liệu văn bản trên môi trường phân tán.