← All questions
System DesignVery Hard· Managed vs In-Process Search· System Architecture· Cost Optimization

Infrastructure has standardized on a managed vector dat...

While platform teams rightly prioritize maintaining a single standard infrastructure with a unified on-call rotation, an operational and quantitative evaluation justifies an in-process alternative for small datasets. At 800,000 chunks (8 x 10^5), the entire vector index requires only 2.46 GB of memory. Instead of managing a separate database or making external network calls, the index can be loaded directly into application process memory as a NumPy array and rebuilt from the primary database in seconds upon startup.

This in-process architecture eliminates a network round-trip, removes an availability dependency on an external database, and avoids eventual-consistency bugs between the document store and the vector index. To keep the architectural decision objective and reversible, define explicit trigger conditions—such as the corpus growing to 3.3 million chunks, requiring complex cross-tenant filtering, or needing multi-service vector sharing—at which point the application must migrate to the managed platform.

Code playground (Python)