What is PistaDB?
PistaDB is a lightweight embedded vector database written in pure C99 with zero external dependencies. It ships as a single shared library and stores everything in a single .pst file.
It is designed for local RAG pipelines, offline AI agents, privacy-sensitive applications, edge inference, and anywhere shipping a full vector database cluster is impractical — which, honestly, is most places.
PistaDB vs. cloud / server vector databases
| PistaDB | Cloud / Server Vector DB | |
|---|---|---|
| Deployment | Copy a .dll / .so | Docker, Kubernetes, cloud subscriptions |
| Storage | One .pst file | Separate data + WAL + config + sidecar files |
| Privacy | All data stays local | Embeddings sent over the network |
| Memory | Configurable, minimal | GBs of JVM / runtime overhead |
| Dependencies | None (pure C99) | Dozens of packages |
| Latency | Sub-millisecond on a laptop | Network round-trips |
| Cost | Free forever (MIT) | Per-query or per-vector pricing |
When PistaDB fits
- Desktop apps that need semantic search without phoning home.
- Mobile RAG (Android via JNI, iOS via Swift Package Manager).
- Edge / MCU inference (experimental ESP32 component).
- Embedded analytics inside an existing C/C++/Go/Rust application.
- Notebook prototyping before deciding whether a cluster is even needed.
When it doesn't
- Multi-tenant SaaS with thousands of concurrent writers — use a server DB.
- Datasets that don't fit on a single machine — PistaDB scales to ~10 M vectors per file, not 10 B.
- Workloads that need a managed control plane, replication, or distributed consensus.
Next steps
- Getting Started — install and run your first query in 60 seconds.
- Index Algorithms — pick the right index for your workload.
- Multi-Modal Retrieval — multiple vector fields per record + RRF hybrid search.
- Language Bindings — Python, Go, Rust, Swift, Kotlin, C#, and more.
