{"slug": "show-hn-i-built-sana-a-vector-db-on-object-storage", "title": "Show HN: I \"built\" Sana, a vector DB on object storage", "summary": "A developer released Sana, an open-source vector database built on object storage that supports vectors, full-text search, and attribute filters. The project, inspired by turbopuffer, uses object stores like S3 as the durable home for documents and includes features like WAL-based durability, LSM indexes, and IVF with RaBitQ quantization. Sana is intended for learning rather than production use.", "body_md": "An object-storage-native search database: vectors, full-text, and attribute\nfilters over documents whose only durable home is an object store — a local\ndirectory or S3. A [turbopuffer](https://turbopuffer.com)-inspired open-source\nclone, built in staged, documented commits.\n\nAI disclaimer:this is an AI-assisted project (built with Claude and Codex). It exists to learn from, not to run your production on.\n\n**What works:**\n\n- Durable writes — WAL with a CAS-advanced commit cursor in object storage; strongly consistent reads through the unindexed overlay; idempotency keys, conditional writes, patch/delete-by-filter, write backpressure.\n- Indexes — LSM document SSTs, delta-tiered attribute postings, BM25 full-text with rank-safe block MAXSCORE, IVF vectors with faithful RaBitQ quantization (SIMD kernels) and SPFresh-style local split/merge maintenance.\n- One binary — a CLI, API-only serving, looped indexing/maintenance roles,\nall-in-one dev serving, operator GC dry-runs, and a Prometheus\n`/metrics`\n\nendpoint. - Backends — local filesystem for dev; S3-compatible stores with server-enforced conditional writes (verified against MinIO).\n- Operations — namespace branch, cross-store copy, deterministic export, leased replica pinning, cache warming, ANN recall endpoint.\n\n```\ncargo run --release -- demo ./data        # tiny end-to-end demo\ncargo run --release -- serve ./data       # HTTP service on 127.0.0.1:8080\ncargo run --release --example usage       # library API tour\ncargo run --release --example latency     # benchmark harness\n```\n\n[User guide](/djakish/sana/blob/main/docs/guide.md) ·\n[Architecture](/djakish/sana/blob/main/docs/ARCHITECTURE.md) ·\n[Build log & decisions](/djakish/sana/blob/main/docs/PROGRESS.md) ·\n[Contributing](/djakish/sana/blob/main/CONTRIBUTING.md) ·\n[Benchmarks](/djakish/sana/blob/main/docs/benchmarks.md)\n\nMIT — see [LICENSE](/djakish/sana/blob/main/LICENSE).", "url": "https://wpnews.pro/news/show-hn-i-built-sana-a-vector-db-on-object-storage", "canonical_source": "https://github.com/djakish/sana", "published_at": "2026-06-21 14:40:13+00:00", "updated_at": "2026-06-21 15:04:41.405076+00:00", "lang": "en", "topics": ["ai-tools"], "entities": ["Sana", "turbopuffer", "Claude", "Codex", "MinIO", "S3", "Prometheus"], "alternates": {"html": "https://wpnews.pro/news/show-hn-i-built-sana-a-vector-db-on-object-storage", "markdown": "https://wpnews.pro/news/show-hn-i-built-sana-a-vector-db-on-object-storage.md", "text": "https://wpnews.pro/news/show-hn-i-built-sana-a-vector-db-on-object-storage.txt", "jsonld": "https://wpnews.pro/news/show-hn-i-built-sana-a-vector-db-on-object-storage.jsonld"}}