- No fim de 2022, ao escalar a infraestrutura da Readwise, queriam adicionar recomendações de artigos e busca semântica usando embeddings vetoriais
- O custo do banco de dados relacional era de US$ 5 mil por mês, mas a busca vetorial custaria mais de US$ 20 mil por mês, então desistiram de implementar a funcionalidade por causa do alto custo
- Os mecanismos de busca existentes são caros e difíceis de operar: com os avanços em armazenamento de objetos, SSD NVMe, IA e tecnologia vetorial, surgiu a necessidade de um novo mecanismo de busca
- Os bancos de dados vetoriais existentes usam armazenamento em memória, o que eleva os custos
- É possível reduzir bastante os custos usando armazenamento de objetos (S3, GCS) e cache em SSD
- Exemplo: armazenamento em memória custa mais de US$ 2/GB, enquanto armazenamento de objetos custa US$ 0,02/GB
Arquitetura do turbopuffer
- Desenvolvido como um mecanismo de busca adequado ao presente
- Alcança eficiência de custos e desempenho ao mesmo tempo usando armazenamento de objetos e cache inteligente
- Pode processar dezenas de bilhões de vetores e milhões de tenants
- Mecanismo de busca baseado em armazenamento de objetos
- Os mecanismos de busca tradicionais usam a arquitetura de disco replicado dos bancos de dados relacionais
- Mecanismos de busca exigem alta vazão de escrita e toleram latência de escrita mais flexível
- Mantém o desempenho enquanto reduz custos por meio de armazenamento de objetos e cache em SSD/memória
- Implementação de banco de dados nativo para armazenamento de objetos
- Construção de um banco de dados com armazenamento de objetos como base
- Oferece alta confiabilidade e escalabilidade ilimitada
- Mantém alta disponibilidade por meio de multitenancy e sharding
- Casos de clientes
- Cursor: editor de código com IA, gerencia dezenas de bilhões de vetores e reduziu os custos em 10 vezes
- Suno: recurso de rádio
- Dot: recurso de memória
- Shapes: recurso de memória
Resumo do GN⁺
- O turbopuffer melhora significativamente a eficiência de custos e o desempenho de mecanismos de busca usando armazenamento de objetos e cache inteligente
- Busca resolver os altos custos e a dificuldade operacional dos mecanismos de busca existentes
- Foi projetado como um novo mecanismo de busca alinhado aos avanços em IA e tecnologia vetorial
- Com casos iniciais de clientes como a Cursor, comprovou redução de custos e melhora de desempenho
- Outros projetos com funcionalidades semelhantes incluem o ElasticSearch e bancos de dados vetoriais
1 comentários
Comentários do Hacker News
Já trabalhei com o Simon, e ele entende muito da área dele
Espero que o Turbopuffer funcione como um dataframe do Polars, para que seja possível expressar ranking na API de busca
Também gosto muito do design do site da Fixie.ai
Na Hetzner, o custo de RAM é de $200/TB/mês, 18 vezes mais barato do que em outros lugares
O pg_vector já existia antes de 2022 e não requer armazenamento em memória
Fico me perguntando se é possível construir uma abordagem usando Lucene com nós de cache em SSD na frente do armazenamento de objetos
Parece uma versão de código fechado do Quickwit
Fico me perguntando se existe uma solução genérica para armazenar um grande banco de dados somente leitura no S3 e consultá-lo diretamente
A latência de leitura do ClickHouse fica abaixo de 100 ms, e a latência de escrita abaixo de 1 segundo
Não conheço bem bancos de dados vetoriais, mas acho que eles são usados principalmente para RAG e outros trabalhos relacionados a IA
Acho que uma abordagem object-storage-first se encaixa naturalmente na nuvem