<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3" -->

---
title: Why ad platforms run six databases to answer one question
description: Ad platforms accumulate six or more databases not by design but through incremental decisions: a key-value store for auction lookups, a columnar store for...
canonical: https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Why ad platforms run six databases to answer one question | daily.dev
og:description: Ad platforms accumulate six or more databases not by design but through incremental decisions: a key-value store for auction lookups, a columnar store for...
og:url: https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3
og:image: https://api.daily.dev/og/posts/9dEw0UPB3.png
og:image:alt: Why ad platforms run six databases to answer one question
og:image:width: 1200
og:image:height: 630
og:locale: en
---

[SingleStore](https://daily.dev/sources/singlestore)

[Read post](https://api.daily.dev/r/9dEw0UPB3)

# [Why ad platforms run six databases to answer one question](https://api.daily.dev/r/9dEw0UPB3 "Go to post")

Ad platforms accumulate six or more databases not by design but through incremental decisions: a key-value store for auction lookups, a columnar store for real-time aggregates, a search index for audience filtering, caches, and eventually a vector store. Each addition is locally rational but collectively creates a lambda-style architecture with duplicate data, pipeline latency of 40+ minutes, reconciliation overhead, and fragmented ownership. The core problem is that warehouses and lakehouses handle batch OLAP well but cannot serve the low-latency, high-concurrency HTAP workloads ad platforms require. HTAP engines that store data in both row and columnar formats can ingest streams and make them immediately queryable, eliminating the need for most secondary systems. The recommended approach is incremental migration starting with the highest-friction workloads, while keeping the warehouse for historical archives and model training.

[#data-architecture](/tags/data-architecture "Check all #data-architecture posts")[#singlestore](/tags/singlestore "Check all #singlestore posts")

Jul 09•11m read time•From [singlestore.com](https://api.daily.dev/r/9dEw0UPB3 "singlestore.com")

[![Post cover image](https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b686130899f002e54d5b45184ad6cc64?_a=AQAEuop)](https://api.daily.dev/r/9dEw0UPB3 "Go to post")

Table of contents

[Where do the extra databases come from?](https://api.daily.dev/r/9dEw0UPB3?a=where-do-the-extra-databases-come-from "Where do the extra databases come from?")[Why does the split between batch and real-time cost so much?](https://api.daily.dev/r/9dEw0UPB3?a=why-does-the-split-between-batch-and-real-time-cost-so-much "Why does the split between batch and real-time cost so much?")[What does the lag look like from the outside?](https://api.daily.dev/r/9dEw0UPB3?a=what-does-the-lag-look-like-from-the-outside "What does the lag look like from the outside?")[What does the sprawl actually cost?](https://api.daily.dev/r/9dEw0UPB3?a=what-does-the-sprawl-actually-cost "What does the sprawl actually cost?")[Why do well-run platforms fail to notice?](https://api.daily.dev/r/9dEw0UPB3?a=why-do-well-run-platforms-fail-to-notice "Why do well-run platforms fail to notice?")[What does an HTAP serving layer change?](https://api.daily.dev/r/9dEw0UPB3?a=what-does-an-htap-serving-layer-change "What does an HTAP serving layer change?")

1.1K Impressions1 Upvote

Comment

Bookmark

Copy

![Placeholder image for anonymous user](https://media.daily.dev/image/upload/s--qsFuKGv_--/t_logo,f_auto/public/noProfile)Share your thoughtsPost

[![SingleStore's image](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/e2118b72d715435c84d6060bbe11d275)](https://daily.dev/sources/singlestore)

[SingleStore](https://daily.dev/sources/singlestore "https://daily.dev/sources/singlestore")

SingleStore Blog offers insights, tutorials, and updates on SingleStore, a distributed SQL database ... Read more

54 Followers

•

866 Upvotes

#### Would you recommend this post?

Copy link

WhatsApp

Facebook

X

New Squad

Copy linkShare with your friends

1

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Why ad platforms run six databases to answer one question","url":"https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3"},"datePublished":"2026-07-09T14:04:23.900Z","dateModified":"2026-07-09T16:22:03.181Z","description":"Ad platforms accumulate six or more databases not by design but through incremental decisions: a key-value store for auction lookups, a columnar store for...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b686130899f002e54d5b45184ad6cc64?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b686130899f002e54d5b45184ad6cc64?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"SingleStore","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"SingleStore","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/e2118b72d715435c84d6060bbe11d275","url":"https://daily.dev/sources/singlestore"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/why-ad-platforms-run-six-databases-to-answer-one-question-9dew0upb3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"data-architecture,singlestore","timeRequired":"PT11M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"SingleStore","item":"https://daily.dev/sources/singlestore"},{"@type":"ListItem","position":3,"name":"Why ad platforms run six databases to answer one question"}]}
```

