
The Vector Lake for
AI Memory
Store, search, and version-control AI knowledge and memory.
Free plan: 1 PB reads & 2 GB writes/mo · no card
Scales instantly with the burst. $0 when idle.
Hybrid search fans out one request into parallel queries; agents stack writes on top of every read. The burst lands on your biggest day.
Provisioned capacity bills you for idle; serverless quotas throttle you at peak. Either way, the ceiling is yours to manage.
Test your AI memory like you test your code.
Agents write to their own memory as they run, and every write is a potential regression.
Your database keeps only the latest version of what your AI knows: no history, no comparison, no undo.
What one version history unlocks
Swap embedding models on a branch, and promote only what beats production.
Roll back to any tagged version when data gets poisoned or overwritten.
Pin reads to a tag, so any answer can be reproduced against the exact version and fixed.
Freeze a state as an immutable version.
Point traffic at a version and repoint without code changes.
A connected line of versions inside a collection.
Search any version: branch, tag, or alias.
Pin reads to a tag; any answer can be re-run against that exact version.
Production-grade search, included in every plan.
No platform fees or minimums. Hybrid search, filters, consistent reads, and EN · KO · JA analyzers on every plan, including free.
Lexical, vector, filters: one request
Lucene query strings with fuzzy matching and boosting, k-NN with pre-filters, and both rankings fused with RRF. English, Korean, and Japanese analyzers built in.
Read the docs// Lexical + vector, fused with RRF: one requestconst results = await client.collection("kb").query({ size: 10, query: { rrf: [ { queryString: { query: 'title:(refund OR policy)^2.5 OR content:lambdadb~2' } }, { knn: { filter: { queryString: { query: "metadata.type:guide" } }, field: "content_embedding", queryVector: await embed("refund policy update"), k: 10 } }, ], },});// Lexical + vector, fused with RRFconst kb = client.collection("kb");const results = await kb.query({ size: 10, query: { rrf: [ { queryString: { query: 'title:policy^2 OR refund~1' } }, { knn: { filter: { queryString: { query: "metadata.type:guide" } }, field: "content_embedding", queryVector: await embed("refund policy"), k: 10 } }, ], },});Works with your AI stack. MCP server for Claude, Cursor, and any MCP client · Python, TypeScript, and Go SDKs · REST · LangChain · MCP setup guide →
Guides for migrating from Elasticsearch, Pinecone, and Qdrant →
Isolated, encrypted, recoverable.
What happens to your data, in plain terms.
API keys are scoped to one project. A key can't read another project's data.
Data lives in the AWS region you choose, and stays there.
Object storage underneath, replicated across availability zones.
Roll back to any tagged version, and search past versions to see what changed.
Encrypted at rest and in transit · SOC 2 Type II in progress.
Stay on the Frontier




FAQFrequently asked questions
Because nothing is running while you're idle. Your documents, vectors, and indexes live in object storage, a durable layer with no compute attached. Query and indexing workers spin up per request and disappear when the burst passes. With no always-on index servers, there's nothing to bill between requests: you pay for storage, reads, and writes only.
Because your data sits in one durable layer, object storage, and search runs over it on demand: the same shape as a data lake, but indexed for millisecond hybrid search instead of batch analytics. One copy of the data, queryable and versionable like code.
It is, if you hit cold storage on every query. LambdaDB keeps frequently-read data in a cache layer the system manages for you, so most reads never touch the object store. Measured on 22M Cohere-V3 vectors (1024-dim): P99 280 ms at 128 QPS. The limits and pricing behind that number are public in our docs.
In durable object storage, in the region you choose, isolated per project. A write is durable once acknowledged. With consistent reads enabled, it's queryable the moment the call returns.
Either way works. Bring vectors from any model, or point a field at an embedding provider and LambdaDB handles embedding at write time and query time.
Most serverless databases hide the servers but keep your data attached to them, so read caps appear per namespace, and the official fix is reserved compute billed by the hour. LambdaDB separates storage from compute completely: reads scale with the burst without sharding, pinning, or reserved nodes, and idle costs $0.
Didn't find your question? Ask in the community Slack or talk to us.
Start small. Experiment safely.
Scale what works.
Hybrid search with no clusters to size. Branch, evaluate, and promote with aliases.