Explore 13 vector database cost models, build an evidence-based shortlist, and inspect real HNSW/IVF search traces. Built by Caylent.
Live demo: vectors-wizard.caylent.tech
September 2026 refresh (local working tree): current billing rules and sources, native DynamoDB vectors, OpenSearch NextGen, S3 partitioning, Qdrant/pgvector capacity quotes, infrastructure and operating budgets, independent cost curves, benchmark import and decision-brief export, and corrected algorithm visualizations. See AWS capabilities, infrastructure costs, pricing evidence, and visualization audit. The live demo has not been updated by this local review.
| Provider | Pricing Model |
|---|---|
| Amazon S3 Vectors | Partitioned storage + batched PUT + query fan-out + processed/returned data |
| DynamoDB native vectors | Base table + vector index; measured search bytes required for ranking |
| OpenSearch Classic | OCU-hours + managed storage |
| OpenSearch NextGen | Active OCU-hours + hot storage + optional GPU acceleration |
| Pinecone | Serverless read/write units, storage, and plan minimums |
| Weaviate Cloud | Per-dimension pricing + SLA tiers |
| Zilliz Cloud | CU-based compute + storage |
| TurboPuffer | Storage + read/write GB + plan minimums |
| MongoDB Atlas | Cluster + Search Nodes + sharding + operating budget |
| MongoDB on EC2 | Database + mongot + EBS performance + operating budget |
| Milvus on EC2 | EC2 + EBS + dependencies/object storage + operating budget |
| Qdrant | User-supplied sized capacity quote + operating budget |
| PostgreSQL / pgvector | User-supplied deployment estimate + operating budget |
-
Guided Wizard — chatbot-style questionnaire that walks through use case, embedding model, and workload parameters
-
Manual Configurator — direct control over all pricing inputs with real-time cost breakdown
-
Cross-Provider Comparison — 13 models with preserved workloads; unavailable or unpriced configurations are excluded from ranking
-
Quickstart Presets — pre-configured templates for common use cases (RAG chatbot, product search, knowledge base, image similarity)
-
Shareable Links — URL-encoded state for sharing configurations
-
Import/Export — save and load configurations as JSON
-
3D Visualizer — interactive Three.js visualizations of HNSW and IVF index algorithms
-
Semantic Map — a 2D map at
/visualizer/mapwith local text embeddings, worker-based projection/index/search, larger synthetic datasets, and exact vs hierarchical HNSW vs trained IVF comparison -
Decision Workbench — budget/recall/latency/traffic targets, validated benchmark JSON import, matching against workload and capacity, and a Markdown decision brief
-
Cost Curves — vary stored vectors or monthly searches independently, inspect sampled costs and bracket crossover ranges
-
Capability Guide —
/capabilitiesexplains deployment options, filtering, hybrid retrieval, quantization and the evidence to collect
Prices are estimates using the modeled region, plan, usage, and allocation assumptions. Cross-provider translation preserves a common workload, but does not establish equivalent capacity, latency, availability, or recall. Check provider-specific research under research/ and the provider's official pricing before making a purchasing decision.
The algorithm lab executes deterministic hierarchical HNSW insertion/search and trained IVF-Flat, showing actual traces and recall against exhaustive ground truth. The 3D scene uses small synthetic 3D fixtures; hierarchy shells are a schematic layout, not vector distances. Map timing includes trace capture on the current device and is not a vendor latency benchmark. Byte/RAM sizing remains an explicit estimate. Text projections and first-two-coordinate views can distort higher-dimensional distance. Imported benchmark reports are user-supplied evidence, not independently verified measurements; a passing assessment covers only the entered targets, not production readiness.
npm install
npm run devBuilt with Next.js 16, React 19, TypeScript, and Tailwind CSS. The calculator uses React hooks; the visualization and embedding features use Zustand stores.
The core is a pluggable provider abstraction in src/lib/providers/. Each provider implements PricingProvider<TConfig> and defines:
- Pricing logic — rates and cost calculation (
pricing.ts) - Config fields — UI form definition (
index.ts) - Wizard steps — guided questionnaire flow (
wizard-steps.ts) - Presets — example configurations (
presets.ts) - Cross-provider translation —
toUniversalConfig/fromUniversalConfigfor comparison
Two custom hooks manage calculator state:
useCalculator— config, mode switching (landing/wizard/configurator), cost computation viauseMemouseWizard— conversation flow, step tracking, branching logic, config patching
Zustand stores in src/stores/ manage index parameters, visualization playback, embedding sessions, and map controls. useSemanticMap coordinates local embedding generation, projection, in-session caching, and neighbor comparisons.
Interactive 3D visualizations at /visualizer using @react-three/fiber:
- HNSW — hierarchical navigable small world graph with animated search traversal
- IVF — inverted file index with centroid-based nearest neighbor search
Additional routes:
/visualizer/embed— generate text embeddings in a browser worker/visualizer/map— inspect local neighborhoods on an SVG map with text projections fromumap-js/visualizer/compare— compare index structures and qualitative tradeoffs/capabilities— service capabilities, cost-model coverage and evaluation questions
The map includes 48 original support prompts, 24 adapted news-style examples, 800 seeded geometry vectors, and 2,000 generated 32-dimensional Fourier-ring vectors. Synthetic generators and provenance are documented in the UI. Text models download on first use. Projection, index construction and search run in a cancellable worker; indexes are cached across query changes. These are learning datasets, not representative production benchmarks.
The project began as an S3 Vectors calculator on February 4, 2026. Multi-provider comparison and the 3D visualizer followed on February 5, then pricing, input-validation, accessibility, and animation fixes on February 18. A March 6–9 Codex session added the Apple Embedding Atlas-inspired semantic map to the local working tree.
See docs/build-history-review.md for the evidence, original design choices, remaining gaps, and proposed next steps. The earlier docs/visualizer-improvement-plan.md records the 2D analysis and search-playback roadmap.
npm run dev # Development server
npm run build # Production build
npm run lint # ESLint
npm test # Tests in watch mode
npm run test:run # Run tests onceOpen /benchmarks for eight reproducible stress workloads plus a real SQuAD/MiniLM passage retrieval fixture. Compare exact scan, HNSW, IVF-Flat, IVF-SQ8, IVF-PQ, LSH and dense/BM25 fusion with held-out ground truth, relevance labels, local timings and estimated index payload. Export datasets and reports, or connect the service harness for concurrency and opt-in freshness checks.
npm run bench:local -- --all --profile standard
npm run bench:service -- --fixtureSee Workload Lab guide, service benchmarking, dataset provenance, and index strategy research. Local algorithms and protocol fixtures are explicitly separate from provider benchmark evidence.




