Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh chuyển đổi số và sự phát triển của công nghệ thông tin, dữ liệu đã trở thành tài sản chiến lược và nền tảng cốt lõi cho mọi quy trình ra quyết định trong doanh nghiệp. Sự gia tăng vượt bậc về khối lượng, tốc độ và chủng loại dữ liệu từ các hoạt động trực tuyến, mạng xã hội và hệ thống giao dịch đặt ra thách thức lớn đối với các hệ thống quản trị cơ sở dữ liệu truyền thống. Đối với ngành bán lẻ, việc nắm bắt hành vi, dự đoán nhu cầu và sở thích của khách hàng đóng vai trò quyết định trong việc tối ưu hóa trải nghiệm người dùng, gia tăng hiệu quả kinh doanh thông qua bán thêm (up-sale), bán chéo (cross-sale) và giữ chân khách hàng.
Khóa luận tốt nghiệp kỹ sư ngành Kỹ thuật Phần mềm của nhóm tác giả Nguyễn Quốc An và Lưu Hoàng Hiệp (Trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM, năm 2021), dưới sự hướng dẫn của PGS.TS Vũ Đức Lung và ThS Đỗ Thị Thanh Tuyền, tập trung giải quyết bài toán lưu trữ, quản lý và khai thác dữ liệu lớn thông qua đề tài: "Xây dựng DataLake hỗ trợ gợi ý tập khách hàng trong ngành bán lẻ" (Build Data Lake to support suggesting customer group in retail industries).
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu tổng quát của đề tài là nghiên cứu, thiết kế và hiện thực hóa một hệ thống Data Lake kết hợp với hệ thống khuyến nghị (Recommender System) tại chỗ (on-premise) nhằm hỗ trợ doanh nghiệp bán lẻ thu thập, phân tích dữ liệu đa nguồn và đưa ra các đề xuất sản phẩm phù hợp theo thời gian thực.
Các mục tiêu và nhiệm vụ cụ thể được xác định trong văn bản bao gồm:
- Nghiên cứu khảo sát các khái niệm chuyên ngành về Dữ liệu lớn (Big Data), Data Lake, Data Warehouse và các nền tảng xử lý dữ liệu lớn hiện hành (Hadoop Ecosystem, SMACK, Mongo ELK).
- Phân tích ưu, nhược điểm của các kiến trúc hệ thống dữ liệu lớn, đặc biệt là kiến trúc Lambda (với ba tầng: Batch Layer, Speed Layer và Serving Layer).
- Thiết kế và triển khai hệ thống Data Lake tại chỗ (on-premise) dựa trên các công nghệ mã nguồn mở (Hadoop, HDFS, YARN, Zookeeper, Kafka, Confluent, Dremio, PostgreSQL, HBase, Sqoop).
- Nghiên cứu lý thuyết, phương pháp tiếp cận và các thuật toán trong hệ thống khuyến nghị (Collaborative Filtering, Content-Based Filtering, Hybrid Recommended, Session-Based Filtering, Reinforcement Learning).
- Lựa chọn và thực nghiệm giải thuật máy học phù hợp (Fast Incremental Matrix Factorization với Incremental Stochastic Gradient Descent - ISGD) cùng các độ đo tương đồng (Cosine Similarity, Pearson correlation coefficient, Euclidean Distance).
- Xây dựng và tích hợp hệ thống khuyến nghị thời gian thực với Data Lake, hoàn thiện giao diện trực quan cho người dùng và quản trị viên.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Nền tảng lưu trữ dữ liệu lớn (Data Lake), kiến trúc xử lý phân tán và hệ thống khuyến nghị (Recommender System) ứng dụng trong phân tích hành vi khách hàng ngành bán lẻ.
- Phạm vi không gian và công nghệ: Các hệ thống dữ liệu lớn on-premise dành cho doanh nghiệp vừa và nhỏ, khai thác hệ sinh thái phần mềm mã nguồn mở của Apache và Confluent.
- Phạm vi thời gian thực hiện: Đề tài được triển khai trong thời gian 15 tuần (từ ngày 01/09/2020 đến ngày 21/01/2021), chia thành 3 giai đoạn:
- Phase 1 (01/09/2020 – 31/10/2020): Nghiên cứu Big Data, kiến trúc Lambda và triển khai hạ tầng Data Lake.
- Phase 2 (02/11/2020 – 31/12/2020): Nghiên cứu thuật toán và xây dựng hệ thống Recommender System.
- Phase 3 (02/01/2021 – 21/01/2021): Hoàn thiện và tổng kiểm thử hệ thống.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và khái niệm cốt lõi
Khóa luận xây dựng nền tảng lý luận dựa trên các khái niệm và mô hình kỹ thuật sau:
- Đặc trưng 6V của Dữ liệu lớn: Hệ thống hóa 6 thuộc tính cơ bản của Big Data gồm: Dung lượng (Volume), Vận tốc (Velocity), Đa dạng (Variety - có cấu trúc và phi cấu trúc), Biến thiên (Variability), Giá trị (Value) và Độ xác thực (Veracity).
- Kiến trúc Lambda: Khung kiến trúc tích hợp xử lý lô (Batch Layer) và xử lý luồng thời gian thực (Speed Layer), phục vụ dữ liệu đồng nhất qua tầng Serving Layer.
- Customer Data Platform (CDP) & Single Customer View (SCV): Mô hình hợp nhất toàn bộ dữ liệu hành vi, nhân khẩu học và giao dịch của khách hàng thành một góc nhìn duy nhất nhằm phục vụ phân khúc và cá nhân hóa.
- Mô hình hệ thống khuyến nghị (Recommender System):
- Lọc cộng tác (Collaborative Filtering): Khai thác ma trận tương tác User - Item dựa trên hành vi quá khứ; chia thành tiếp cận dựa trên bộ nhớ (Memory-Based: User-based, Item-based) và dựa trên mô hình (Model-Based).
- Lọc dựa trên nội dung (Content-Based Filtering): Đề xuất dựa trên các thuộc tính của sản phẩm và hồ sơ sở thích của người dùng.
- Phân rã ma trận gia số nhanh (Fast Incremental Matrix Factorization): Áp dụng thuật toán tối ưu hóa Incremental Stochastic Gradient Descent (ISGD) với phản hồi tích cực (Positive Feedback) để cập nhật mô hình học máy theo thời gian thực mà không cần tính toán lại toàn bộ ma trận dữ liệu lịch sử.
| Khái niệm / Đơn vị |
Định nghĩa / Giá trị quy đổi trong văn bản |
| Byte (B) |
8 bits |
| Kilobyte (KB) |
$1024\text{ B} = 2^{10}\text{ bytes}$ |
| Megabyte (MB) |
$1024\text{ KB} = 10^6\text{ bytes}$ |
| Gigabyte (GB) |
$1024\text{ MB} = 10^9\text{ bytes}$ |
| Terabyte (TB) |
$1024\text{ GB} = 10^{12}\text{ bytes}$ |
| Petabyte (PB) |
$1024\text{ TB} = 10^{15}\text{ bytes}$ |
| Exabyte (EB) |
$1024\text{ PB} = 10^{18}\text{ bytes}$ |
| Zettabyte (ZB) |
$1024\text{ EB} = 10^{21}\text{ bytes}$ |
| Yottabyte (YB) |
$1024\text{ ZB} = 10^{24}\text{ bytes}$ |
Phương pháp nghiên cứu
- Phương pháp phân tích - tổng hợp lý thuyết: Khảo sát các nền tảng thương mại và hệ thống thực tế (Steam, Shopee, YouTube, Netflix, Amazon) để phân tích yêu cầu kỹ thuật cho Data Lake và Recommender System.
- Phương pháp thiết kế kiến trúc phần mềm: Mô hình hóa nghiệp vụ thông qua sơ đồ Use Case, Product Backlog, User Story; thiết kế kiến trúc phân tán đa tầng kết hợp xử lý dữ liệu lô và luồng.
- Phương pháp thực nghiệm kỹ thuật: Cài đặt, cấu hình các dịch vụ mã nguồn mở trên môi trường máy chủ cục bộ; thực nghiệm thu nhận dữ liệu, trích xuất dữ liệu dạng cột (Columnar format) qua Dremio và kiểm thử thuật toán ISGD trên luồng dữ liệu thời gian thực.
Nguồn dữ liệu
Nghiên cứu sử dụng nguồn dữ liệu mô phỏng và log giao dịch bán lẻ (gồm thông tin danh mục sản phẩm, lịch sử xem, giỏ hàng, giao dịch mua hàng, đánh giá sản phẩm) cùng các luồng sự kiện truyền phát liên tục từ ứng dụng người dùng.
Thiết kế và triển khai
Khóa luận là công trình thuộc loại đồ án xây dựng hệ thống phần mềm và hạ tầng kỹ thuật phân tán, gồm các nội dung thiết kế và triển khai chi tiết:
Kiến trúc tổng thể hệ thống
Hệ thống được thiết kế theo mô hình kiến trúc Lambda cải tiến, tích hợp giữa Data Lake và Recommender System:
[Nguồn Dữ Liệu: Web / App / DB]
Thành phần công nghệ và công cụ triển khai
- Môi trường & Nền tảng: Oracle JDK, DAV, hệ điều hành Linux.
- Hệ sinh thái lưu trữ & Quản lý cụm:
- Hadoop Distributed File System (HDFS): Hoạt động theo kiến trúc Master-Slave (NameNode và DataNode). Kích thước khối mặc định được cấu hình là 64MB (hỗ trợ điều chỉnh lên 128MB, 256MB); hệ số nhân bản (replication factor) mặc định là 3 (1 bản sao cùng giá máy chủ, 2 bản sao ở giá máy chủ khác); chu kỳ nhịp tim (heartbeat) giữa DataNode và NameNode là 3 giây (nếu mất 10 nhịp liên tiếp tương đương 30 giây, NameNode đánh dấu nút lỗi và điều hướng truy xuất sang bản sao dự phòng).
- YARN (Yet Another Resource Negotiator): Thay thế mô hình JobTracker/TaskTracker truyền thống bằng 4 dịch vụ độc lập: Resource Manager, Node Manager, Container và Application Manager.
- Apache Zookeeper: Đảm nhiệm vai trò quản lý không gian tên phân cấp, cấu hình và đồng bộ hóa trạng thái cụm phân tán.
- Nền tảng truyền phát và tích hợp sự kiện (Event Streaming):
- Apache Kafka & Confluent Platform: Tổ chức dữ liệu theo các Chủ đề (Topic). Cung cấp các thành phần: Kafka Brokers, Java Client API (Producer API, Consumer API, Streams API, Connect API), Confluent Control Center, KsqlDB, Schema Registry và Confluent REST Proxy.
- Công cụ truy vấn và xử lý phân tán:
- Dremio: Công cụ tăng tốc truy vấn dữ liệu phân tán trực tiếp trên HDFS và PostgreSQL bằng cách ánh xạ dữ liệu theo định dạng cột (Columnar format).
- Apache Spark: Tích hợp các module Spark Core, Spark SQL, Spark Streaming, GraphX và MLlib. Văn bản trích dẫn số liệu hiệu năng: Spark có tốc độ xử lý trên bộ nhớ nhanh hơn 100 lần so với MapReduce và nhanh hơn 10 lần khi thao tác trên đĩa cứng; hỗ trợ đa ngôn ngữ gồm Java, Python, Scala và R.
- Cơ sở dữ liệu & Tích hợp: PostgreSQL, Apache HBase, Apache Sqoop.
Thiết kế hệ thống khuyến nghị và giao diện
- Module xử lý học máy: Kết hợp bộ lọc Collaborative Filtering (gợi ý theo hành vi nhóm người dùng tương đồng) và Content-Based Filtering (gợi ý theo đặc tính sản phẩm). Triển khai thuật toán Fast Incremental Matrix Factorization với kỹ thuật cập nhật trọng số gia số ISGD khi nhận tín hiệu phản hồi tích cực từ khách hàng.
- Giao diện người dùng (UI): Thiết kế các phân hệ màn hình chức năng bao gồm: Màn hình quản lý Data Lake, Màn hình truy xuất thông tin Data Lake, Màn hình xem chi tiết dữ liệu Data Lake, Màn hình chính Recommender System, Màn hình tìm kiếm sản phẩm và Màn hình hiển thị sản phẩm khuyến nghị / sản phẩm tương tự.
Nội dung chính theo từng chương
Chương 1: Tổng quan đề tài
Trình bày lý do lựa chọn đề tài xuất phát từ nhu cầu thực tiễn của ngành bán lẻ trong việc tối ưu hóa trải nghiệm khách hàng (User Experience) và nâng cao hiệu suất kinh doanh. Xác định mục tiêu, phạm vi tiếp cận hệ thống dữ liệu lớn on-premise và hệ thống khuyến nghị. Phác thảo nội dung triển khai gồm tìm hiểu lý thuyết Big Data, khảo sát thị trường, thiết kế và hiện thực hóa hệ thống Data Lake kết hợp Recommender System.
Chương 2: Dữ liệu lớn là gì, các khái niệm chuyên ngành cần làm rõ
Khảo sát thực trạng gia tăng dữ liệu trong các hệ thống trực tuyến. Phân tích chi tiết 6 đặc trưng của Big Data (6V): Volume, Velocity, Variety, Variability, Value, Veracity. Dẫn chứng số liệu thực tế về tốc độ sinh dữ liệu trên toàn cầu trong mỗi 60 giây (168 triệu email được gửi, 98.000 tweet mới trên Twitter, 698.445 lượt tìm kiếm trên Google, 1.820TB dữ liệu được tạo ra). Phân biệt dữ liệu có cấu trúc và phi cấu trúc; so sánh hạ tầng lưu trữ đám mây (Cloud) với hạ tầng tại chỗ (On-premise).
Chương 3: Hệ sinh thái Hadoop
Trình bày chi tiết kiến trúc và cơ chế hoạt động của Apache Hadoop và các dự án liên quan:
- HDFS: Cơ chế NameNode, DataNode, metadata, xử lý lỗi chịu lỗi (Fault Tolerance), cấu hình block size 64MB và cơ chế heartbeat 3 giây.
- MapReduce & YARN: Mô hình Map-Reduce (cặp key-value) và sự chuyển đổi sang YARN với các thành phần Resource Manager, Node Manager, Container, Application Manager.
- Các thành phần bổ trợ: Apache Zookeeper (đồng bộ hóa cụm), Apache Kafka (Producer, Consumer, Broker, Topic), Confluent Platform (Schema Registry, KsqlDB, REST Proxy, Control Center) và Apache Spark (Spark Core, SQL, Streaming, MLlib, GraphX với hiệu năng vượt trội MapReduce).
Chương 4: Hệ thống khuyến nghị là gì, các khái niệm và thuật toán được áp dụng
Định nghĩa hệ thống khuyến nghị như một phân hệ của hệ thống lọc thông tin (Information Filtering System). Phân tích hai hướng tiếp cận chính: Collaborative Filtering (User-based và Item-based) và Content-Based Filtering. Giới thiệu giải thuật Fast Incremental Matrix Factorization with Positive Feedback dựa trên phương pháp Stochastic Gradient Descent (SGD) cải tiến thành Incremental SGD (ISGD) giúp cập nhật ma trận trọng số liên tục trên từng điểm dữ liệu mới.
Chương 5: Phân tích thiết kế hệ thống
Trình bày kiến trúc Customer Data Platform (CDP) và Single Customer View (SCV). Khảo sát các mô hình khuyến nghị thực tế của Steam, Shopee, YouTube, Netflix và Amazon. Xác định Use Case, phân tích nghiệp vụ, xây dựng Product Backlog và User Story cho cả hai phân hệ Data Lake và Recommender System. Phác thảo sơ đồ thiết kế giao diện tương tác cho người dùng và quản trị viên.
Chương 6: Xây dựng Data Lake
Trình bày ý tưởng thiết kế Data Lake đáp ứng khả năng lưu trữ linh hoạt dữ liệu đa cấu trúc, phân tách rõ ràng giữa tầng lưu trữ dữ liệu thô và tầng xử lý phục vụ học máy.
Chương 7: Hiện thực hóa ý tưởng về DataLake
Quy định cấu hình yêu cầu phần cứng và phần mềm. Hướng dẫn từng bước thiết lập môi trường làm việc: cài đặt DAV, Oracle JDK, Apache Hadoop, Apache Kafka, Dremio, Sqoop, PostgreSQL và Apache HBase. Thực hiện ánh xạ dữ liệu thô lên Dremio theo định dạng cột (Columnar format) để tối ưu hóa hiệu năng truy vấn.
Chương 8: Xây dựng Recommender System và tổng quan của toàn bộ hệ thống
Hiện thực hóa module khai thác dữ liệu và huấn luyện mô hình khuyến nghị. Xây dựng giao diện hiển thị kết quả gợi ý sản phẩm theo Collaborative Filtering và Content-Based Filtering. Trình bày sơ đồ kiến trúc tích hợp hoàn chỉnh của toàn bộ hệ thống kết nối giữa Data Lake, Kafka, Dremio và giao diện web.
Chương 9: Kết luận và hướng phát triển
Đánh giá tổng kết kết quả đạt được, phân tích ưu điểm về khả năng mở rộng, chi phí vận hành tại chỗ và tính linh hoạt trong xử lý dữ liệu lớn; đồng thời chỉ rõ các hạn chế kỹ thuật hiện tại và đề xuất định hướng phát triển trong tương lai.
Chương 10: Tài liệu tham khảo
Liệt kê danh mục tài liệu nghiên cứu, sách chuyên ngành và tài liệu kỹ thuật nguồn mở về Big Data, Hadoop, Kafka và Recommender Systems.
Kết quả và đóng góp
Kết quả chính đạt được
- Xây dựng hoàn chỉnh hạ tầng Data Lake on-premise kết hợp xử lý lô và xử lý luồng, tích hợp thành công các công nghệ HDFS, YARN, Zookeeper, Kafka, Dremio và PostgreSQL.
- Hiện thực hóa quy trình ánh xạ dữ liệu bán lẻ theo định dạng cột (Columnar) trên Dremio, giúp giảm thiểu độ trễ truy xuất dữ liệu lớn phục vụ phân tích.
- Triển khai thành công hệ thống khuyến nghị ứng dụng thuật toán Fast Incremental Matrix Factorization với kỹ thuật cập nhật gia số ISGD, cho phép đưa ra gợi ý sản phẩm theo thời gian thực dựa trên luồng sự kiện của khách hàng.
- Xây dựng bộ giao diện trực quan đáp ứng các tác vụ quản trị Data Lake, tra cứu dữ liệu và hiển thị danh mục sản phẩm gợi ý cá nhân hóa cho người dùng.
Đóng góp của đề tài
- Đóng góp lý thuyết: Hệ thống hóa toàn diện các khối kiến trúc phần mềm, nguyên lý vận hành của Hệ sinh thái Hadoop, nền tảng Confluent Kafka và các phương pháp toán học trong hệ thống khuyến nghị hiện đại.
- Đóng góp thực tiễn: Cung cấp giải pháp kỹ thuật tích hợp hoàn chỉnh, chi phí thấp (sử dụng mã nguồn mở trên phần cứng phổ thông), phù hợp để áp dụng cho các doanh nghiệp bán lẻ vừa và nhỏ trong việc quản trị dữ liệu lớn và xây dựng hệ hỗ trợ ra quyết định.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận
- Hệ thống chủ yếu được triển khai và thử nghiệm trên môi trường máy chủ cục bộ (on-premise), chưa đánh giá hiệu năng phân tán trên cụm máy chủ quy mô lớn trong môi trường thực tế của doanh nghiệp.
- Kiến trúc NameNode của HDFS trong thiết lập cơ bản vẫn tồn tại nguy cơ là điểm lỗi đơn lẻ (Single Point of Failure - SPOF) nếu chưa cấu hình cơ chế chuyển đổi dự phòng nâng cao (High Availability).
- Dữ liệu thử nghiệm thuật toán ISGD cần được mở rộng thêm về số lượng thuộc tính và quy mô tương tác để đánh giá toàn diện độ chính xác và độ trễ tính toán.
Hướng phát triển tiếp theo
- Nâng cấp hệ thống Data Lake hỗ trợ tích hợp môi trường lai (Hybrid Cloud), kết nối linh hoạt với các dịch vụ dữ liệu đám mây.
- Bổ sung các giải thuật học tăng cường (Reinforcement Learning) và mô hình gợi ý theo phiên (Session-Based Filtering) nhằm tối ưu hóa chất lượng khuyến nghị theo ngữ cảnh tức thời của khách hàng.
- Hoàn thiện cơ chế tự động hóa đường ống dữ liệu (Data Pipeline) và nâng cao năng lực bảo mật, quản trị phân quyền dữ liệu trên Data Lake.
Giá trị tham khảo
Khóa luận là tài liệu tham khảo chuyên môn hữu ích cho các đối tượng:
- Sinh viên và nghiên cứu sinh: Ngành Kỹ thuật Phần mềm, Khoa học Dữ liệu và Công nghệ Thông tin cần tài liệu nghiên cứu về kiến trúc Big Data, Hệ sinh thái Hadoop và thuật toán Recommender System.
- Kỹ sư dữ liệu (Data Engineers) và Kỹ sư phần mềm: Tham khảo quy trình thiết lập, cấu hình thực tế các công cụ mã nguồn mở (HDFS, YARN, Kafka, Dremio, Spark, Zookeeper) và phương pháp xây dựng hạ tầng Data Lake on-premise.
- Doanh nghiệp ngành bán lẻ: Tham khảo mô hình nền tảng dữ liệu khách hàng (CDP) và giải pháp kiến trúc chi phí thấp để triển khai hệ thống phân tích dữ liệu và gợi ý sản phẩm tự động.
Câu hỏi thường gặp
1. Đề tài lựa chọn mô hình kiến trúc nào để xây dựng Data Lake và gồm những tầng chức năng nào?
Hệ thống được thiết kế dựa trên mô hình kiến trúc Lambda cải tiến, bao gồm 3 tầng chức năng chính:
- Batch Layer (Tầng xử lý lô): Sử dụng Apache Hadoop HDFS để lưu trữ dữ liệu thô phân tán và MapReduce/Spark để xử lý các tác vụ quy mô lớn.
- Speed Layer (Tầng xử lý luồng): Sử dụng Apache Kafka và Confluent Platform để thu nhận, truyền phát và xử lý các luồng sự kiện theo thời gian thực.
- Serving Layer (Tầng phục vụ truy vấn): Sử dụng Dremio và PostgreSQL để ánh xạ dữ liệu theo định dạng cột và phản hồi các truy vấn phân tích, cung cấp dữ liệu cho giao diện người dùng và mô hình học máy.
2. Trong HDFS, cơ chế giám sát hoạt động của các DataNode được thực hiện như thế nào?
DataNode định kỳ gửi tín hiệu nhịp tim (heartbeat) về NameNode với chu kỳ mặc định là 3 giây. Nếu NameNode không nhận được tín hiệu trong 10 chu kỳ liên tiếp (tương đương 30 giây), DataNode đó sẽ bị đánh dấu là đã chết (lỗi). Khi có yêu cầu truy xuất dữ liệu liên quan đến nút lỗi, NameNode sẽ tự động chuyển hướng yêu cầu đến các bản sao dữ liệu dự phòng có sẵn trên DataNode khác.
3. Thuật toán học máy chính được triển khai cho hệ thống khuyến nghị là gì và có ưu điểm gì?
Hệ thống sử dụng thuật toán Fast Incremental Matrix Factorization with Positive Feedback kết hợp phương pháp tối ưu hóa Incremental Stochastic Gradient Descent (ISGD). Điểm cốt lõi của phương pháp này là khả năng cập nhật ma trận phân rã ngay lập tức khi xuất hiện tín hiệu phản hồi tích cực mới từ người dùng (như hành vi xem, thích, mua hàng), giúp hệ thống đưa ra khuyến nghị thời gian thực mà không cần huấn luyện lại toàn bộ ma trận từ đầu.
4. Dremio đóng vai trò gì trong kiến trúc Data Lake của đề tài?
Dremio đóng vai trò là công cụ tăng tốc truy vấn phân tán, thực hiện kết nối và ánh xạ dữ liệu từ HDFS và cơ sở dữ liệu quan hệ (PostgreSQL) theo định dạng cột (Columnar format). Cơ chế này giúp tối ưu hóa tốc độ thực thi các câu lệnh truy vấn SQL phức tạp phục vụ khai thác dữ liệu cho hệ thống máy học và báo cáo.
5. Lợi thế hiệu năng của Apache Spark so với MapReduce được nêu trong tài liệu là gì?
Theo số liệu đối chuẩn được trích dẫn trong khóa luận, Apache Spark lưu trữ và xử lý dữ liệu trực tiếp trong bộ nhớ RAM, mang lại thời gian phản hồi nhanh hơn 100 lần so với MapReduce khi xử lý trong bộ nhớ và nhanh hơn 10 lần so với Hadoop khi thao tác trên đĩa cứng. Ngoài ra, Spark còn hỗ trợ đa ngôn ngữ lập trình gồm Java, Python, Scala và R.
Kết luận
Khóa luận tốt nghiệp của Nguyễn Quốc An và Lưu Hoàng Hiệp đã hoàn thành trọn vẹn mục tiêu thiết kế và triển khai hệ thống Data Lake kết hợp hệ thống khuyến nghị on-premise cho ngành bán lẻ. Đề tài tích hợp thành công các công nghệ phân tán hiện đại gồm Hadoop, Kafka, Dremio và Spark, đồng thời ứng dụng hiệu quả giải thuật Fast Incremental Matrix Factorization với ISGD để xử lý dữ liệu thời gian thực. Kết quả nghiên cứu thể hiện tính ứng dụng thực tiễn cao, cung cấp giải pháp khả thi giúp doanh nghiệp tối ưu chi phí hạ tầng và nâng cao trải nghiệm người dùng thông qua cá nhân hóa đề xuất sản phẩm.