It's too early to tell whether Facebook's heralded new Graph Search interface signals a turning point for Web applications, but its official release this month represents a coming-out party of sorts for the idea of graphed data.
Though still on the edges of mainstream development, graph data models and related databases have gained some attention as yet another form of
Graphs have been around … the mining of connections has made the demand much more mainstream.
CEO, Thumbtack Technology
"Graphs have been around for some time, but the emergence of big data, the capturing of social relationships and the mining of connections has made the demand much more mainstream," said Ben Engber, CEO at Thumbtack Technology, a software development services firm in Brooklyn, N.Y.
Mapping social relationships is central to Facebook's choice of the graph method. If successful, it could bring greater attention to vendors of graph database offerings, which include Neo Technology Inc., Objectivity Inc., Orient Technology and YarcData.
Graph databases organize collections of nodes and relationships, using graph data models that are exposed through familiar Create, Read, Update and Delete (CRUD) methods. While supporting online transaction processing that is somewhat similar to the types of jobs SQL relational databases can run, the graph-oriented approach to data modeling is very different than conventional relational modeling. Graph databases also show some similarities to object-oriented databases, and some object-oriented databases are used as stores for graph processors.
The Facebook Graph Search application rides atop a home-brewed, in-memory database called Unicorn. The database feeds a search application that maps terms to sets of documents that are treated like connections in a Facebook social graph. The end result, Facebook said, is that Graph Search can very quickly retrieve and display restaurants your friends like, places the friends of your friends like, and so on.
Indicators point up for graph databases
Not surprisingly, Neo Technology CEO Emil Efrem sees the release of Graph Search as an inflection point for commercial graph databases, which are still relatively new to the market. Neo itself came to the graph database in a roundabout way, said Eifrem, who spoke with SearchDataManagement earlier this year at the company's GraphConnect roadshow in Cambridge, Mass. Its Neo4j technology emerged from work on a Swedish multitenant application service provider's content management systems, and is now accompanied by the Neo-developed Cypher Query Language, according to Eifrem.
For more on
Find out about the Hadoop ecosystem
Learn how HTML5 plays in the BI space
Catch up on business decision in the age of big data
Computing advances have allowed systems to track much more user activity, and this in turn has driven data architects to rethink their data architectures, according to Engber, whose company partnered with Neo in June to provide graph database development help to users.
Technologies like Neo4j have emerged as valuable tools for user activity tracking and data mining, he said -- in applications such as exploring social networks, for example. Neo4j "can handle a giant web of connections," Engber said. "It shows how one person is connected to another person; it's a six-degrees-of-separation kind of problem. This is an extremely convenient way of doing that."
Getting familiar with the graph
Graph databases may be unfamiliar because they have not been used for the bog-standard types of business transactions where relational databases excel. But they underlie some network management software, supply chain systems and security and national intelligence applications.
"They have been using graph databases in intelligence forever. It provides a very useful way of looking at relationships," said Robin Bloor, chief analyst and co-founder of The Bloor Group, a consultancy in Austin, Texas.
Bloor said that because there haven't been graph models in the market-leading relational databases, the graph approach has been mostly overlooked by corporate users. But it shouldn't be ignored anymore, he added: Graphs provide "a good representation of the data structure with which you're dealing."
Like many applications, particularly Web apps, Facebook Graph Search may come and go. On the other hand, it has the potential to give a spark to the use of graph data architecture in special cases that fit the graph model.