Barrel Vector

Base de donnees vectorielle mono-noeud haute performance construite en Erlang. Rapide, embarquable, prete pour la production.

Choisissez Votre Backend

Quatre backends d'indexation, une seule API. Choisissez celui adapte a votre charge de travail.

DEFAUT

HNSW

Implementation Erlang pure. Ideal pour la plupart des cas.

  • + Recherche rapide <5ms
  • + Aucune dependance
  • + Bon rappel
GPU

FAISS

Bibliotheque Meta via NIF. Ideal pour grande echelle + GPU.

  • + Acceleration GPU
  • + Echelle milliard
  • + IVF, compression PQ
DISQUE

DiskANN

Index optimise SSD en Erlang pur. Ideal pour grands jeux de donnees sur disque.

  • + Optimise SSD
  • + Faible empreinte memoire
  • + Aucune dependance
MOTS-CLES

BM25

Recherche plein texte en Erlang pur. Combinez avec vecteurs pour hybride.

  • + Recherche plein texte
  • + Hybride avec RRF
  • + Aucune dependance

Recherche Hybride

Combinez vecteur + BM25 avec fusion RRF pour de meilleurs resultats

Metriques Multiples

Distance Cosinus, Euclidienne, Produit Scalaire

Filtrage Metadonnees

Filtrez les vecteurs par metadonnees JSON arbitraires

Persistance

Stockage RocksDB avec recuperation apres crash

API HTTP

Interface REST simple pour toutes les operations

Embarquable

Utilisez comme bibliotheque dans les apps Erlang/Elixir

Performance

<5ms

Recherche (p99, top-10)

10K/sec

Debit d'insertion

1K QPS

Debit de recherche

Benchmark sur 1M vecteurs, 1536 dimensions

Demarrage Rapide

cURL
# Lancer avec Docker
docker run -p 8080:8080 barrel-platform/barrel-vectordb

# Creer une collection
curl -X POST http://localhost:8080/collections \
  -H "Content-Type: application/json" \
  -d '{"name": "documents", "dimension": 1536, "metric": "cosine"}'

# Inserer des vecteurs
curl -X POST http://localhost:8080/collections/documents/vectors \
  -H "Content-Type: application/json" \
  -d '{
    "vectors": [
      {"id": "doc1", "values": [0.1, 0.2, ...], "metadata": {"title": "Hello"}}
    ]
  }'

# Rechercher
curl -X POST http://localhost:8080/collections/documents/search \
  -H "Content-Type: application/json" \
  -d '{"vector": [0.15, 0.25, ...], "top_k": 10}'

Quand l'Utiliser

Utilisez Barrel Vector quand :

  • + Deploiement mono-machine
  • + <10M vecteurs
  • + Configuration simple preferee
  • + Embarque dans app Erlang/Elixir

Considerez des alternatives quand :

  • + Besoin d'un cluster distribue
  • + >10M vecteurs
  • + Failover automatique requis
  • + Scalabilite horizontale necessaire