Pulling a document together back from its parts cannot be faster than jsonb or whatever. But it can be orders of magnitude faster if you are pulling a collection out of a query and you avoid scanning the whole thing. Let me elaborate.<p>When you search in MongoDB (or PostgreSQL with a single table with a jsonb column) the executor needs to visit every single document, every single key, to try to see whether that documents matches the query criteria. This means that in the absence of indexes (or inability to use them, as it happens in MongoDB, where they are not used under many circumstances) the whole db would be scan to answer every single query.<p>I contrast, ToroDB effectively is &quot;partitioning&quot; the data &quot;by type&quot; (being the type the shape of the documents). See this explanation for more detail: <a href="https:&#x2F;&#x2F;github.com&#x2F;torodb&#x2F;torodb&#x2F;wiki&#x2F;How-ToroDB-stores-json-documents-internally" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;torodb&#x2F;torodb&#x2F;wiki&#x2F;How-ToroDB-stores-json...</a>. To answer a given query, ToroDB only reads those tables with potential documents involved in the result, which usually is a small % of the while database. And this, of course, leads to significantly less I&#x2F;O and queries that can run up to orders of magnitude faster.