Parallel workers are the first thing I get asked to compare, and they're rarely what decides the suite.
Free parallelism buys you nothing while every worker fights over the same seed data. Give each one its own tenant and the licence question drops to a budget line.
I got asked which cache is fastest last week. Wrong question. The invoice decides this one.
At $0.20 per 100K commands, a $20 fixed gigabyte buys 10 million of them. That's about 3.9 commands a second sustained — above that line, the fixed plan's just cheaper.
A tenant holding two percent of your rows can come back empty, no error and nothing in the logs.
HNSW returns roughly 40 candidates by default and the tenant filter eats most of them before they reach your app. Iterative scans in pgvector 0.8, or a partial index per tenant, sorts...
I've spent a week tuning a router before, then watched one unindexed join undo the whole thing.
Routing costs microseconds. A database round trip costs milliseconds. Hono's 14 kB and run-anywhere reach are real, and neither one rescues a bad query plan.
I reviewed a dashboard last month where the delete action trusted the tenant id handed to it. No check, because the button calling it already sat behind auth.
That's the shape of all four Server Action CVEs this year, one a 10.0. The boundary moved off the client and the...