300+ Tools CoveredSource Data Updated Weeklydates

Decision comparison

Turbopuffer vs Vald

turbopuffer and Vald sit at opposite ends of the operating spectrum. turbopuffer is a managed service built on object storage, which makes thousands of mostly-idle namespaces cheap and asks nothing of you operationally beyond an API key. Vald is an open-source distributed engine you run on your own Kubernetes cluster, which gives you control, cloud independence and the ability to deploy on-premise — and hands you the operational work in full.

vector databases
Last Updated:

Architecture choice. These take different approaches to the same problem. Read the table as a fit question rather than a feature race.

All 2 are vector databases.

Quick Comparison

Turbopuffer

What it is:
A managed serverless vector search service built on object storage
Who operates it:
The vendor; there is no self-hosted build
Architecture:
Object storage as the system of record with cache tiers in front, so idle data costs storage rather than memory
Cost shape:
Usage-based on stored bytes and queries; idle namespaces are inexpensive
Namespace model:
Namespaces are the unit of isolation, and the design assumes very many of them
Latency profile:
Warm namespaces behave normally; a cold one pays a penalty on its first query
Operational requirement:
An API key

Vald

What it is:
An open-source distributed vector search engine designed to run on Kubernetes
Who operates it:
You, on your own Kubernetes cluster
Architecture:
Distributed agents with index replication across nodes, scaled with Kubernetes primitives
Cost shape:
Infrastructure plus engineering time; there is no licence fee and no usage bill
Namespace model:
Agents and index replicas, sized and placed by you rather than multiplied cheaply
Latency profile:
Memory-resident indexes give consistent latency, with memory cost to match
Operational requirement:
A Kubernetes cluster, and someone who understands it well enough to run a stateful distributed service on it

Public signals

Verified factual signals only. Bars appear only for like-for-like metrics with five weekly assessments for every tool; missing evidence stays explicit. These signals do not establish enterprise adoption, product quality, or total cost.

MetricTurbopufferVald
GitHub commits, 90d(Developer adoption)30Not available
GitHub stars(Developer adoption)169Not available
Search interest(Market interest)0Unavailable
Hacker News mentions, 90d(Community interest)
11
0
npm weekly downloads(Developer adoption)672.4kNot available
PyPI weekly downloads(Developer adoption)
1.1M
69
GitHub commits, 90d(Product adoption)Not available21
GitHub stars(Product adoption)Not available1,500+

As of September 21, 2026 — updated weekly.

Health & risk evidence

Observed public-source checks for mapped package versions and repositories.

Turbopuffer

September 21, 2026

Package vulnerabilities

npm · @turbopuffer/turbopuffer@2.9.0 · PyPI · turbopuffer@2.10.1

0 vulnerabilities

across 2 packages

Repository security score

Not available

Vald

September 21, 2026

Package vulnerabilities

PyPI · vald-client-python@1.8.0

0 vulnerabilities

across 1 package

Repository security score

Not available

Interface Preview

Turbopuffer

Turbopuffer product interface

Vald

Vald product interface

Feature Comparison

Search

Approximate nearest-neighbour search

TurbopufferFull support
ValdFull support

Metadata filtering

TurbopufferFull support
ValdPartial support

Very large namespace counts

TurbopufferFull support
ValdPartial support

Consistent warm latency

TurbopufferPartial support
ValdFull support

Deployment

Fully managed service

TurbopufferFull support
ValdNot verified

Self-hosted on Kubernetes

TurbopufferNot verified
ValdFull support

Runs without a cluster

TurbopufferFull support
ValdNot verified

Air-gapped or on-premise deployment

TurbopufferNot verified
ValdFull support

Scale

Cheap storage of idle data

TurbopufferFull support
ValdNot verified

Horizontal scale-out

TurbopufferFull support
ValdFull support

Index replication for availability

TurbopufferFull support
ValdFull support

Auto-scaling with demand

TurbopufferFull support
ValdPartial support

Ecosystem

Open-source licence

TurbopufferNot verified
ValdFull support

Python client

TurbopufferFull support
ValdFull support

REST or gRPC API

TurbopufferFull support
ValdFull support

Cloud-agnostic deployment

TurbopufferNot verified
ValdFull support
Full supportPartial supportNot supportedNot verifiedNot applicable

Which approach fits

turbopuffer and Vald sit at opposite ends of the operating spectrum. turbopuffer is a managed service built on object storage, which makes thousands of mostly-idle namespaces cheap and asks nothing of you operationally beyond an API key. Vald is an open-source distributed engine you run on your own Kubernetes cluster, which gives you control, cloud independence and the ability to deploy on-premise — and hands you the operational work in full.

When each approach fits

Choose Turbopuffer if:

Choose turbopuffer when the workload is many small namespaces, most of them idle, and you would rather not run a distributed stateful service. Building on object storage means a namespace nobody queried this month costs storage rather than memory, which changes the economics of per-tenant indexes entirely. The constraints are that there is no self-hosted build and a cold namespace pays a latency penalty on its first query.

Choose Vald if:

Choose Vald when you need the engine inside your own infrastructure. It is open source and runs on your Kubernetes cluster, so it works on any cloud, on-premise, or in an air-gapped environment where a managed service is not an option. Memory-resident indexes give consistent latency. The price is that operating a distributed stateful service on Kubernetes is a real and ongoing responsibility.

These scenarios reflect the available product evidence. Your requirements, existing stack, and team expertise should guide the final decision.

Frequently Asked Questions

Is running Vald on Kubernetes actually hard?

It is a distributed stateful service, which is the harder category. You are sizing memory for index replicas, handling node failure and rebalancing, planning upgrades that do not lose the index, and monitoring all of it. None of this is exotic if your team already runs stateful workloads on Kubernetes, and all of it is a meaningful undertaking if it would be your first. Be honest about which situation you are in before comparing feature tables.

Why does object storage change the cost so much?

Because it separates holding data from serving it. A memory-resident engine pays RAM for every index whether or not anyone queries it, so a thousand tenants means a thousand indexes in memory. Building on object storage means idle namespaces cost pennies per GB and only active ones consume compute. With a long tail of inactive tenants that is the entire business case; with one constantly queried corpus it buys nothing and costs cold-start latency.

What does the cold-start penalty look like?

The first query against a namespace that is not cached has to fetch from object storage, adding meaningful latency before the cache warms; subsequent queries behave normally. Whether it matters depends entirely on access pattern. An interactive search box where each user hits their own rarely-used namespace will feel it on every session. A background job or a namespace queried continuously will not notice.

Can we avoid vendor lock-in with turbopuffer?

Only partly. There is no self-hosted build, so the service is the only way to run it, and that is a genuine commitment. The mitigation is that embeddings are portable — the vectors carry no proprietary format — so migrating means re-uploading and rebuilding indexes rather than reconstructing data. If regulatory or contractual requirements rule out a managed service entirely, Vald is the option that satisfies them.

Which is the safer default?

For most teams, the managed service, simply because operating a distributed vector engine is work that competes with building the product. Vald becomes the right answer when a specific constraint makes it so: data residency, an air-gapped environment, an existing Kubernetes platform team with capacity, or a scale where the usage bill exceeds the cost of running it yourself.