Comparison
Feature-by-feature against the vector databases RAG teams actually evaluate. This is a feature inventory, not a benchmark - for raw vector-search throughput see each project's published numbers.
Feature matrix
| Feature | DASH | Pinecone | Weaviate | Milvus | Qdrant | Chroma |
|---|---|---|---|---|---|---|
| Open source | yes (Apache-2.0 intended) | no, proprietary | yes, BSD-3 | yes, Apache-2.0 | yes, Apache-2.0 | yes, Apache-2.0 |
| Claim + Evidence model | first-class | no | no | no | no | no |
| Citation provenance per result | first-class | not modeled | not modeled | not modeled | not modeled | not modeled |
| Contradiction handling | first-class | no | manual, via modules | no | no | no |
stance_mode: support_only | yes | no | no | no | no | no |
| Temporal validity windows | first-class | metadata only | manual | manual | manual | manual |
| OpenAI-compatible embeddings | yes, native | partial | yes | via proxy | via proxy | yes |
| Swap embedding provider | trait-based | n/a | plugin-based | n/a | n/a | function-based |
| HNSW ANN | yes (built-in) | yes, proprietary | yes | yes | yes | yes |
| Graph primitives | first-class | no | yes, no contradiction semantics | no | payload-based only | no |
| Hash-chained audit log | yes, SHA-256 | no | no | no | no | no |
| Tenant isolation | yes, allowlist + scoped keys | yes | yes (OIDC) | yes | partial | no |
| Per-tenant rate limits | yes | yes | yes | yes | partial | no |
| Scoped API keys | yes | limited | yes | yes | limited | no |
| Key revocation (hot reload) | yes | yes | yes | yes | partial | no |
| JWT auth with kid rotation | yes | JWT only | yes (OIDC) | yes | partial | no |
| Durable WAL + replay | yes, built-in | managed | yes | yes | yes | no |
| Backpressure-aware HTTP | yes (queue + 503) | managed | yes | yes | yes | no |
| Docker Compose / systemd | yes | n/a | yes | yes | yes | no |
| Benchmark suite + CI guard | yes | n/a | partial | yes | partial | no |
| Managed cloud option | no (self-hosted) | yes | yes | yes | yes | yes |
When to use DASH
- RAG where wrong answers have a cost: legal research, clinical decision support, financial due diligence, enterprise knowledge bases, regulatory compliance.
- Citation-grade provenance on every retrieved claim - a source, a stance, a quality score, ideally a span.
- The retrieval layer must know a claim was contradicted and demote or filter it.
- Temporal validity windows ("what was true in Q3 2024?") as a first-class query, not a metadata hack.
- Tamper-evident audit: every state change SHA-256-chained, verifiable with
scripts/verify_audit_chain.sh. - Multi-tenant SaaS needing per-tenant rate limits, scoped keys, revocation, and strict allowlists in one process.
- Auditable storage and retrieval with no managed-cloud component and no proprietary extension.
When NOT to use DASH
- Pure image, audio, or video similarity search. DASH is text-claim-centric - use Milvus or Pinecone.
- Sub-millisecond latency at billion-vector scale. DASH is not optimized for this - use Milvus with GPU indexing or Pinecone serverless.
- Fully managed cloud with no ops responsibility. DASH is self-hosted only - use Pinecone, Weaviate Cloud, or Qdrant Cloud.
- No notion of evidence, citation, contradiction, or temporal validity in the data. The differentiators are not free - a simpler store (Qdrant, Chroma) reaches "vector search" faster.
- General-purpose graph database. DASH has typed claim edges with RAG semantics, not a full property graph - use Neo4j or Memgraph.
- OLAP analytics over the vector store. Use ClickHouse or Druid.