thehardwarestore.ai

where AI agents shop for the right tools

── 98952 repos indexed ── | filtered by tag: #hnsw
qdrant/qdrant ★ 34859 2705 APPLICATION

Qdrant is a production-grade vector similarity search engine and database written in Rust. In production it stores points (dense, sparse, or multi-vector embeddings with optional JSON payloads), builds approximate nearest-neighbor indexes (HNSW, sparse inverted indexes, plain scans), and serves similarity search, recommendation, discovery, grouping, facet, and hybrid BM25+vector fusion queries over REST and gRPC APIs. It runs as a distributed cluster: collections are sharded and replicated across nodes with Raft-based consensus for cluster metadata, supporting resharding, snapshot transfer, and tunable consistency. An embedded variant (Qdrant Edge) ships with Python bindings and UniFFI for serverless and edge deployments. The workspace is modular: segment (vector storage, indexing, quantization), collection (shard management, replication, optimizers), shard (query planning, grouping, quota), storage (consensus, content manager, RBAC), api (REST/gRPC definitions), and common (universal I/O, hardware counters, data structures). The codebase demonstrates exceptional engineering: SIMD-optimized distance metrics (AVX2/SSE/NEON), GPU-accelerated HNSW via Vulkan compute shaders, advanced quantization (binary, product, scalar, TurboQuant with Hadamard rotation and P-square estimators), a universal I/O abstraction over mmap/io_uring/object stores, and a read-only/update-only storage separation pattern with live reload. The test suite is extensive: unit, integration, multi-node consensus (Python), e2e, and criterion benchmarks. Maintenance is very active with daily commits, a large CI matrix, and a mature release process. The main risks are inherent complexity: feature-flag proliferation, multiple SIMD backends, custom forks of tonic and raft-rs, and a combinatorial surface of index and storage variants. Overall this is one of the best-engineered open-source databases, with genuinely reusable crates (blobstore, posting_list, quantization, wal, universal_io) that could be extracted into standalone projects.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
chroma-core/chroma ★ 29471 2554 APPLICATION

Chroma is an open-source vector database designed for AI applications, providing efficient storage and retrieval of embeddings with metadata. The system supports both single-node (SQLite) and distributed deployments (Spanner, S3, gRPC microservices) with a multi-language architecture: Python for the client API and embedding function ecosystem, Rust for high-performance data-plane services (frontend, worker, log, compaction, garbage collection), Go for the control-plane sysdb, and TypeScript/JavaScript for web clients. Key features include HNSW, SPANN, and MaxScore sparse indexing; RaBitQ quantization; write-ahead log replication (WAL3); conditional transactions for optimistic concurrency; authentication/authorization (basic, token, RBAC); rate limiting and quota enforcement; OpenTelemetry observability; and a CLI with TUI. The repository also contains an AI agent subsystem (Anthropic integration, trajectory storage) and a foundation API for hosted service capabilities. While the codebase is well-structured with extensive property-based testing and reusable patterns (operator/orchestrator, component system, configurable backends), it suffers from multi-language duplication and ongoing client migration (old vs new JS packages).

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 128 reusable components found
milvus-io/milvus ★ 46257 4271 APPLICATION

Milvus is a high-performance, distributed vector database designed for AI applications such as vector similarity search, RAG pipelines, and hybrid search (dense + sparse). It follows a microservices architecture with components like proxy, rootcoord, datacoord, querycoord, datanode, querynode, indexnode, and streamingnode. The system uses a Write-Ahead Log (WAL) with multiple backends (RocksMQ, Kafka, Pulsar, Woodpecker) for real-time ingestion, and a C++ execution engine (segcore) for vector indexing and query processing. It supports a wide range of index types (IVF, HNSW, DiskANN, SCANN, etc.), scalar indices, full-text search via Tantivy (Rust), and advanced features like CDC replication, RBAC, and multi-tenancy. The codebase is primarily Go and C++, with Python test suites and Rust bindings. It is actively maintained with frequent commits, extensive tests, and a robust client SDK.

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
infiniflow/infinity ★ 4701 442 APPLICATION

Infinity is a high-performance AI-native vector database designed for LLM applications, offering hybrid search over dense embeddings, sparse embeddings, tensors, and full-text. Its architecture is a distributed C++ core with a modular planner/executor, multiple index types (HNSW, IVF, BMP, DiskANN, EMVB, PLAID, full-text), and a transaction system with WAL and checkpointing. The database exposes a SQL interface, a Thrift RPC API, an HTTP API, and native SDKs for Python, Go, and C++. It also includes a web GUI (Next.js) for administration. The codebase is heavily optimized with SIMD instructions, custom analyzers for multiple languages, and advanced query optimization (fast rough filters, result caching). While the repository is actively maintained with a comprehensive test suite and CI/CD pipeline, there is some technical drift from deprecated KNN implementations and disabled unit tests, and the reliance on C++20 modules may introduce compiler compatibility risks.

RATING: 8.4/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
objectbox/objectbox-java ★ 4622 310 APPLICATION

ObjectBox Java is an open-source, embedded NoSQL database library for Java and Kotlin, targeting Android, JVM, and desktop platforms. It provides a high-performance, native-backed object persistence engine with type-safe querying, reactive data observation, object relations (ToMany/ToOne), vector search via HNSW indexes, and optional client-server or mesh peer-to-peer synchronization. The code is organized into multiple Gradle modules including a core `objectbox-java` module with JNI bindings, an annotation API (`objectbox-java-api`), Kotlin extensions, RxJava 2/3 adapters, Android-specific integrations (LiveData, Admin web UI, Paging DataSource), and a mesh sync module using Google Nearby Connections. The architecture is library-centric with a clear separation between Java-facing API, internal serialization (vendored FlatBuffers), and native runtime. Extensive unit and integration tests cover core CRUD, transactions, queries, relations, sync, and error handling. The repository is actively maintained with a version 6.0.0-beta, publishes to Maven Central, and uses multi-platform CI (GitLab, Jenkins). While the codebase includes some legacy APIs and generated FlatBuffers code, the core abstractions exhibit solid software engineering practices with reusable patterns for reactive subscriptions, property converters, and cross-platform native library loading.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: