Hi all. I was in a meeting recently where the chair was extolling the virtues of Graph databases. So much so that he asserted, if they’d been invented, Ralph Kimball would never have become involved with dimensional modelling and would have used Graph databases instead. I have been involved with dimensional modelling (and cubes) for many years, but can’t claim to have built a Graph database. However, I understand their strength is in identifying relationships. If you’re working with data that is hierarchical in nature and, the relationships are evident, then Graph is not appropriate. Would be interested in you views. Cheers
2 Spice ups
Graph databases certainly have their place when appropriate.
As to when a given database solution is appropriate, I’ll defer to a blog entry Jeremiah Peschka made on Brent Ozar’s site :
"It’s important to understand what problem you’re trying to solve, understand the volume of data, and understand how the data is going to be used before making the final selection. There are many ways to store data. "
It’s pretty presumptuous to say what Kimball would or would not have done. Such a comment raises red flags where someone has found a shiny new toy and thinks it should be used everywhere.
Also found an interesting article on Red Gate by Buck Woody who explains why he chose a graph database for his Data Science Lab project. His take:
“So when would you choose a Graph Database over an RDBMS, KVP or Document Database? The primary factor is when the data is more focused on relationships than lists.”
Right tool for the right job. That works everywhere. You CAN drive a screw with a hammer but…
1 Spice up
I work for a bank and we use both Graph and RDBMS.
The Graph is used to understand the interactions that a customer may have with various parts of the business that result in positive/negative outcomes.
All other information comes from our Data Warehouse which is a dimensional model designed in line with Kimball methodology. This provides a 360 view of the business and allows us to understand the volume and types of transactions undertaken by customers and where they are taking place.
Hope this helps.