MongoDB, DynamoDB, and Postgres JSONB are in a lively match-up about when to lean into schema flexibility and how to model references [1]. The core question: should you chase a schema-free vibe or lock in structure for reliable queries and relationships? [1]
Schema philosophy — DynamoDB is praised for iterative development and, in one view, fits about 90% of use cases, making it a default for fast experimentation [1]. MongoDB is seen by some as the closest match to a flexible, schema-free approach, while Postgres with JSONB is a strong second but SQL-driven JSON editing can feel awkward and messy around NULLs [1].
References and updates — A common itch is that MongoDB lacks a simple, built-in way to keep a document reference updated across embedded docs, pushing teams to reinvent patterns [1]. Yet there’s a broader trend: document stores are borrowing relational features while relational databases borrow document-style capabilities [1].
Concrete paths — Some discussions point to Postgres as a practical middle ground for mixed workloads, with a pattern like a table holding a jsonb column to store documents, offering SQL power with JSON-rich data [1]. Example pattern surfaces: create table document (id uuid primary key default genrandomuuid(), doc jsonb not null); [1]
Closing thought: the best choice depends on how strictly you want schemas and how deeply you need cross-document references in your app, now that all three camps are borrowing each other’s tricks [1].
References
Skills I Was Missing as a MongoDB User
Debate on MongoDB suitability vs DynamoDB, Postgres JSONB, and SQL; discusses schemas, references, and evolving feature sets in source DBs.
View source