Bối cảnh và vấn đề nghiên cứu

Trong kỷ nguyên bùng nổ thông tin số, dữ liệu trên Internet gia tăng liên tục với khối lượng khổng lồ và định dạng đa dạng. Mặc dù nguồn tài nguyên thông tin rất phong phú, người dùng vẫn gặp nhiều khó khăn trong việc tiếp cận chính xác nội dung cần tìm do sự phân mảnh và rời rạc của các nguồn dữ liệu. Công cụ tìm kiếm (Search Engine) đóng vai trò trung gian thiết yếu giúp kết nối nhu cầu thông tin của người dùng với nguồn dữ liệu phân tán. Tuy nhiên, để một hệ thống Search Engine hoạt động hiệu quả, bài toán đặt ra là cần xây dựng một kiến trúc lưu trữ và xử lý dữ liệu tập trung, có khả năng quản lý đồng thời dữ liệu có cấu trúc, bán cấu trúc và phi cấu trúc, đồng thời hỗ trợ phân tích thông minh doanh nghiệp (Business Intelligence - BI) và học máy (Machine Learning).

Kiến trúc Data Lakehouse xuất hiện như một mô hình hiện đại, kết hợp tính linh hoạt, khả năng mở rộng với chi phí thấp của Data Lake và các tính năng quản trị dữ liệu, đảm bảo tính toàn vẹn giao dịch (ACID) của Data Warehouse. Nhằm giải quyết tình trạng phân tán dữ liệu và tối ưu hóa hạ tầng cho công cụ tìm kiếm, đề tài khóa luận "Xây dựng Data Lakehouse cho hệ thống Search Engine" đã được thực hiện.

Nhiệm vụ nghiên cứu của khóa luận được xác định cụ thể gồm 3 nhiệm vụ chính:

  1. Tìm hiểu cơ sở lý thuyết về Data Lakehouse, Apache Hadoop, Apache Superset và hệ thống Search Engine.
  2. Tìm hiểu phương pháp và quy trình xây dựng Data Lakehouse trên nền tảng Hadoop, sử dụng các công cụ cần thiết dựa trên cơ sở lý thuyết đã nghiên cứu.
  3. Thực hiện xây dựng hệ thống Data Lakehouse cho hệ thống Search Engine nhằm quản lý các loại tài liệu đa định dạng: văn bản Word, PDF, CSV, cùng dữ liệu từ các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, MongoDB.

Mục tiêu cụ thể của đề tài bao gồm:

  • Nghiên cứu cơ sở lý thuyết về Data Lakehouse, Apache Hadoop, Apache Superset và các thuật toán Machine Learning ứng dụng trong Data Lakehouse.
  • Nghiên cứu phương pháp thiết kế và xây dựng Data Lakehouse trên nền tảng phân tán Hadoop.
  • Nghiên cứu phương pháp tạo và trích xuất các lớp siêu dữ liệu (Metadata) phục vụ cho Data Lake.
  • Ứng dụng kết quả nghiên cứu để triển khai thực nghiệm một hệ thống Data Lakehouse phục vụ cho Search Engine.
  • Đánh giá, phân tích và giải thích kết quả thử nghiệm.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Kiến trúc Data Lakehouse, nền tảng lưu trữ và tính toán phân tán Apache Hadoop (HDFS, YARN, MapReduce), công cụ Business Intelligence Apache Superset, hệ quản trị cơ sở dữ liệu MySQL, cấu trúc tệp siêu dữ liệu hệ thống tệp phân tán (fsimage) và thuật toán gợi ý (Recommendation).
  • Phạm vi dữ liệu: Quản lý và xử lý các tệp dữ liệu văn bản, tệp PDF, CSV, hình ảnh, video và dữ liệu có nguồn gốc từ SQL Server, MySQL, MongoDB.
  • Phạm vi không gian và môi trường thực nghiệm: Hệ thống được thiết lập trên hạ tầng điện toán đám mây Amazon Web Services (AWS Cloud) với 4 máy ảo Amazon EC2 chạy hệ điều hành Ubuntu Server 18.04 LTS.
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 23/02/2022 đến tháng 06/2022 thuộc khóa đào tạo 2018 – 2022 của ngành Kỹ thuật Dữ liệu, Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng hệ thống dựa trên sự kết hợp của các khối kiến thức lý thuyết về kiến trúc dữ liệu và công nghệ phần mềm phân tán:

  • Khung lý thuyết về Search Engine: Nghiên cứu cấu trúc chuẩn gồm 4 thành phần chức năng: Trình thu thập dữ liệu (Spider/Crawler/Bot), công cụ lập chỉ mục (Index), bộ phân tích truy vấn (Analysis) và trang hiển thị kết quả tìm kiếm (SERP). Khóa luận khảo sát hệ thống tìm kiếm của Google (với chỉ mục hàng trăm tỷ trang web, chiếm khoảng 90% thị phần toàn cầu, xử lý hàng nghìn tỷ lượt tìm kiếm mỗi năm và ghi nhận 15% truy vấn mới mỗi ngày) cùng các công cụ tìm kiếm đặc thù khác như Ecosia, Dogpile, Yippy, Wayback Machine, SearchTeam, TinEye. Về mặt kinh tế, nghiên cứu viện dẫn số liệu SEO giúp tối ưu hóa ROI và tiết kiệm 61% chi phí so với phương thức tiếp thị qua điện thoại (telemarketing).
  • Khung lý thuyết về Data Lakehouse: Mô hình kiến trúc hợp nhất triển khai các cấu trúc dữ liệu và chức năng quản lý của Data Warehouse trực tiếp trên nền tảng lưu trữ tệp tin mở của Data Lake. Các đặc điểm cốt lõi gồm: hỗ trợ giao dịch ACID, thực thi và quản trị lược đồ (Schema enforcement and governance), hỗ trợ BI trực tiếp, tách biệt tài nguyên lưu trữ và tính toán (Separate storage and compute resources), tính mở (Openness), hỗ trợ đa dạng kiểu dữ liệu (phi cấu trúc, bán cấu trúc, có cấu trúc), hỗ trợ phân luồng dữ liệu liên tục (End-to-end streaming), đọc/ghi đồng thời và tiêu chuẩn hóa định dạng lưu trữ. Khảo sát nền tảng Databricks Lakehouse cho thấy dịch vụ SQL Analytics trên Data Lake có thể đem lại hiệu năng trên chi phí tốt hơn tới 9 lần cho các tác vụ BI so với kho dữ liệu đám mây truyền thống.
  • Khung công nghệ Apache Hadoop: Nền tảng tính toán phân tán mã nguồn mở phát triển bằng Java, hỗ trợ mô hình xử lý song song MapReduce và hệ thống tệp phân tán HDFS. Cấu trúc cụm bao gồm nút chính (Master Node: JobTracker, TaskTracker, NameNode, DataNode) và nút công nhân (Worker/Slave Node: DataNode, TaskTracker). Hệ thống phân chia thành 4 mô-đun chính: Hadoop Common, Hadoop YARN, HDFS và Hadoop MapReduce.
  • Khung công cụ Apache Superset: Nền tảng BI mã nguồn mở cho phép trực quan hóa dữ liệu thông qua các biểu đồ, dashboard tương tác, kết nối linh hoạt với nhiều hệ quản trị cơ sở dữ liệu quan hệ và công cụ truy vấn (MySQL, PostgreSQL, Oracle, SQLite, Presto, Trino, ClickHouse, Google BigQuery, Snowflake, Amazon Redshift...). Văn bản cũng chỉ ra nhược điểm của Superset là chưa hỗ trợ phần lớn cơ sở dữ liệu NoSQL và giới hạn thời gian thực thi truy vấn tuần tự dưới 60 giây.
Tiêu chí so sánh Data Warehouse truyền thống Data Lake Data Lakehouse
Loại dữ liệu hỗ trợ Chủ yếu là dữ liệu có cấu trúc (Structured data) Đa dạng: phi cấu trúc, bán cấu trúc, có cấu trúc Đa dạng từ phi cấu trúc, bán cấu trúc đến có cấu trúc
Chi phí lưu trữ Chi phí cao do gắn liền tài nguyên tính toán Chi phí thấp trên các hệ thống tệp mở/cloud Chi phí thấp nhờ tách biệt lưu trữ và tính toán
Tính năng giao dịch Hỗ trợ đầy đủ giao dịch ACID Thường không hỗ trợ hoặc hỗ trợ hạn chế Hỗ trợ giao dịch ACID và quản trị lược đồ
Khả năng phục vụ BI/ML Tối ưu cho báo cáo BI, khó khăn với ML Phục vụ tốt cho Data Science/ML, hạn chế với BI Phục vụ trực tiếp cả khối lượng công việc BI và ML
Độ trễ và sao chép Phải trích xuất, chuyển đổi và nạp (ETL) nhiều lớp Dữ liệu thô, dễ dẫn đến hiện tượng Data Swamp Truy cập trực tiếp lớp dữ liệu hợp nhất, giảm dư thừa

Phương pháp nghiên cứu thực tế bao gồm:

  • Phương pháp tổng hợp và phân tích lý thuyết: Nghiên cứu tài liệu học thuật, tài liệu kỹ thuật về kiến trúc Cloud, Hadoop, HDFS, Superset và Data Lakehouse.
  • Phương pháp thiết kế và thực nghiệm hệ thống: Thiết lập hạ tầng gồm 4 nút máy ảo trên AWS EC2, cấu hình cụm phân tán Hadoop, cài đặt hệ quản trị MySQL và môi trường ảo Python cho Apache Superset.
  • Phương pháp xử lý và trích xuất siêu dữ liệu: Thu thập tệp trạng thái không gian tên HDFS (fsimage), sử dụng các câu lệnh SQL để bóc tách cấu trúc metadata nạp vào MySQL.
  • Phương pháp trực quan hóa và khai phá dữ liệu: Xây dựng các biểu đồ phân tích thống kê trên Apache Superset và tích hợp thuật toán gợi ý (Recommendation) cho tập dữ liệu tìm kiếm.

Thiết kế và triển khai

Hệ thống Data Lakehouse cho Search Engine được thiết kế với kiến trúc tổng thể gồm các tầng chức năng rõ ràng, giải quyết luồng dữ liệu từ khi tiếp nhận đến khi phục vụ người dùng cuối:

Thành phần kỹ thuật Công nghệ / Nền tảng sử dụng Vai trò và chức năng trong hệ thống
Hạ tầng máy chủ AWS EC2 (Ubuntu Server 18.04 LTS) Cung cấp cụm 4 máy ảo phân tán (1 Master Node, 3 Worker Nodes) có Elastic IP cố định
Công cụ kết nối từ xa PuTTY, PuTTYgen, WinSCP Quản lý kết nối SSH qua cặp khóa Private Key (.ppk) và truyền nhận tệp an toàn
Lớp lưu trữ Data Lake Hadoop Distributed File System (HDFS) Đóng vai trò lớp Staging lưu trữ tệp thô (Word, PDF, CSV, hình ảnh, video); xuất tệp fsimage
Lớp quản lý phân tán Hadoop YARN & MapReduce Điều phối tài nguyên tính toán và quản lý các tiến trình xử lý phân tán trên cụm
Lớp lưu trữ Metadata MySQL Database Server Lưu trữ các bảng siêu dữ liệu đã được trích xuất từ fsimage phục vụ truy vấn SQL
Lớp hiển thị và BI Apache Superset (Python virtualenv) Cung cấp giao diện trực quan hóa, tạo dashboard thống kê số lượng và dung lượng tệp
Lớp tính toán thông minh Thuật toán Machine Learning (Recommendation) Ứng dụng thuật toán gợi ý nội dung tìm kiếm dựa trên dữ liệu đã được lập chỉ mục

Quy trình triển khai kỹ thuật được thực hiện theo các bước tuần tự:

  1. Khởi tạo hạ tầng điện toán đám mây: Tạo 4 phiên bản Amazon EC2 sử dụng hình ảnh Ubuntu Server 18.04 LTS (HVM), SSD Volume Type. Cấu hình Security Group, tạo cặp khóa Key Pair, gán 4 địa chỉ Elastic IP cố định cho các phiên bản để duy trì Public IPv4 DNS.
  2. Cấu hình truy cập và môi trường mạng: Sử dụng PuTTYgen chuyển đổi khóa .pem sang định dạng .ppk, cấu hình phiên làm việc trên PuTTY để kết nối SSH với tài khoản ubuntu. Sử dụng WinSCP để truyền dữ liệu giữa máy tính cá nhân và cụm EC2. Cập nhật hostname trên cả 4 máy thành Public IPv4 DNS tương ứng và thiết lập tệp điều hướng /etc/hosts.
  3. Cài đặt và cấu hình cụm Apache Hadoop: Thiết lập biến môi trường JAVA_HOME, chỉnh sửa các tệp cấu hình hệ thống bao gồm core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml. Khởi tạo thư mục dữ liệu Data Dir, tạo SSH Key và thiết lập ủy quyền SSH không cần mật khẩu giữa Master Node và các Worker Nodes. Khởi chạy các dịch vụ HDFS và YARN, kiểm tra giao diện quản trị NameNode/DataNode.
  4. Cài đặt và kết nối cơ sở dữ liệu MySQL: Cài đặt MySQL Service trên máy chủ, thiết lập tài khoản người dùng, cấp quyền truy cập từ xa và tạo cơ sở dữ liệu mới để lưu trữ dữ liệu siêu dữ liệu.
  5. Cài đặt Apache Superset: Thiết lập môi trường ảo Python (Python virtual environment), kích hoạt môi trường và cài đặt Superset cùng các gói phụ thuộc. Khởi tạo cơ sở dữ liệu nội bộ của Superset, tạo tài khoản quản trị (admin), cấu hình nạp dữ liệu và khởi động dịch vụ web của Superset trên máy ảo.
  6. Xử lý trích xuất Metadata và tích hợp BI: Nạp các loại tệp dữ liệu vào HDFS. Hệ thống tự động ghi nhận và chuyển đổi trạng thái tệp thành tệp fsimage. Thực hiện trích xuất dữ liệu từ fsimage thành các bảng Metadata trong MySQL với các trường thông tin: tên tệp (File_Name), định dạng tệp (Format_File), thời gian chỉnh sửa (ModificationTime), thời gian truy cập (Access Time) và kích thước tệp (File Size). Kết nối MySQL với Superset để chạy các truy vấn SQL và trực quan hóa dữ liệu qua biểu đồ.

Nội dung chính theo từng chương

Chương 1: Mở đầu

Chương này trình bày tính cấp thiết của đề tài trong bối cảnh khối lượng thông tin trực tuyến bùng nổ, dẫn đến nhu cầu cấp bách về một hệ thống tìm kiếm thông minh và nền tảng lưu trữ tập trung. Tác giả xác định mục tiêu nghiên cứu cơ sở lý thuyết về Data Lakehouse, Apache Hadoop, Apache Superset, quy trình trích xuất metadata và ứng dụng Machine Learning. Chương mở đầu cũng làm rõ cách tiếp cận nghiên cứu, phương pháp triển khai thực nghiệm, kết quả dự kiến đạt được và cấu trúc tổng thể gồm 8 chương của báo cáo.

Chương 2: Tổng quan về Search Engine

Chương 2 phân tích chuyên sâu về khái niệm và nguyên lý hoạt động của Search Engine. Nội dung tập trung mô tả chi tiết 4 thành phần cơ bản: Spider/Crawler, Index, Analysis và bảng kết quả tìm kiếm (SERP). Tác giả trình bày các lợi ích kinh tế - kỹ thuật của Search Engine như tối ưu ROI, tiết kiệm 61% chi phí so với tiếp thị qua điện thoại, nâng cao trải nghiệm người dùng và xây dựng nhận diện thương hiệu. Đồng thời, chương này chỉ ra lý do tại sao hệ thống Search Engine hiện đại bắt buộc phải dựa trên nền tảng lưu trữ Data Lakehouse để đáp ứng yêu cầu xử lý dữ liệu đa cấu trúc quy mô lớn.

Chương 3: Tổng quan về Data Lakehouse

Chương 3 giới thiệu bản chất của kiến trúc Data Lakehouse - giải pháp kết hợp giữa Data Lake và Data Warehouse. Tác giả phân tích các công nghệ cốt lõi cấu thành Lakehouse gồm: các lớp metadata cho Data Lake, thiết kế công cụ truy vấn SQL hiệu năng cao và cơ chế tối ưu hóa truy cập cho Data Science/Machine Learning. Ngoài ra, chương này liệt kê 10 đặc điểm vận hành của Lakehouse (hỗ trợ giao dịch, quản trị lược đồ, hỗ trợ BI, tách biệt lưu trữ - tính toán, tính mở, xử lý đa dạng dữ liệu, đa dạng khối lượng công việc, streaming end-to-end, đọc/ghi đồng thời, chuẩn hóa định dạng) cùng các lợi ích giúp giảm thiểu chi phí quản lý và loại bỏ dư thừa dữ liệu.

Chương 4: Khảo sát hiện trạng

Chương 4 khảo sát thực trạng ứng dụng các kiến trúc dữ liệu và công cụ tìm kiếm hiện nay. Tác giả đi sâu phân tích nền tảng Databricks Lakehouse dựa trên công nghệ Delta Lake và dịch vụ SQL Analytics (mang lại hiệu năng/chi phí tốt hơn tới 9 lần cho BI trên Data Lake, hỗ trợ môi trường Multicloud). Về khía cạnh tìm kiếm, chương khảo sát các công cụ phổ biến gồm Google, Ecosia, Dogpile, Yippy, Wayback Machine, SearchTeam và TinEye. Trong đó, hệ thống Google Search Engine được phân tích toàn diện từ quy trình thu thập dữ liệu tự động, tổ chức chỉ mục hàng trăm tỷ trang web, thuật toán xếp hạng tức thời, cơ chế kiểm định chất lượng nghiêm ngặt đến cam kết duy trì dịch vụ tìm kiếm mở và miễn phí.

Chương 5: Tổng quan về Apache Hadoop, Apache Superset

Chương 5 cung cấp nền tảng kỹ thuật chi tiết về hai công cụ mã nguồn mở chủ chốt:

  • Apache Hadoop: Trình bày cấu trúc Master-Worker, các thành phần JobTracker, TaskTracker, NameNode, DataNode và 4 mô-đun Common, YARN, HDFS, MapReduce. Phân tích quy trình xử lý dữ liệu qua 3 giai đoạn của Hadoop cùng ưu điểm về khả năng chịu lỗi và tính sẵn sàng cao (FTHA).
  • Apache Superset: Trình bày các tính năng nổi bật (hiệu năng xử lý cao, giao diện trực quan, khả năng mở rộng, hỗ trợ danh mục rộng các hệ quản trị cơ sở dữ liệu), lợi ích về bảo mật và khả năng truy vấn tương tác. Đồng thời, tác giả thẳng thắn chỉ ra các nhược điểm của Superset về việc chưa hỗ trợ NoSQL và giới hạn thời gian truy vấn 60 giây ở chế độ tuần tự.

Chương 6: Xây dựng Data Lake trên nền tảng Hadoop

Chương 6 luận giải nhu cầu thực tiễn và tính khả thi khi lựa chọn Hadoop làm nền tảng xây dựng Data Lake. Tác giả phân tích kiến trúc tổng quan của Data Lake trên HDFS, nhấn mạnh khả năng lưu trữ linh hoạt các định dạng tệp không quan hệ (JSON, log, hình ảnh, video, văn bản) với chi phí thấp và cơ chế chia nhỏ khối dữ liệu để phân phối xử lý song song trên các nút trong cụm.

Chương 7: Xây dựng Data Lakehouse cho hệ thống Search Engine

Chương 7 là nội dung thực nghiệm trọng tâm của khóa luận. Tác giả trình bày từng bước thiết lập hệ thống thực tế:

  • Triển khai cụm 4 máy ảo Ubuntu 18.04 LTS trên AWS EC2, gán Elastic IP và cấu hình mạng.
  • Sử dụng PuTTY và WinSCP để điều khiển, truyền nhận tệp.
  • Cài đặt, cấu hình các tệp tham số và vận hành cụm Apache Hadoop phân tán.
  • Cài đặt hệ quản trị MySQL, thiết lập cơ sở dữ liệu metadata.
  • Cài đặt Apache Superset trong môi trường ảo Python và kết nối với MySQL.
  • Nạp dữ liệu vào HDFS, trích xuất cấu trúc tệp siêu dữ liệu fsimage thành các bảng dữ liệu: Metadata Fsimage, Metadata File Name, Metadata Format_file, Metadata ModificationTime, Metadata Access Time, Metadata File Size.
  • Thực hiện các câu lệnh truy vấn SQL (SELECT WHERE, GROUP BY) để phân tích dữ liệu.
  • Xây dựng các biểu đồ BI trên Superset thể hiện: số lượng tệp theo mốc thời gian tải lên, số lượng tệp theo từng định dạng và tỷ trọng phân bố của từng loại tệp.
  • Áp dụng thuật toán gợi ý (Recommendation) phục vụ tính năng tìm kiếm thông minh.
  • Đánh giá so sánh với kiến trúc Data Warehouse truyền thống và phân tích các mặt hạn chế còn tồn tại của hệ thống thực nghiệm.

Chương 8: Kết luận

Chương 8 tổng kết toàn bộ kết quả nghiên cứu và thực nghiệm mà nhóm tác giả đã hoàn thành, đồng thời đề xuất các hướng phát triển tiếp theo nhằm mở rộng quy mô dữ liệu và nâng cao năng lực phân tích cho hệ thống trong tương lai.


Kết quả và đóng góp

Khóa luận đã đạt được các kết quả kỹ thuật cụ thể được ghi nhận trong báo cáo:

  • Thiết lập thành công hạ tầng phân tán trên nền tảng đám mây: Khởi tạo và cấu hình hoàn chỉnh cụm phân tán 4 nút máy ảo Amazon EC2 chạy Ubuntu Server 18.04 LTS trên AWS Cloud, duy trì kết nối mạng ổn định thông qua Elastic IP và giao thức SSH.
  • Xây dựng thành công Data Lake trên Hadoop HDFS: Cấu hình chuẩn xác các tệp hệ thống (core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml), tạo lập không gian lưu trữ HDFS tiếp nhận trực tiếp nhiều định dạng tệp tài liệu (Word, PDF, CSV, hình ảnh, video).
  • Trích xuất và quản lý siêu dữ liệu hiệu quả: Khai thác thành công tệp hệ thống fsimage từ HDFS, chuyển đổi cấu trúc nhị phân thành các bảng siêu dữ liệu quan hệ trong MySQL. Các thuộc tính metadata được quản lý chi tiết bao gồm: File_Name, Format_File, ModificationTime, Access Time và File Size.
  • Triển khai hệ thống phân tích Business Intelligence (BI): Vận hành Apache Superset trong môi trường ảo Python, kết nối thành công với cơ sở dữ liệu MySQL để thực thi các truy vấn SQL phân tích (sử dụng mệnh đề GROUP BY theo định dạng tệp, SELECT ... WHERE theo tên và thời gian). Trực quan hóa kết quả thành các biểu đồ thống kê số lượng tệp tải lên theo thời gian, phân bố số lượng và tỷ trọng của từng loại định dạng tệp.
  • Tích hợp mô hình học máy: Bước đầu áp dụng thuật toán Recommendation trên nền dữ liệu đã xử lý để hỗ trợ cơ chế gợi ý cho Search Engine.

Đóng góp của đề tài so với các nghiên cứu trước:

  • Đề xuất một quy trình xây dựng kiến trúc Data Lakehouse mẫu ở quy mô nghiên cứu ứng dụng, kết hợp hài hòa giữa nền tảng phân tán mã nguồn mở Apache Hadoop và công cụ BI Apache Superset.
  • Đưa ra giải pháp kỹ thuật cụ thể trong việc sử dụng tệp fsimage của HDFS làm nguồn trích xuất siêu dữ liệu, thay thế cho lớp trung gian (staging) phức tạp, giúp đơn giản hóa quy trình chuyển đổi dữ liệu và giảm thiểu chi phí triển khai hệ thống.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận đã thẳng thắn chỉ ra các hạn chế kỹ thuật trong quá trình thực nghiệm:

  • Quy mô dữ liệu thử nghiệm: Do giới hạn tài nguyên tính toán và thời gian nghiên cứu, dữ liệu thử nghiệm chủ yếu tập trung vào các tệp dữ liệu có cấu trúc và tệp tài liệu cơ bản được nạp trực tiếp qua lệnh/HUE mà chưa tích hợp sâu các công cụ nạp dữ liệu quan hệ tự động như Apache Sqoop.
  • Hạn chế của công cụ BI: Apache Superset chưa hỗ trợ mạnh mẽ các cơ sở dữ liệu NoSQL; đồng thời ở chế độ chạy tuần tự, công cụ chỉ hỗ trợ các truy vấn thực thi dưới 60 giây, đòi hỏi người quản trị phải có kiến thức về tối ưu hóa SQL.
  • Mức độ hoàn thiện của thuật toán Machine Learning: Thuật toán Recommendation mới dừng lại ở bước áp dụng thử nghiệm ban đầu trên tập siêu dữ liệu mẫu, chưa được đánh giá sâu về độ chính xác trên các tập dữ liệu lớn trong môi trường thực tế.

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Mở rộng khả năng tích hợp dữ liệu từ nhiều nguồn phân tán phức tạp hơn (bao gồm các hệ quản trị NoSQL như MongoDB và cơ sở dữ liệu quan hệ SQL Server qua các đường ống dữ liệu tự động).
  • Tối ưu hóa hiệu năng truy vấn trên Data Lakehouse và nâng cấp cấu hình thực thi phân tán cho Apache Superset.
  • Hoàn thiện và nâng cao độ chính xác của các mô hình Machine Learning phục vụ gợi ý nội dung và xếp hạng kết quả tìm kiếm cho Search Engine.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các nhóm đối tượng sau:

  • Sinh viên và học viên ngành Kỹ thuật Dữ liệu, Khoa học Dữ liệu, Công nghệ Thông tin: Cung cấp tài liệu hướng dẫn từng bước (step-by-step) về cách khởi tạo máy ảo AWS EC2, cấu hình mạng, phân bổ SSH Key, cài đặt cụm phân tán Apache Hadoop và thiết lập Apache Superset trong môi trường Python.
  • Kỹ sư dữ liệu (Data Engineers) và nhà nghiên cứu kiến trúc dữ liệu: Tham khảo mô hình thiết kế Data Lakehouse sử dụng HDFS và MySQL để quản lý metadata thông qua tệp fsimage, phục vụ các bài toán phân tích BI với chi phí tối ưu.
  • Người phát triển hệ thống tìm kiếm (Search Engine): Tham khảo cấu trúc tổ chức dữ liệu đa định dạng và phương pháp lập chỉ mục siêu dữ liệu làm nền tảng cho các thuật toán phân tích và gợi ý nội dung.

Các phần có giá trị tham khảo cao nhất trong tài liệu:

  • Chương 5 và Chương 6: Hệ thống hóa lý thuyết về cấu trúc Master-Worker của Hadoop và nguyên lý vận hành Data Lake trên HDFS.
  • Chương 7: Quy trình chi tiết kèm hình ảnh minh họa về cấu hình các tệp hệ thống của Hadoop (core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml), các bước cài đặt Superset và phương pháp truy vấn trích xuất siêu dữ liệu từ fsimage.

Câu hỏi thường gặp

1. Khóa luận giải quyết vấn đề gì khi kết hợp kiến trúc Data Lakehouse với hệ thống Search Engine?
Khóa luận giải quyết tình trạng phân mảnh và rời rạc của các nguồn dữ liệu đa định dạng (Word, PDF, CSV, hình ảnh, video). Bằng cách tích hợp dữ liệu vào một nguồn lưu trữ tập trung trên Data Lakehouse, hệ thống vừa lưu trữ được khối lượng dữ liệu lớn với chi phí thấp của Data Lake, vừa quản trị siêu dữ liệu và hỗ trợ truy vấn SQL/BI của Data Warehouse, từ đó tối ưu hóa tốc độ và độ chính xác cho công cụ tìm kiếm.

2. Mô hình thực nghiệm của đề tài được triển khai trên môi trường phần cứng và hạ tầng mạng như thế nào?
Hệ thống thực nghiệm được triển khai trên nền tảng đám mây AWS Cloud, bao gồm 4 máy ảo Amazon EC2 chạy hệ điều hành Ubuntu Server 18.04 LTS (HVM) với ổ đĩa SSD. Mỗi máy ảo được gán một địa chỉ Elastic IP cố định để duy trì Public IPv4 DNS và kết nối an toàn qua giao thức SSH bằng cặp khóa Private Key (.ppk) thông qua PuTTY và WinSCP.

3. Trong kiến trúc của nhóm tác giả, tệp fsimage của Hadoop HDFS đóng vai trò gì và được xử lý ra sao?
Tệp fsimage là tệp lưu trữ ảnh chụp không gian tên và siêu dữ liệu hệ thống tệp của NameNode trong HDFS. Nhóm tác giả sử dụng các câu lệnh SQL để chuyển đổi và trích xuất thông tin từ fsimage thành các lớp Metadata có cấu trúc (gồm tên tệp, định dạng, thời gian sửa đổi, thời gian truy cập, kích thước) và nạp vào cơ sở dữ liệu MySQL để phục vụ truy vấn BI và thuật toán học máy.

4. Apache Superset và MySQL được tích hợp vào hệ thống Data Lakehouse nhằm mục đích gì?
MySQL đóng vai trò là hệ quản trị cơ sở dữ liệu quan hệ lưu trữ các bảng siêu dữ liệu đã được trích xuất từ HDFS. Apache Superset được kết nối trực tiếp với MySQL để thực thi các câu truy vấn SQL tương tác và trực quan hóa dữ liệu thành các biểu đồ thống kê (số lượng tệp theo định dạng, dung lượng, mốc thời gian tải lên), hỗ trợ chức năng Business Intelligence (BI) cho hệ thống.

5. Những hạn chế kỹ thuật nào của Apache Superset được ghi nhận trong tài liệu?
Tài liệu chỉ ra rằng Apache Superset chưa hỗ trợ hầu hết các cơ sở dữ liệu NoSQL. Ngoài ra, khi vận hành ở chế độ tuần tự (sequential mode), công cụ này chỉ có thể thực thi các câu truy vấn có thời gian chạy dưới 60 giây và yêu cầu người dùng phải có hiểu biết nhất định về ngôn ngữ SQL.


Kết luận

Khóa luận tốt nghiệp "Xây dựng Data Lakehouse cho hệ thống Search Engine" của sinh viên Phạm Văn Hùng và Trịnh Công Viễn (Trường Đại học Sư phạm Kỹ thuật TP.HCM) đã nghiên cứu toàn diện cơ sở lý thuyết và triển khai thành công mô hình thực nghiệm Data Lakehouse trên nền tảng đám mây AWS. Đề tài kết hợp hiệu quả hệ thống lưu trữ phân tán Apache Hadoop HDFS, hệ quản trị cơ sở dữ liệu MySQL và công cụ trực quan hóa Apache Superset để quản lý, trích xuất siêu dữ liệu và phân tích đa dạng loại tệp tài liệu. Công trình mang lại giá trị tham khảo thực tiễn cao cho sinh viên và kỹ sư dữ liệu trong việc thiết kế kiến trúc dữ liệu hiện đại phục vụ các hệ thống tìm kiếm thông minh.