Graphs are fascinating. I think, we like graphs more and more these days. I like graphs a lot because in my view graphs are reflecting a variety of relationships we have in real life and computer applications. Design and manufacturing software has a lot of dependencies on graph data models. If you think about CAD models, product configurations, BOMs, and many other things – it all can be represented using graph model. At the same time, graph is complex thing. It requires lots of computing power to get value out data represented in such way.
For the last decade, web companies made significant investment in research and development of variety of graph oriented data processing solutions. Google, Amazon, LinkedIn, Twitter, Facebook… all big names are here. Lot of graph-related technologies are available as open source these days.
In one of my previous blogs I posted about PLM graphs and Facebook Graph search. Navigate here to refresh your memories. In my view, it something that certainly requires an additional attention as a technique to process data as well as user experience.
Earlier today, one of my friends shared with me GigaOM article – Graph make headway, but simplicity is still a few hops away. Article brings couple of good examples of how Twitter and Walmart are using graphs to provide smarter solutions for their customers.
Twitter’s Who to Follow tool is a fine example of a product benefiting from a graph model for data. Who to Follow depends on the FlockDB graph database and the Cassovary in-memory graph-processing engine Twitter constructed in-house and then released to everyone under an Apache License. The product mines existing connections among users, shared interests and other data in order to makes its recommendations with data in a graph that can run inside the memory of a single server.
Lei Tang, a data scientist at @WalmartLabs, talked about how he’s been working on drawing on lots of data sources to recommend products to website users that they might actually want to buy. A smart recommendation system ought to shift in response to incoming data on, say, a user’s page views and purchases, he said. This is where clustering of products can be wise. So while a user might view a bunch of televisions before ultimately buying one, the cluster of television products within the larger set of products the system can recommend should be set aside as soon as the purchase happens.
The problem today is that most of graph solutions are complicated for engineering and required lots of effort to be used for the development of mainstream applications. The simplicity is a key – this is a conclusion for tech developers promoting graph based solutions.
What is my conclusion? Graphs are still in an infancy in terms of the ability to provide a mainstream solutions to every developer. However, not paying enough attention to graph processing can cost future efficiency and competitive advantages to current CAD/PLM providers. The biggest challenge for these companies will be to integrate existing solutions and algorithms with graph models. However, growing amount of data and customer demands to scalable data processing technologies can be an interesting challenge to solve. Just my thoughts…