AIToday
Large Language ModelsDaily Dose of Data SciencePublished: Aug 28, 2026, 06:00 JST2 min read

Zep builds Konig to handle millions of idle graphs

Zep builds Konig to handle millions of idle graphs

Key takeaway

  • Zep built Konig to handle millions of small idle knowledge graphs per enterprise customer.

  • Traditional graph databases assume one large resident graph, causing costs to follow provisioned memory.

  • Konig tiers storage across RAM, NVMe, and object storage, achieving p95 under 100ms.

3 Key Points

  1. What happened

    Zep built Konig, a graph storage system that keeps hot graphs in RAM, recently used graphs on local NVMe, and idle graphs in object storage. Retrieval holds a p95 under 100ms from a thousand graphs up to tens of millions, with end-to-end latency under 200ms.

  2. Why it matters

    A single enterprise customer can run millions of graph instances, most of which are cold at any given moment. Traditional systems like Neo4j are built for one large resident graph, so costs follow provisioned memory rather than reads actually served, and adding hardware stopped helping Zep.

  3. What to watch

    Konig runs PageRank inline in milliseconds rather than as a batch job because each query reads a single graph. It also keeps two in-memory layouts of every graph and converts between them on demand.

Ask the AI about this article →

Context & Analysis

The article explains why Zep moved away from conventional graph databases for its agent memory workload. Traditional systems like Neo4j assume one large graph stays resident in memory, with every request passing through a Cypher parser and query optimizer. But agent memory stored as a knowledge graph produces one graph per user, team, and project, and a single enterprise customer can run millions of them, most cold at any given moment. That makes the cost follow provisioned memory rather than reads actually served.

Konig was built around this access pattern by tiering storage: hot graphs in RAM, recently used graphs on local NVMe, and idle graphs in object storage. Because each query reads exactly one graph, PageRank can run inline in milliseconds rather than as a batch job. The system also attaches encryption keys and retention rules to each graph, and keeps two in-memory layouts of every graph, converting between them on demand.

The blog also frames Konig within the wider LLM caching landscape, distinguishing four types: KV cache for attention tensors per request, prefix caching keyed by hash chains over token IDs, prompt caching as the provider's billed version at 0.1x read and 1.25x write rates, and semantic caching storing finished responses by cosine similarity. The first three are exact-match and correctness-neutral, while the semantic cache is fuzzy-match and can return wrong answers with a 200 status.

FAQ

How does Konig handle storage for idle graphs?
Konig keeps hot graphs in RAM, recently used graphs on local NVMe, and idle graphs in object storage, loading them back when a query arrives.
What are the latency guarantees for Konig?
Retrieval holds a p95 under 100ms from a thousand graphs up to tens of millions, and end-to-end latency stays under 200ms.
Daily Dose of Data ScienceRead Original Article

Get the latest Large Language Models news every morning

AI-summarized, only the topics you pick — one digest a day via Email, Slack, or Discord.

Free · takes 30 seconds · unsubscribe anytime

Ask AI

Ask AI anything about this article. Q&As are published on this page for other readers too.

Related Articles

Next articleCommune to let AI answer product review questions, targets 1,000 firms in 2 years