Max wrote an inspiring article about graphs in data modeling on Medium, packed with his own thoughts – “to sort out some things in my brain” (Max).
He asks and answers the question: Are graphs and graph databases useful in data modeling, and if so, for what and under which circumstances?
In his article, he goes all the way down from the theoretical approach of what is a graph? towards storing a graph in different storage models (RDBMS, document store and graph databases) to querying a graph and finally to his personal conclusion.
The articles conclusions are also his personal conclusions, which can obviously be controversial for others.
- The relational data model is OK for graphs, but SQL as query language seriously limits capabilities for “graphy” queries.
- A pure document store without joins is too limited to sensibly work with graphs.
- The Wikipedia definition of a graph database is not very helpful, concentrates on the wrong features (index-free adjacency) and misses important points (graphy query capabilities).
- A pure graph database is good if your data is graph (not all is!) and you need only “graphy” queries.
- The real quantum leap in data modeling flexibility is only achieved with a database that allows to mix SQL like index-supported queries with joins and graphy queries, in the same query language and database engine.
- Multi-model databases with documents, graphs and key/value pairs and a query language that supports index-queries, joins and graphy queries are the future.
Don’t agree or want to add your own thoughts? Please read the medium article “Graphs in data modeling – is the emperor naked?” and use the comment function on medium.