Just use Postgres, until it actually hurts
The queue, the cache, the search index, the vector store, the job scheduler and the analytics table for a product with 40,000 daily users all live in one Postgres 18 instance, and that was the plan from the start. Here's what each piece looks like, what it costs, and the three specific signals that would make me move one of them out.