Trong kỷ nguyên dữ liệu lớn, việc xử lý và phân tích dữ liệu nhanh chóng và hiệu quả là thách thức lớn. Khả năng lọc và truy xuất thông tin liên quan từ tập dữ liệu khổng lồ trở nên quan trọng trong nhiều ứng dụng như khai phá dữ liệu, học máy, phân tích thời gian thực và hỗ trợ ra quyết định. Vì vậy, nghiên cứu và tối ưu hóa các thuật toán lọc đã thu hút sự quan tâm lớn của cộng đồng khoa học và chuyên gia ngành. Các thuật toán lọc giúp cải thiện đáng kể hiệu suất xử lý dữ liệu lớn bằng cách loại bỏ dữ liệu không liên quan hoặc dư thừa, giảm chi phí tính toán và rút ngắn thời gian truy vấn. Hiệu quả của chúng tác động trực tiếp tới hiệu năng tổng thể và khả năng mở rộng của hệ thống xử lý dữ liệu lớn, khiến việc tối ưu hóa thuật toán lọc trở thành lĩnh vực nghiên cứu quan trọng Các thuật toán lọc phổ biến như Bloom Filter, Cuckoo Filter, Quotient Filter, Morton Filter và Vacuum Filter đều có ưu nhược điểm riêng về hiệu quả lưu trữ, tốc độ chèn và truy vấn, tỷ lệ dương tính giả và khả năng thích ứng với đặc tính dữ liệu khác nhau. Việc hiểu rõ sự đánh đổi của từng thuật toán và lựa chọn giải pháp phù hợp cho từng bài toán cụ thể là rất quan trọng để tối ưu hóa hiệu suất xử lý.
Bên cạnh đó, sự phát triển của các framework tính toán phân tán như Apache Spark đã tạo ra cuộc cách mạng trong xử lý dữ liệu lớn thông qua việc cho phép thực thi song song và phân tán các thuật toán lọc trên cụm máy tính lớn. Tích hợp các thuật toán lọc với các framework này hứa hẹn tăng tốc đáng kể tốc độ xử lý và khả năng xử lý khối lượng dữ liệu ngày càng tăng. Tuy nhiên, việc đánh giá và phân tích hiệu năng của các thuật toán lọc trong môi trường phân tán là cần thiết do sự khác biệt với môi trường truyền thống. Nhiều nghiên cứu gần đây đã tập trung vào ứng dụng và cải tiến các bộ lọc cấu trúc dữ liệu xác suất trong nhiều lĩnh vực khác nhau. Maulana et al. (2023) đề xuất sử dụng bộ lọc Bloom, Xor và Cuckoo để tối ưu hóa truy vấn cơ sở dữ liệu cho doanh nghiệp vừa và nhỏ. Ezzaki et al. (2020) cung cấp tổng quan về các biến thể của bộ lọc Bloom. Burdakov et al. (2019) áp dụng Bloom Filter Cascade trên Spark để tối ưu truy vấn SQL. Một số nghiên cứu khác tập trung vào bài toán tìm kiếm và kết hợp tương đồng chuỗi sử dụng các phương pháp lọc. Các nghiên cứu này chỉ ra sự phát triển tích cực và tiềm năng ứng dụng rộng rãi của các phương pháp lọc dữ liệu.
Nghiên cứu này nhằm giải quyết nhu cầu cấp thiết về đánh giá và so sánh toàn diện hiệu năng của các thuật toán lọc khác nhau trong bối cảnh xử lý dữ liệu lớn. Thông qua thử nghiệm và so sánh mở rộng, việc đánh giá ưu nhược điểm của từng thuật toán và sự phù hợp của chúng trong các tình huống cụ thể được thực hiện; đồng thời, nghiên cứu tác động của việc tích hợp các thuật toán này với Apache Spark, chỉ ra tiềm năng cải thiện hiệu suất đáng kể thông qua xử lý song song và phân tán.
Qua quá trình nghiên cứu có thể kết luận như sau: các thuật toán lọc hiệu quả trong môi trường xử lý dữ liệu lớn như Bloom Filter, Cuckoo Filter, Quotient Filter, Morton Filter và Vacuum Filter được trình bày chi tiết và đánh giá hiệu suất. Kết quả thực nghiệm cho thấy Quotient Filter là thuật toán hiệu quả nhất về mặt lưu trữ và cân bằng tốt giữa các tiêu chí hiệu năng. Quotient Filter sử dụng ít không gian lưu trữ nhất cho mỗi phần tử và đạt tốc độ chèn, tìm kiếm, xóa ở mức cao và ổn định. Bên cạnh đó, các thuật toán khác cũng thể hiện những ưu điểm riêng phù hợp với các yêu cầu cụ thể. Bloom Filter có tốc độ tốt, thích hợp cho các ứng dụng yêu cầu chèn và tìm kiếm nhanh trên dữ liệu tĩnh. Morton Filter nổi trội về tốc độ tìm kiếm nhưng chậm hơn khi chèn dữ liệu mới, phù hợp khi ưu tiên tốc độ đọc. Vacuum Filter, mặc dù có thời gian chèn chậm nhất, nhưng cung cấp khả năng tìm kiếm và xóa nhanh, là một lựa chọn tốt cho các trường hợp yêu cầu tìm kiếm và xóa nhanh mà không cần chèn dữ liệu thường xuyên. Khi được triển khai trên nền tảng Spark với khả năng xử lý song song và phân tán, tốc độ xử lý của các thuật toán được cải thiện đáng kể. Đặc biệt, Quotient Filter đạt mức cải thiện vượt bậc, hơn 50% khi chạy trên cluster so với môi trường local. Điều này mở ra triển vọng ứng dụng hiệu quả các thuật toán lọc, đặc biệt là Quotient Filter, để xử lý dữ liệu lớn và phân tán. |