Khi các ứng dụng được thúc đẩy bởi AI chuyển từ thử nghiệm sang các hệ thống sản xuất thời gian thực, kỳ vọng đặt trên tìm kiếm tương đồng vector tiếp tục tăng đáng kể. các nhóm bây giờ cần hỗ trợ tập hợp dữ liệu quy mô hàng tỷ, đồng thời cao, ngân sách độ trễ p99 nghiêm ngặt và mức độ đơn giản hoạt động làm giảm dư thừa kiến trúc thay vì thêm vào nó. ScyllaDB Vector Search được xây dựng với những hạn chế này trong tâm trí. nó cung cấp một công cụ thống nhất để lưu trữ dữ liệu có cấu trúc cùng với các nhúng không có cấu trúc, và nó đạt được hiệu suất đẩy ranh giới của những gì một hệ thống cơ sở dữ liệu được quản lý có thể cung cấp trên quy mô. Kiến trúc trong một cái nhìn Để đạt được hiệu suất đơn millisecond thấp trên các bộ vector lớn, ScyllaDB áp dụng một kiến trúc tách rời các trách nhiệm lưu trữ và lập chỉ mục trong khi giữ cho hệ thống thống thống nhất từ quan điểm của người dùng. Các nút ScyllaDB lưu trữ cả các thuộc tính có cấu trúc và các nhúng vector trong cùng một bảng phân phối. Trong khi đó, một dịch vụ Vector Store chuyên dụng – được thực hiện trong Rust và được cung cấp bởi công cụ USearch được tối ưu hóa để hỗ trợ độ trễ millisecond đơn số có thể dự đoán của ScyllaDB – tiêu thụ các bản cập nhật từ ScyllaDB thông qua CDC và xây dựng các chỉ số gần gũi (ANN) trong bộ nhớ. SELECT … ORDER BY vector_column ANN_OF ? LIMIT k; Sau đó, chúng được định tuyến nội bộ đến Vector Store, thực hiện tìm kiếm tương đồng và trả về các hàng ứng cử viên. thiết kế này cho phép mỗi lớp để mở rộng độc lập, tối ưu hóa cho đặc điểm tải công việc của riêng mình và loại bỏ sự can thiệp tài nguyên. Benchmarking 1 tỷ vector Để đánh giá hiệu suất thế giới thực, ScyllaDB đã chạy một sử dụng bộ dữ liệu có sẵn công khai yandex-deep_1b, chứa 1 tỷ vector 96 chiều. Cài đặt bao gồm sáu nút: ba nút ScyllaDB chạy trên các phiên bản i4i.16xlarge, mỗi phiên bản được trang bị 64 vCPU, và ba nút Vector Store chạy trên các phiên bản r7i.48xlarge, mỗi phiên bản có 192 vCPU. Cấu hình phần cứng này phản ánh các triển khai sản xuất thực tế, trong đó các cấp dữ liệu và chỉ mục vector được cung cấp với các hồ sơ tài nguyên khác nhau. Benchmark nghiêm ngặt Một deep-dive kiến trúc đầy đủ, bao gồm biểu đồ, giao dịch hiệu suất, và kết quả tham chiếu mở rộng cho các bộ dữ liệu chiều cao hơn, có thể được tìm thấy trong bài đăng blog kỹ thuật Những kết quả bổ sung này tuân theo cùng một mô hình được nhìn thấy trong các thử nghiệm 96 chiều: độ trễ đặc biệt thấp, công suất cao và sự ổn định trên một loạt các hồ sơ tải đồng thời. Xây dựng một công cụ tìm kiếm vector chậm trễ thấp cho ScyllaDB Xây dựng một công cụ tìm kiếm vector chậm trễ thấp cho ScyllaDB Kịch bản #1 – Ultra-Low Latency with Moderate Recall Kịch bản đầu tiên được thiết kế cho các khối lượng công việc như công cụ giới thiệu và hệ thống cá nhân hóa thời gian thực, nơi mục tiêu chính là độ trễ cực kỳ thấp và việc thu hồi có thể được giảm nhẹ. chúng tôi sử dụng các thông số chỉ số m = 16, ef-construction = 128, ef-search = 64 và khoảng cách Euclidean. Tại khoảng 70% thu hồi và với 30 tìm kiếm đồng thời, hệ thống duy trì độ trễ p99 chỉ 1,7 millisecond và p50 chỉ 1,2 millisecond, trong khi duy trì 25.000 truy vấn mỗi giây. Khi mở rộng cửa sổ thông qua (vẫn giữ độ trễ p99 dưới 10 milliseconds), cụm đạt 60.000 QPS cho k = 100 với độ trễ p50 là 4,5 milliseconds, và 252.000 QPS cho k = 10 với độ trễ p50 là 2,2 milliseconds. Kịch bản #2 - High Recall with Slightly Higher Latency Kịch bản thứ hai nhắm mục tiêu các hệ thống đòi hỏi thu hồi gần hoàn hảo, bao gồm tìm kiếm ngữ nghĩa độ trung thực cao và đường ống sản xuất thu hồi tăng cường. Ở đây, các thông số chỉ số đã được tăng đáng kể lên m = 64, ef-construction = 512, và ef-search = 512. cấu hình này làm tăng yêu cầu tính toán nhưng cải thiện đáng kể thu hồi. Với 50 tìm kiếm đồng thời và thu hồi gần 98%, ScyllaDB giữ độ trễ p99 dưới 12 milliseconds và p50 khoảng 8 milliseconds trong khi cung cấp 6.500 QPS. Khi chuyển trọng tâm đến dung lượng tối đa duy trì trong khi giữ độ trễ p99 dưới 20 milliseconds và p50 dưới 10 milliseconds, hệ thống đạt được 16.600 QPS. Ngay cả dưới các thiết lập này, độ trễ vẫn ổn định đáng chú ý trên các giá trị k từ 10 đến 100, thể hiện hành vi có thể dự đoán trong môi trường nơi giới hạn truy vấn thay đổi năng động. Kết quả chi tiết Bảng dưới đây trình bày tóm tắt các kết quả cho một số mức cạnh tranh đại diện. Tìm kiếm vector thống nhất mà không có sự phức tạp Một lợi thế lớn của việc tích hợp Vector Search với ScyllaDB là nó mang lại hiệu suất đáng kể và lợi thế chi phí mạng. Cửa hàng vector nằm gần dữ liệu với chỉ một bước nhảy duy nhất giữa siêu dữ liệu và lưu trữ nhúng trong cùng một vùng sẵn có. Địa điểm này, kết hợp với mô hình thực hiện shard-per-core của ScyllaDB, cho phép hệ thống cung cấp độ trễ thời gian thực và lượng thông lượng lớn ngay cả dưới tải trọng nặng. Kết quả là các nhóm có thể đạt được nhiều hơn với ít tài nguyên so với các hệ thống tìm kiếm vector chuyên dụng. Ngoài việc nhanh chóng quy mô, Vector Search của ScyllaDB cũng đơn giản hơn để vận hành. Ưu điểm chính của nó là khả năng thống nhất tìm kiếm có cấu trúc và không có cấu trúc trong một bộ dữ liệu duy nhất. Điều này có nghĩa là bạn có thể lưu trữ các thuộc tính truyền thống và nhúng vector bên cạnh và trích xuất truy vấn kết hợp tìm kiếm ngữ nghĩa với tìm kiếm thông thường. Ví dụ, bạn có thể yêu cầu cơ sở dữ liệu "tìm thấy năm tài liệu tương tự nhất, nhưng chỉ những tài liệu thuộc về khách hàng cụ thể này và được tạo ra trong vòng 30 ngày qua." Cách tiếp cận này loại bỏ nỗi đau phổ biến của việc duy trì các hệ thống riêng biệt cho dữ liệu giao dịch và tìm kiếm vector, và nó loại bỏ sự mong manh liên quan đến việc đồng bộ giữa hai nguồn sự thật. Điều này cũng có nghĩa là không có ETL drift và không có rủi ro viết đôi. Thay vì gửi nhúng vào một cơ sở dữ liệu vector riêng biệt trong khi lưu trữ siêu dữ liệu trong một cửa hàng giao dịch, ScyllaDB tập hợp mọi thứ thành một hệ thống duy nhất. đường ống duy nhất bạn cần là bước tính toán tạo nhúng bằng cách sử dụng mô hình LLM hoặc ML ưa thích của bạn. Về mặt hoạt động, ScyllaDB đơn giản hóa toàn bộ tập hợp thu thập dữ liệu. Bởi vì nó được xây dựng trên kiến trúc phân tán đã được chứng minh của ScyllaDB, hệ thống có khả năng truy cập cao, có thể mở rộng theo chiều ngang và có khả năng phục hồi trên các vùng và khu vực có sẵn. Thay vì vận hành hai hoặc ba công nghệ khác nhau - mỗi công nghệ có khả năng giám sát, cấu hình bảo mật và chế độ thất bại riêng - bạn chỉ quản lý một. Roadmap Sản phẩm hiện đang ở mức độ sẵn có tổng thể. Điều này bao gồm cung cấp Cloud Portal, thanh toán theo yêu cầu, một loạt các loại trường hợp và tối ưu hóa hiệu suất bổ sung. Tốc độ tự phục vụ được lên kế hoạch cho quý 1.Vào cuối quý 1, chúng tôi sẽ giới thiệu khả năng lọc bản địa, cho phép truy vấn tìm kiếm vector kết hợp kết quả ANN với predicates truyền thống để tìm kiếm lai chính xác hơn. Nhìn xa hơn, lộ trình bao gồm hỗ trợ cho quantization scalar và binary để giảm sử dụng bộ nhớ, chức năng TTL cho tự động hóa vòng đời của dữ liệu vector, và tìm kiếm lai tích hợp kết hợp ANN với BM25 cho sự liên quan đồng nghĩa và ngữ pháp thống nhất. Kết luận ScyllaDB đã chứng minh rằng nó có khả năng cung cấp hiệu suất hàng đầu trong ngành cho tìm kiếm vector ở quy mô lớn, xử lý một tập dữ liệu của 1 tỷ vector với độ trễ p99 thấp đến 1,7 miliseconds và thông lượng lên đến 252.000 QPS. Những kết quả này xác nhận ScyllaDB Vector Search là một giải pháp thống nhất, hiệu suất cao đơn giản hóa sự phức tạp hoạt động của các ứng dụng AI thời gian thực bằng cách đồng vị trí dữ liệu có cấu trúc và nhúng không có cấu trúc. Các tiêu chuẩn hiện tại cho thấy trạng thái hiện tại của khả năng mở rộng của ScyllaDB. Với những cải tiến được lên kế hoạch trong lộ trình sắp tới, bao gồm định lượng quy mô và cắt tỉa, những giới hạn hiệu suất này được thiết lập để tăng trong năm tới. tuy nhiên, ngay cả bây giờ, tính năng này đã sẵn sàng để chạy các khối lượng công việc quan trọng như phát hiện gian lận hoặc hệ thống giới thiệu.