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.