USearch
activeby Unum Cloud · since 2023
Single-header C++ HNSW library with SIMD distance kernels and bindings for a dozen languages.
Overview
USearch is a compact HNSW implementation from Unum Cloud, shipped as a single C++11 header with bindings for Python, JavaScript, Rust, Java, Go, C#, Swift, Objective-C, Wolfram and WebAssembly. It uses SimSIMD kernels for fast distance computation, supports custom metrics and f64 to binary quantization, and can serve an index directly from disk via memory-mapping. Its small footprint and permissive licence have made it the ANN engine inside other databases, including ClickHouse's vector similarity index and DuckDB's VSS extension. Use it when you are building search into software, not when you need a database.
Strengths & trade-offs
Strengths
- +Single header, tiny binary, easy to embed anywhere
- +SIMD-accelerated distances with f16, i8 and binary quantization
- +Serve indexes from disk via mmap without loading into RAM
- +Custom metrics, including JIT-compiled user functions
- +Used inside ClickHouse and DuckDB
Trade-offs
- −A library only: no metadata store, filters or durability layer
- −HNSW only; no IVF or DiskANN options
- −Mostly a single-company project
- −API surface varies slightly across language bindings
Great for
- +Embedding ANN search into a database or application
- +On-device semantic search on mobile
- +Fast similarity joins and clustering in data pipelines
Think twice for
- −Teams wanting a ready-made vector database server
- −Rich metadata filtering
- −Multi-node deployments
Capabilities
Native or official first-party support · 4 of 25 tracked
Scale & consistency
- Comfortable data size
- Large · ≤ 1 PB
- Horizontal scaling
- Manual
- Multi-region
- No
- Transactions
- None
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded, In memory
- Query languages
- Library API
Single-process index; billion-scale indexes on one machine are demonstrated, distribution is up to the host application.
Deployment
Ecosystem
Alternatives to USearch
Meta's C++/Python library for fast dense-vector similarity search and clustering, CPU and GPU.
usearch vs faiss →Dependency-free SQLite extension for vector search that runs anywhere SQLite does, including WASM.
usearch vs sqlite-vec →Embedded, serverless retrieval database on the Lance columnar format for multimodal AI data.
usearch vs lancedb →Rust vector search engine with rich payload filtering, quantization and a managed cloud.
usearch vs qdrant →Lucene-inspired full-text search library in Rust, the engine under Quickwit and ParadeDB.
usearch vs tantivy →Header-only C++ HNSW library with Python bindings, from the authors of the HNSW algorithm.
usearch vs hnswlib →USearch FAQ
What is USearch?
USearch is a vector database by Unum Cloud, first released in 2023. USearch is a compact HNSW implementation from Unum Cloud, shipped as a single C++11 header with bindings for Python, JavaScript, Rust, Java, Go, C#, Swift, Objective-C, Wolfram and WebAssembly. It uses SimSIMD kernels for fast distance computation, supports custom metrics and f64 to binary quantization, and can serve an index directly from disk via memory-mapping. Its small footprint and permissive licence have made it the ANN engine inside other databases, including ClickHouse's vector similarity index and DuckDB's VSS extension. Use it when you are building search into software, not when you need a database.
Is USearch open source?
Yes. USearch is open source. License: Apache License 2.0.
Does USearch support ACID transactions?
No. USearch does not provide ACID transactions; its consistency model is strong.
Does USearch scale horizontally?
USearch has no built-in sharding; scaling out means partitioning data in your application. It is comfortable at large scale (≤ 1 PB).
How can I run USearch?
You can self-host it, embed it in your application and run it at the edge.
What is USearch best for?
USearch is a strong fit for embedding ANN search into a database or application; on-device semantic search on mobile; and fast similarity joins and clustering in data pipelines. Think twice for teams wanting a ready-made vector database server.
What are the best alternatives to USearch?
Common alternatives to USearch include Faiss, sqlite-vec, LanceDB, Qdrant and Tantivy. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is USearch?
USearch ranks #132 of 844 databases on the WhichDB Score (23.1/100), and #10 among vector databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.