There has been a fair bit of work since this time on automated data modeling for NoSQL databases given a conceptual model and information on the workload. Some of this work is my own[0], but there has been a lot of other related activity. One thing that I've been happy to see explored more is cost modeling[1] in NoSQL databases as this makes any sort of automated reasoning much easier. I doubt we'll ever get to the point where data modeling by an expert is never needed, but I think there's a lot we can do to make things easier and more performant for novices.<p>[0] <a href="http://ieeexplore.ieee.org/abstract/document/7967690/" rel="nofollow">http://ieeexplore.ieee.org/abstract/document/7967690/</a><p>[1] <a href="https://www.researchgate.net/publication/350366905_A_cost_model_for_random_access_queries_in_document_stores" rel="nofollow">https://www.researchgate.net/publication/350366905_A_cost_mo...</a>
To my mind, the point of databases is to provide as accurate a representation of some aspect of external reality as possible. The advantage of graph databases is that they model the world as things that have properties and relationships with other things.<p>This is closer to the way that humans perceive the world — mapping between whatever aspect of external reality you are interested in and the data model is an order of magnitude easier than with relational databases. Everything is pre-joined — you don’t have to disassemble objects into normalised tables and reassemble them with joins.<p>In this respect, even the simplest graph database such as Neo4j — which models the world as a bunch of JSON documents, some of which may contain pointers to other JSON documents, is much better than even the fanciest RDBMS. Granted there is no taxonomy or schema, and support for temporality is basic, but it’s easy to produce a much more naturalistic model of the world than will ever be possible if you have to break the things up into relations.
Past comments: <a href="https://news.ycombinator.com/item?id=12733425" rel="nofollow">https://news.ycombinator.com/item?id=12733425</a>
I thought this was going to be one of those oneliner posts: Use SQL<p>Like this: <a href="https://www.amazon.com/Why-Socialism-Works-Harrison-Lievesley/dp/1521531218" rel="nofollow">https://www.amazon.com/Why-Socialism-Works-Harrison-Lievesle...</a>