{
  "id": 9777675,
  "title": "Home Made CobbleDB Replaces DynamoDB at Perplexity to Cut Query Latency 5x and Reduce Cloud Storage",
  "url": "https://urgent.news/2026/09/25/home-made-cobbledb-replaces-dynamodb-at-perplexity-to-cut-query",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-25T14:14:00.000Z",
  "source": {
    "name": "InfoQ",
    "slug": "infoq",
    "url": "https://www.infoq.com/news/2026/09/cobbledb-perplexity/"
  },
  "original_language": "en",
  "account": "Perplexity Technologies has moved its primary search serving system away from Amazon DynamoDB to a custom-built distributed key-value store called CobbleDB, written in Rust. This change was made in response to severe performance issues and cost overruns caused by serving large document batches to language models under heavy query loads. By separating durable storage from fast retrieval, the team was able to cut batch-read latencies by a factor of five and decrease overall storage costs by at least 20%.\n\nAI-powered search engines have unique read patterns, often requiring retrieval of full passages and dense vector embeddings, leading to average record sizes of about 50 kilobytes. At peak traffic of 200,000 requests per second, DynamoDB's billing model based on data transfer became financially impractical. Additionally, DynamoDB's opaque internal workings made it difficult to optimize performance, leading to unpredictable latency spikes from uncached reads, cross-zone networking, and replica lag. High-volume writes during updates to chunking algorithms or embedding models further strained the system.\n\nIn response, Perplexity restructured its storage into three specialized components: Pillar for durable state management, Lorry for batch aggregation, and CobbleDB for low-latency serving. Pillar, running on high-capacity hard drives, manages versioned metadata tables. Lorry acts as a stateless queue consumer that groups Pillar exports into partition-aligned batches, storing them in Amazon S3 and posting metadata to CobbleDB. CobbleDB, a distributed key-value store optimized for batch lookups, runs on NVMe solid-state disks and uses RocksDB for storage. It maintains three replicas per partition across independent compute nodes, with a stateless router mapping page identifiers to partitions and coordinating reads. To reduce network overhead, requests are routed to locally available replica nodes. If a slower replica is detected, the router attempts a concurrent read from a faster replica on another node.\n\nIn benchmarks, CobbleDB reduced median batch-read latency from 31.4ms to 5.6ms, p90 latency from 56.7ms to 9.77ms, and p99 latency from 123ms to 24.2ms. This demonstrates its ability to handle up to 500,000 requests per second while maintaining fast response times. However, the switch to an open-source solution means that Perplexity's internal team is now responsible for node management, backups, and rebalancing, with the added challenge of dealing with eventual consistency.",
  "summary": "Perplexity has migrated its search infrastructure from Amazon DynamoDB to CobbleDB, an internally developed key-value store in Rust. This change reduced latency and costs associated with handling large document batches. The new architecture supports high query volumes more efficiently, achieving improved latency and reduced storage expenses while managing significant production traffic. By…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}