Back to Explore
Bài học xương máu từ việc vận hành hệ thống tìm kiếm trên hàng trăm storefront: Tại sao OpenSearch là lựa chọn thay thế Elasticsearch tối ưu?

Bài học xương máu từ việc vận hành hệ thống tìm kiếm trên hàng trăm storefront: Tại sao OpenSearch là lựa chọn thay thế Elasticsearch tối ưu?

Khám phá hành trình chuyển đổi hạ tầng tìm kiếm từ Elasticsearch sang OpenSearch của một đội ngũ kỹ thuật. Bài viết phân tích sâu về licensing, hiệu năng, và cách tối ưu hóa chi phí vận hành cho hàng trăm storefront thương mại điện tử.

Website
Upvote this postSign in to upvote this article.

Bài viết được dịch và tổng hợp từ tin tức gốc. Bạn có thể đọc bài viết gốc bằng tiếng Anh tại đây.

Điểm tin nhanh:

  • Việc thay đổi giấy phép của Elasticsearch sang SSPL buộc nhiều doanh nghiệp phải tìm kiếm giải pháp thay thế mã nguồn mở thực thụ.
  • OpenSearch, dưới sự bảo trợ của Linux Foundation, cung cấp một nền tảng tìm kiếm ổn định, tuân thủ Apache 2.0 và không bị ràng buộc bởi các điều khoản thương mại khắt khe.
  • Tối ưu hóa hạ tầng tìm kiếm không chỉ là vấn đề kỹ thuật mà còn là bài toán về chi phí nhân sự và hiệu suất chuyển đổi (conversion rate) trong thương mại điện tử.

Trong thế giới thương mại điện tử, tính năng tìm kiếm trên website thường bị đánh giá thấp cho đến khi nó trở thành điểm nghẽn khiến khách hàng rời bỏ trang web. Khi người dùng gõ vài ký tự, họ kỳ vọng kết quả chính xác xuất hiện gần như tức thì. Một sự chậm trễ nhỏ hay kết quả không liên quan đều dẫn đến những "lối thoát thầm lặng" – vấn đề gây tốn kém nhất trong bán lẻ trực tuyến. Tuy nhiên, việc duy trì hạ tầng tìm kiếm không đơn giản như cách chúng ta thực hiện Refactoring Legacy Code: Chiến lược hồi sinh hệ thống cũ trong kỷ nguyên hiện đại.

Cuộc khủng hoảng giấy phép và sự trỗi dậy của OpenSearch

Vào tháng 1 năm 2021, Elastic đã thay đổi giấy phép của Elasticsearch và Kibana từ Apache 2.0 sang Server Side Public License (SSPL). Đây không phải là một giấy phép mã nguồn mở theo định nghĩa của Open Source Initiative. Điều này tạo ra một cú sốc lớn cho các đội ngũ kỹ thuật đang vận hành hệ thống trên nền tảng này.

Ảnh bìa bài viết

AWS đã phản ứng bằng cách fork Elasticsearch và phát hành OpenSearch dưới giấy phép Apache 2.0. Đến tháng 9 năm 2024, dự án này chính thức chuyển sang quản trị bởi Linux Foundation, chấm dứt mọi nghi ngờ về tính độc lập và tương lai lâu dài của dự án.

Bài toán hạ tầng: Xây dựng hay thuê ngoài?

Khi đối mặt với việc hạ tầng cũ dần bị loại bỏ, chúng tôi phải lựa chọn giữa việc tự vận hành cluster OpenSearch hoặc sử dụng dịch vụ quản lý. Việc tự vận hành đòi hỏi nguồn lực khổng lồ cho các tác vụ như lập kế hoạch dung lượng, nâng cấp, giám sát và xử lý sự cố 2 giờ sáng. Thay vì lãng phí 2.000 giờ làm việc mỗi năm cho hạ tầng, chúng tôi chọn giải pháp managed OpenSearch để tập trung vào tối ưu hóa thuật toán tìm kiếm.

Chỉ số Trước khi chuyển đổi Sau khi chuyển đổi (OpenSearch)
Quản lý hạ tầng Tự vận hành (tốn nhân lực) Managed Service (tối ưu)
Giấy phép SSPL (hạn chế) Apache 2.0 (tự do)
Thời gian bảo trì Cao Rất thấp
Hiệu năng truy vấn Trung bình Dưới 1 giây

featured image - What Running Search Across Hundreds of Storefronts Taught Us About the Elasticsearch Fork

Tối ưu hóa trải nghiệm tìm kiếm cho thương mại điện tử

OpenSearch không chỉ giải quyết vấn đề pháp lý mà còn cung cấp các công cụ mạnh mẽ cho thương mại điện tử như:

  • Synonyms & Fuzzy Matching: Đảm bảo khách hàng tìm thấy sản phẩm dù gõ sai chính tả.
  • Function_score: Kết hợp độ liên quan của văn bản với các tín hiệu kinh doanh như trạng thái kho hàng và xếp hạng sản phẩm bán chạy.
  • Post_filter & Aggregations: Cung cấp bộ lọc (facets) thông minh, giúp người dùng thu hẹp kết quả nhanh chóng.

Việc reindexing được thực hiện thông qua index aliases, đảm bảo rằng storefront không bao giờ thấy một chỉ mục đang trong quá trình cập nhật. Đây là kỹ thuật tương tự như cách chúng ta quản lý các tác vụ bất đồng bộ trong WorkIt Receipts: Bước tiến mới trong việc minh bạch hóa vòng đời tác vụ bất đồng bộ.

Brett Bittke

Mẹo hay: Hãy luôn sử dụng index aliases khi thực hiện reindex để đảm bảo tính sẵn sàng cao (High Availability) cho hệ thống tìm kiếm của bạn.

Đánh giá & Lời khuyên Thực tiễn

Từ góc độ kỹ thuật, OpenSearch là một giải pháp thay thế hoàn hảo cho Elasticsearch trong môi trường doanh nghiệp hiện nay.

  • Ưu điểm: Giấy phép Apache 2.0 cực kỳ thoáng, cộng đồng phát triển mạnh mẽ và khả năng tương thích ngược tốt.
  • Nhược điểm: Cần thời gian để đội ngũ làm quen với các công cụ quản trị mới nếu đã quen với hệ sinh thái Elastic cũ.
  • Phạm vi ứng dụng: Phù hợp cho mọi hệ thống từ quy mô vừa đến lớn, đặc biệt là các nền tảng thương mại điện tử cần tùy biến sâu.

Lưu ý: Trước khi quyết định di chuyển, hãy thực hiện benchmark kỹ lưỡng trên tập dữ liệu thực tế để đảm bảo không có sự suy giảm hiệu năng khi chuyển đổi sang các phiên bản OpenSearch mới nhất.

Việc tối ưu hóa hạ tầng cũng quan trọng như việc tối ưu hóa code. Nếu bạn đang gặp khó khăn với hiệu năng database, hãy tham khảo thêm về Tối ưu hóa hiệu năng Database trong ASP.NET Core: Giải pháp định tuyến Read Replica sạch và hiệu quả.

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

OpenSearch có tương thích hoàn toàn với Elasticsearch không?

Có, OpenSearch được fork từ Elasticsearch 7.10.2, do đó hầu hết các API và cấu trúc dữ liệu đều tương thích, giúp việc di chuyển diễn ra rất nhanh chóng.

Tại sao nên chọn Managed OpenSearch thay vì tự host?

Việc tự host OpenSearch đòi hỏi đội ngũ chuyên trách để xử lý các vấn đề về cluster, shard management và bảo mật. Managed service giúp bạn giải phóng 260 ngày làm việc mỗi năm để tập trung vào giá trị cốt lõi của sản phẩm.

Giấy phép SSPL có ảnh hưởng gì đến dự án thương mại của tôi?

SSPL yêu cầu bạn phải mở mã nguồn của toàn bộ dịch vụ nếu bạn cung cấp nó như một dịch vụ quản lý. Điều này không phù hợp với các mô hình kinh doanh SaaS khép kín, đó là lý do tại sao OpenSearch (Apache 2.0) là lựa chọn an toàn hơn.

Kết luận

Việc chuyển đổi sang OpenSearch không chỉ là một quyết định về mặt giấy phép, mà là một bước đi chiến lược để tối ưu hóa chi phí và hiệu năng. Nếu bạn đang vận hành hệ thống dựa trên Elasticsearch cũ, hãy cân nhắc thực hiện phép tính về chi phí nhân sự và rủi ro trước khi quá muộn. Hãy chia sẻ trải nghiệm của bạn hoặc đặt câu hỏi bên dưới để cùng thảo luận, và đừng quên theo dõi hi_dev để cập nhật những xu hướng công nghệ mới nhất.

Discussion (0)

You need to log in to post comments. Log In

No comments yet. Start the discussion!