Tìm hiểu sâu về cách triển khai tìm kiếm vector mới của PlanetScale: Tích hợp SPANN và SPFresh

BigGo Editorial Team
Tìm hiểu sâu về cách triển khai tìm kiếm vector mới của PlanetScale: Tích hợp SPANN và SPFresh

Cộng đồng cơ sở dữ liệu đang sôi nổi bàn luận về cách tiếp cận sáng tạo trong việc triển khai tìm kiếm vector của PlanetScale, vốn khác biệt với các giải pháp thông thường bởi khả năng tích hợp hoàn toàn với động cơ InnoDB của MySQL trong khi vẫn duy trì tính tuân thủ ACID. Sự phát triển này đánh dấu một bước tiến quan trọng trong công nghệ tìm kiếm vector, đặc biệt đối với các tổ chức làm việc với cơ sở dữ liệu quy mô lớn.

Đổi mới Kỹ thuật đằng sau Triển khai

Việc triển khai tìm kiếm vector của PlanetScale nổi bật nhờ tận dụng hai bài báo nghiên cứu từ Microsoft Research: SPANN (Space-Partitioned Approximate Nearest Neighbors) và SPFresh. Khác với các phương pháp truyền thống như HNSW hoặc DiskANN, triển khai này giải quyết được nhiều hạn chế quan trọng:

  • Hỗ trợ Giao dịch Đầy đủ : Hệ thống duy trì tính tuân thủ ACID trong khi xử lý các thao tác vector, cho phép phản ánh ngay lập tức các thay đổi trong chỉ mục khi giao dịch hoàn tất.
  • Khả năng Mở rộng Vượt RAM : Không giống HNSW đòi hỏi toàn bộ dữ liệu phải vừa trong RAM, triển khai của PlanetScale xử lý hiệu quả các chỉ mục lớn hơn RAM thông qua việc sử dụng SSD.
  • Tính Ổn định của Chỉ mục : Hệ thống loại bỏ nhu cầu xây dựng lại chỉ mục định kỳ, một hạn chế phổ biến trong các triển khai HNSW.

Chi tiết Kiến trúc Kỹ thuật

Việc triển khai bao gồm một số tính năng đáng chú ý được tiết lộ qua thảo luận cộng đồng:

  1. Hệ thống Cột Ẩn : Quản lý dữ liệu vector sử dụng một cột ẩn trong bảng, tạo điều kiện cập nhật vector hiệu quả thông qua cơ chế xóa-chèn trong chỉ mục vector.

  2. Tối ưu hóa Lưu trữ : Hiện đang sử dụng lưu trữ khối thô cho dữ liệu vector, với việc thử nghiệm đang diễn ra các thuật toán lượng tử hóa cho phiên bản GA.

  3. Tích hợp B-tree : Đội ngũ đã phát triển các giải pháp đặc biệt để điều chỉnh phương pháp tập trung vào LSM tree của SPFresh để hoạt động hiệu quả với cấu trúc dựa trên B-tree phổ biến trong cơ sở dữ liệu quan hệ.

Mở rộng Theo Chiều Ngang và Tích hợp

Một điểm mạnh chính của việc triển khai là khả năng tương thích với lớp phân mảnh của PlanetScale, cho phép mở rộng theo chiều ngang cho các cụm có kích thước petabyte. Các chỉ mục vector hoạt động như các bảng tiêu chuẩn trong cụm, đảm bảo hiệu suất mở rộng có thể dự đoán được.

Các chỉ số hiệu suất về khả năng mở rộng theo chiều ngang của PlanetScale trong tìm kiếm vector
Các chỉ số hiệu suất về khả năng mở rộng theo chiều ngang của PlanetScale trong tìm kiếm vector

Khả năng Tương thích và Cân nhắc Hệ sinh thái

Việc triển khai duy trì tính tương thích cú pháp với các trường vector và hàm so sánh của MySQL 9, mặc dù dựa trên MySQL 8. Cách tiếp cận này thể hiện cam kết của PlanetScale trong việc giảm thiểu sự phân mảnh hệ sinh thái trong khi vẫn thúc đẩy các tính năng đổi mới.

Hạn chế Hiện tại và Phát triển Tương lai

Mặc dù việc triển khai xuất sắc trong nhiều lĩnh vực, cần lưu ý rằng:

  • Không thể tách biệt lưu trữ và tính toán do cam kết duy trì tính tuân thủ ACID
  • Giai đoạn beta hiện tại sử dụng lưu trữ khối thô, dẫn đến việc sử dụng ổ đĩa cao hơn
  • Các thuật toán lượng tử hóa vẫn đang được đánh giá cho phiên bản GA

Đội ngũ phát triển đã cho biết một bài báo chi tiết về các phần mở rộng tính giao dịch cho SPFresh sẽ được công bố, hứa hẹn những hiểu biết sâu sắc hơn về cách tiếp cận mới của họ trong việc triển khai tìm kiếm vector.