I don’t know. I like Feynman as much as the next person, but I think there are different ways to talk about things that correspond to different levels of understanding of things.
My upshot was: I think Mongo has some problems that are intrinsic that limits it’s share of the NoSQL TAM, which will not grow as a large as the entire database TAM.
You’re right. Document oriented DBs store related data as documents. The way other types of distributed databases persist related data different, and as a result, tend to specialize in different use cases.
The “flexible schema” aspect of Mongo is the problem, where I feel that the flexibility will give enterprises headaches with it in the future. Say you persist {“poster”:“SteppenWulf”,“score”:“10000”} but later change your mind at an application tier about your document model’s score representation and save {“poster”:“ajm101”,“score”:“0xA1”}. You wouldn’t do this, just for example. You now have two versions of your document. Your application tier has to be aware of this. In the regular (OLTP) example you CREATE TABLE poster(alias VARCHAR(128), score int) and while you have to worry about changing your data model over time, its fairly well defined for all consumers at a given point in time. I was just saying that more complicated document structures, more documents, and more generations of document schema creates a high complexity obligation on the application tier. Maybe you know more than I do about current best practices around json schema validation on update/create operations, or the cost of doing so.
If you just like the document paradigm, I’m just saying that you can still enjoy the performance of PostgreSQL (the jsonb type is the mechanism) and get that and happily scale to many TB and be highly available.
I also know about sharding and replication, of course. Typically you have an implied primary key that is associated with a unit of replication (node, shard whatever). I don’t think that you require blockchain for this (https://docs.datastax.com/en/cassandra/3.0/cassandra/archite…) and I thought that Mongo had a low-rent for of it (but wasn’t masterless and it had coordinating processes) but I’m not sure and happy to be corrected.
I think they bought WiredTiger (that’s fine) and I don’t know how multimodel it is already or how much it will be. But everyone is converging to the same thing there, and Mongo will be competing against Marklogic, DataStax, Couchbase, and Redis as independent vendors. And AWS DynamoDB, Oracle NoSQL, MSFT Cosmos DB, and Google Spanner are going to be tough competitors (data sovereignty/privacy aside).