9 điểm bởi GN⁺ 2024-07-11 | 1 bình luận | Chia sẻ qua WhatsApp
  • Cuối năm 2022, khi mở rộng hạ tầng của Readwise, họ muốn bổ sung tính năng gợi ý bài viết và tìm kiếm ngữ nghĩa dùng vector embedding
  • Chi phí cơ sở dữ liệu quan hệ là $5k/tháng, nhưng chi phí tìm kiếm vector vượt quá $20k/tháng, nên đã từ bỏ việc triển khai tính năng do chi phí quá cao
  • Các công cụ tìm kiếm hiện có đắt đỏ và khó vận hành: với sự phát triển của object storage, NVMe SSD, AI và công nghệ vector, cần một công cụ tìm kiếm mới
  • Các cơ sở dữ liệu vector hiện có dùng lưu trữ in-memory nên chi phí cao
    • Có thể giảm mạnh chi phí bằng cách tận dụng object storage (S3, GCS) và bộ nhớ đệm SSD
    • Ví dụ: lưu trữ in-memory là $2+/GB, còn object storage là $0.02/GB

Thiết kế của turbopuffer

  • Xây dựng một công cụ tìm kiếm phù hợp với hiện tại
  • Đạt được cả hiệu quả chi phí lẫn hiệu năng bằng cách tận dụng object storage và cơ chế caching thông minh
  • Có thể xử lý hàng chục tỷ vector và hàng triệu tenant
  • Công cụ tìm kiếm dựa trên object storage
    • Các công cụ tìm kiếm hiện có sử dụng kiến trúc đĩa sao chép của cơ sở dữ liệu quan hệ
    • Công cụ tìm kiếm đòi hỏi thông lượng ghi cao và độ trễ ghi tương đối linh hoạt
    • Duy trì hiệu năng trong khi giảm chi phí thông qua object storage và SSD/bộ nhớ đệm
  • Triển khai cơ sở dữ liệu native cho object storage
    • Xây dựng cơ sở dữ liệu lấy object storage làm nền tảng mặc định
    • Cung cấp độ tin cậy cao và khả năng mở rộng không giới hạn
    • Duy trì tính sẵn sàng cao thông qua multi-tenancy và sharding
  • Các trường hợp khách hàng
    • Cursor: trình soạn thảo mã AI, quản lý hàng chục tỷ vector và giảm chi phí 10 lần
    • Suno: tính năng radio
    • Dot: tính năng memory
    • Shapes: tính năng memory

Tổng kết của GN⁺

  • turbopuffer cải thiện đáng kể hiệu quả chi phí và hiệu năng của công cụ tìm kiếm bằng cách tận dụng object storage và caching thông minh
  • Nhằm giải quyết chi phí cao và độ khó trong vận hành của các công cụ tìm kiếm hiện có
  • Thiết kế một công cụ tìm kiếm mới phù hợp với sự phát triển của AI và công nghệ vector
  • Chứng minh khả năng giảm chi phí và cải thiện hiệu năng thông qua các khách hàng đầu tiên như Cursor
  • Những dự án khác có tính năng tương tự gồm ElasticSearch và Vector DBs

1 bình luận

 
GN⁺ 2024-07-11
Ý kiến trên Hacker News
  • Tôi từng làm việc với Simon và anh ấy rất giỏi trong lĩnh vực của mình

    • Chúng tôi đã cùng làm về tìm kiếm tại Shopify và có nhiều cuộc trao đổi về một search stack lý tưởng
    • Mong muốn một hệ thống lý tưởng có thể biểu diễn xếp hạng thông qua search API trên cloud, và dùng toán học kiểu dataframe để boost theo nhiều thuộc tính khác nhau
  • Hy vọng Turbopuffer có thể hoạt động giống dataframe Polars để biểu diễn xếp hạng trong search API

    • Muốn có khả năng thực hiện pass đầu tiên bằng toán học kiểu dataframe rồi chạy mô hình reranking
  • Tôi cũng rất thích thiết kế website của Fixie.ai

    • Fixie.ai là một trong những khách hàng của Turbopuffer
  • Tại Hetzner, chi phí RAM là $200/TB/tháng, rẻ hơn 18 lần so với nơi khác

    • Nếu giảm được độ phức tạp thì có thể đạt mục tiêu nhanh hơn
  • pg_vector đã tồn tại từ trước năm 2022 và không cần lưu trữ in-memory

    • Có thể thực hiện tìm kiếm vector trên hơn 100 triệu tài liệu
  • Tôi tự hỏi liệu có thể xây dựng cách tiếp cận dùng Lucene để đặt các node cache SSD phía trước object storage hay không

    • Tôi từng chứng kiến các triển khai Elasticsearch ở quy mô lớn, và sẽ thật ấn tượng nếu có thể đưa mọi thứ vào S3
  • Nghe giống như một phiên bản mã nguồn đóng của Quickwit

  • Tôi tự hỏi liệu có một giải pháp phổ biến nào để lưu cơ sở dữ liệu lớn chỉ đọc trên S3 và truy vấn trực tiếp hay không

    • DuckDB có thể mở và truy vấn file parquet qua http, nhưng điều đó kích hoạt nhiều request nhỏ
    • Muốn có một file duy nhất và một chỉ mục có thể cache để quản lý hàng triệu object
  • Độ trễ đọc của ClickHouse dưới 100ms, độ trễ ghi dưới 1 giây

    • ClickHouse cũng phù hợp cho logging, phân tích thời gian thực và cả RAG
  • Tôi không biết nhiều về vector database, nhưng nghĩ rằng chúng chủ yếu được dùng cho RAG và các tác vụ liên quan đến AI khác

    • Cần tìm hiểu sâu hơn
  • Tôi nghĩ cách tiếp cận ưu tiên object storage là một hướng đi tự nhiên, rất hợp với cloud