MỞ ĐẦU 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI Thông tin là nhu cầu cơ bản của con người trong mọi lĩnh vực. Mỗi phút trôi qua, hàng triệu dữ liệu được cập nhật để làm phong phú thêm nguồn tài nguyên này. Mặc dù Internet, nơi được xem là một thư viện toàn cầu, có đủ thông tin để tìm kiếm, nhưng nó vẫn không thể đáp ứng được đầy đủ nhu cầu của mọi người.
Chìa khóa nằm ở sự thấu hiểu giữa con người và các công cụ tìm kiếm. Bởi vì nếu dữ liệu quá đa dạng mà người dùng không tìm thấy được thứ họ đang tìm kiếm thì cũng vô ích. Nhằm giải quyết vấn đề này thì công cụ tìm kiếm Search Engine đã ra đời. Để xây dựng một hệ thống công cụ tìm kiếm, trước tiên bạn cần có một hệ thống Data Lakehouse phù hợp, tích hợp dữ liệu vào một nguồn, cùng một định dạng, giải quyết tình trạng phân mảnh và rời rạc dữ liệu, đáp ứng mọi nhu cầu.
Tiết kiệm được tối đa thời gian và tăng hiệu quả khi tìm kiếm dữ liệu bạn cần. Vì thế nhóm chúng tôi thực hiện đề tài này để tạo ra một Data Lakehouse phục vụ cho hệ thống Search Engine trên nền tảng Hadoop. Data Lakehouse là một sự thay đổi mô hình mới trong kiến trúc dữ liệu nhằm đẩy mạnh những tiến bộ công nghệ trong phân phối cơ sở hạ tầng và dịch vụ phần mềm. Nó không những chỉ là một giải pháp thay thế mà còn là một giải pháp tích hợp cho Data Warehouse hoặc Data Lake trong phạm vi dung lượng và độ trễ cho phép.
Data Lakehouse lý tưởng cho các tổ chức tập trung cao vào việc đưa ra các quyết định theo hướng dữ liệu yêu cầu áp dụng nhanh các tài nguyên mới. Cung cấp một kiến trúc thống nhất cho business intelligence (BI) và phân tích khám phá, độ trễ dữ liệu thấp, ổ đĩa, Lakehouse là khoản đầu tư chiến lược có lợi nhất và sẽ cung cấp một giải pháp toàn diện bền vững hơn cho các doanh nghiệp với mức đầu tư ít hơn. MỤC TIÊU CỦA ĐỀ TÀI Mục tiêu của đề tài là tập trung nghiên cứu cơ sở lý thuyết của Data Lakehouse, Search Engine, Apache Hadoop, một số công cụ hỗ trợ BI (Business Intelligence), cách triển khai Machine Learning đối với Data Lakehouse và cách xây dựng Data Lakehouse trên nền tảng Hadoop. Từ đó tiến hành xây dựng một Data Lakehouse cho hệ thống Search Engine.
Trong đề tài, chúng tôi muốn tạo ra một Data Lakehouse cho hệ thống Search Engine để quản lý các loại tài liệu: word, pdf, csv, dữ liệu từ SQL server, 1 MySQL, Mongodb,. Để đạt được những vấn đề đã nêu trên chúng tôi tập trung tìm hiểu một số vấn đề sau: • Tìm hiểu cơ sở lý thuyết Data Lakehouse, Apache Hadoop, Apache Superset, các thuật toán Machine Leaning cho Data LakeHouse. • Nghiên cứu phương pháp xây dựng Data Lakehouse trên nền tảng Hadoop. • Nghiên cứu cách tạo và lấy các lớp MetaData của dữ liệu cho DataLake.
• Ứng dụng những nghiên cứu để tiến hành xây dựng Data Lakehouse cho hệ thống Search Engine. • Đánh giá và giải thích kết quả. CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU Đối với đề tài này nhóm sẽ tìm hiểu các cơ sở lý thuyết từ các nguồn tài liệu như sách, báo, những bài viết học thuật, những trang web trên Internet mà ta có thể dựa vào đó học hỏi để nghiên cứu. Sau đó nhóm sẽ tiến hành cài đặt những công cụ cần thiết phục vụ cho đề tài để triển khai, tiến hành tạo và kết nối những thành phần cần thiết cho Data Lakehouse.
Tiếp theo nhóm sẽ thực hiện đưa dữ liệu vào Data Lakehouse, thực hiện truy vấn, phân tích, thực thi BI (Business Intelligence) cuối cùng lả kiểm tra kết quả và sửa lỗi. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC Nhóm thực hiện đề tài mong muốn, sau một quá trình nghiên cứu nhiều công trình cũng như các ứng dụng từ các tác giả đi trước, nhóm có thể tổng hợp được một bài báo cáo khai thác về nội dung kiến thức cũng như cách vận dụng những công cụ để xây dựng Data Lakehouse. Mặt khác, từ việc xây dựng Data Lakehouse cho hệ thống Search Engine nhóm cũng sẽ có được nhiều ý tưởng cho các Data Lakehouse của nhiều nguồn dữ liệu khác nhau cũng như phát triển lên nhiều ứng dụng khác nhau. Về phần ứng dụng, để trực quan hóa những nghiên cứu nhóm sẽ xây dựng một Data Lakehouse đơn giản để quản lý nhiều loại tài liệu khác nhau nhằm có một cái nhìn cụ thể hơn cũng như thấy được sự hữu ích khi áp dụng vào thực tế.
BỐ CỤC CỦA BÀI BÁO CÁO Phần còn lại của báo cáo tiểu luận được tổ chức như sau: Chương 2: Tổng quan về Search Engine 2 Chương 3: Tổng quan về Data LakeHouse Chương 4: Khảo sát hiện trạng Chương 5: Tổng quan về Apache Hadoop, Apache Superset Chương 6: Xây dựng Data Lake trên nền tảng Hadoop Chương 7: Xây dựng Data Lakehouse cho hệ thống Search Engine Chương 8: Kết luận 3 CHƯƠNG 2: TỔNG QUAN VỀ SEARCH ENGINE 2. KHÁI NIỆM VỀ SEARCH ENGINE Search engine (Công cụ tìm kiếm) là một chương trình phần mềm giúp mọi người tìm thấy thông tin mà họ đang tìm kiếm trực tuyến bằng cách sử dụng các từ khoá hoặc cụm từ. Các công cụ Search Engine có thể trả về kết quả nhanh chóng - ngay cả đối với hàng triệu trang web trực tuyến - bằng cách liên tục thu thập thông tin trên Internet và lập chỉ mục mọi trang mà công cụ này tìm thấy. Khi người dùng nhập một cụm từ tìm kiếm, công cụ Search Engine sẽ kiểm tra tiêu đề, nội dung và từ khóa của trang web mà nó đã lập chỉ mục và sử dụng các thuật toán (hoạt động từng bước) để tạo ra danh sách từ khóa trang web, các thông tin về sản phẩm, dịch vụ, tin tức, … Với các kết quả phù hợp nhất ở dầu của danh sách.
Các kết quả được trả về sẽ được sắp xếp theo một thứ tự nhất định bằng các thuật toán tìm kiếm của công cụ Search Engine. Tùy thuộc vào mỗi Search Engine, chúng ta lại có một thuật toán tìm kiếm khác nhau. Vì không có sự can thiệp bởi con người, nên những kết quả trả về này còn được gọi là kết quả tìm kiếm tự nhiên (Organic Search Traffic). Hiện nay, một công cụ tìm kiếm phổ biến là Google, đây được xem là công cụ tìm kiếm được sử dụng rộng rãi để tìm kiếm hàng ngày, hàng giờ nhằm đáp ứng đầy đủ nhu cầu thông tin cũng như cập nhật những tin tức mới nhất.
Như chúng ta có thể thấy, Google là nơi mà các chuyên gia SEO và nhà tiếp thị tin tưởng để tìm kiếm khách hàng tiềm năng. Google nắm giữ khoảng 90% thị phần trong danh sách Search Engine của thế giới. Ngoài việc mang lại kết quả tốt nhất, Google còn chia sẻ thói quen truy cập web của người dùng để phục vụ cho các chiến dịch quảng cáo. Đây là một ví dụ điển hình về Search Engine mà chúng ta có thể hình dung.
CẤU TRÚC VÀ ĐẶC TÍNH CỦA SEARCH ENGINE Hiện nay, Search Engine thường được cấu tạo gồm 4 bộ phận chính, nhằm giảm thiểu tối đa thời gian tìm kiếm thông tin cho người dùng. Cụ thể: Spider (còn được gọi là “Crawler” hay “Bot“): Là một công cụ giúp Search Engine thu thập dữ liệu của một thành phần nào đó, bao gồm dữ liệu thông tin về nội dung, số lượng, nguồn gốc, tần suất xuất hiện,… Nội dung có thể khác nhau - có thể là 4 trang web, hình ảnh, video, PDF,. - nhưng bất kể định dạng nào, nội dung sẽ được phát hiện bởi liên kết. Việc thu thập dữ liệu của Spider sẽ được thực hiện không ngừng từ bất kỳ tệp dữ liệu nào và sẽ chỉ kết thúc khi tất cả các tệp có liên quan được thu thập dữ liệu hết.
Công cụ lập chỉ mục – Index: Các công cụ tìm kiếm, xử lý và lưu trữ thông tin được tìm thấy trong một chỉ mục, một cơ sở dữ liệu khổng lồ về tất cả các nội dung được tìm thấy, đủ lớn để phục vụ người dùng. Phân tích (Analysis): Khi một người nhập từ khóa trên trang tìm kiếm. Lúc này, công cụ tìm kiếm sẽ phân tích hệ thống máy chủ để tìm ra những nguồn phù hợp nhất cho từ khóa đã nhập. Đối với các trang web, việc phân tích này được dựa trên mức độ liên quan của từ khóa, vị trí địa lý, thói quen… của người dùng.
Bảng kết quả tìm kiếm(SERP): Kết quả tìm kiếm, sau khi được xử lý và xếp hạng bởi công cụ tìm kiếm lấy kết quả, sẽ được hiển thị trên bảng kết quả. Ví dụ, chúng ta vẫn thấy khi sử dụng Google. LỢI ÍCH CỦA SEARCH ENGINE Tối ưu tỷ lệ lợi nhuận thu được so với chi phí đầu tư: Một lợi ích quan trọng của SEO (Search Engine Optimization) là giúp tối ưu hóa ROI (Return On Investment – tỷ lệ lợi nhuận thu được so với chi phí đầu tư). Vì vậy, việc xác định đúng từ khóa tìm kiếm phù hợp để tăng lượng người dùng vào các trang web là rất quan trọng.
Điều này giúp doanh nghiệp thu thập thông tin chi tiết về số lượng khách hàng tiềm năng. Hành vi của khách hàng từ lựa chọn đến mua hàng cũng được coi trọng. Ngoài ra, hãy biết những từ khóa nào thu hút tỷ lệ khách hàng hoàn thành đơn đặt hàng của họ cao nhất. Từ đó, giúp tăng lượng truy cập và chuyển đổi trang web.
Nó cũng giúp cải thiện tỷ suất lợi nhuận của doanh nghiệp. Tiết kiệm chi phí: SEO là một hình thức Marketing dựa trên việc sáng tạo ra nội dung hấp dẫn thu hút sự quan tâm của khách hàng. Theo nghiên cứu thì SEO có thể tiết kiệm được 61% chi phí so với bán hàng qua điện thoại. Cải thiện trải nghiệm người dùng: Trong quá trình tối ưu hóa SEO, các doanh nghiệp đã và đang không ngừng cải thiện cấu trúc các trang web của họ.
Họ cập nhật nội dung của họ, để cung cấp cho khách hàng những trải nghiệm tốt nhất. 5 Hỗ trợ phân tích khách hàng: SEO đóng vai trò quan trọng trong việc hỗ trợ các doanh nghiệp thực hiện phân tích khách hàng. Từ đó, giúp doanh nghiệp tìm được đối tượng, chân dung khách hàng tiềm năng của mình. Lựa chọn phương pháp marketing một cách hiệu quả để thu hút tối đa sự quan tâm của khách hàng.
Mang đến uy tín cho doanh nghiệp: Nếu doanh nghiệp có thứ hạng càng cao trên các công cụ tìm kiếm thì càng được nhiều khách hàng biết đến và tin tưởng. Nhờ đó mang đến uy tín cho doanh nghiệp trên thị trường.