- Fin 2022, en développant l’infrastructure de Readwise, l’équipe voulait ajouter des recommandations d’articles et une recherche sémantique utilisant des embeddings vectoriels
- Le coût de la base de données relationnelle était de 5 k$ par mois, mais la recherche vectorielle coûtait plus de 20 k$ par mois, et la fonctionnalité a été abandonnée à cause de ce coût élevé
- Les moteurs de recherche existants sont coûteux et difficiles à exploiter : avec les progrès du stockage objet, des SSD NVMe, de l’IA et des technologies vectorielles, un nouveau moteur de recherche est nécessaire
- Les bases de données vectorielles existantes utilisent du stockage en mémoire, ce qui entraîne un coût élevé
- En exploitant le stockage objet (S3, GCS) et le cache sur SSD, il est possible de réduire fortement les coûts
- Exemple : le stockage en mémoire coûte 2 $+/Go, contre 0,02 $/Go pour le stockage objet
Conception de turbopuffer
- Développer un moteur de recherche adapté à l’époque actuelle
- Atteindre à la fois efficacité économique et performance grâce au stockage objet et à un cache intelligent
- Capable de traiter des dizaines de milliards de vecteurs et plusieurs millions de tenants
- Moteur de recherche basé sur le stockage objet
- Les moteurs de recherche existants utilisent une architecture de disques répliqués héritée des bases de données relationnelles
- Les moteurs de recherche exigent un débit d’écriture élevé et tolèrent une latence d’écriture plus souple
- Réduire les coûts tout en conservant les performances grâce au stockage objet et au cache SSD/mémoire
- Implémentation d’une base de données native pour le stockage objet
- Construire une base de données pensée nativement autour du stockage objet
- Offrir une haute fiabilité et une extensibilité illimitée
- Maintenir une haute disponibilité grâce au multi-tenant et au sharding
- Cas clients
- Cursor : éditeur de code IA, gère des dizaines de milliards de vecteurs et a réduit les coûts par 10
- Suno : fonctionnalité radio
- Dot : fonctionnalité de mémoire
- Shapes : fonctionnalité de mémoire
Résumé de GN⁺
- turbopuffer améliore fortement l’efficacité économique et les performances des moteurs de recherche grâce au stockage objet et à un cache intelligent
- Le projet vise à résoudre les coûts élevés et la difficulté d’exploitation des moteurs de recherche existants
- Un nouveau moteur de recherche a été conçu pour suivre l’évolution de l’IA et des technologies vectorielles
- Les premiers cas clients, comme Cursor, prouvent la réduction des coûts et l’amélioration des performances
- Parmi les autres projets offrant des fonctions similaires, on trouve ElasticSearch et les Vector DBs
1 commentaires
Avis Hacker News
J’ai déjà travaillé avec Simon, et il maîtrise parfaitement son domaine
J’aimerais que Turbopuffer fonctionne comme un dataframe Polars afin de pouvoir exprimer le ranking dans l’API de recherche
J’aime aussi beaucoup le design du site web de Fixie.ai
Chez Hetzner, le coût de la RAM est de 200 $/To/mois, soit 18 fois moins cher qu’ailleurs
pg_vectorexistait déjà avant 2022, et il n’y a pas besoin de stockage in-memoryJe me demande s’il est possible de construire, avec Lucene, une approche plaçant des nœuds de cache SSD devant l’object storage
Cela ressemble à une version source fermée de Quickwit
Je me demande s’il existe une solution générique permettant de stocker une grande base de données en lecture seule sur S3 et de l’interroger directement
La latence de lecture de ClickHouse est inférieure à 100 ms, et la latence d’écriture inférieure à 1 seconde
Je ne connais pas très bien les bases de données vectorielles, mais je pense qu’elles sont principalement utilisées pour le RAG et d’autres tâches liées à l’IA
Je pense qu’une approche object storage first est naturellement adaptée au cloud