Sergey Nivens - Fotolia
Graph database technologies provide a lot of value to users, but can have some barriers to adoption.
Data graph vendor Apollo is aiming to help overcome several obstacles to enterprises using graph databases with its latest Apollo Data Graph Platform update, which became generally available on July 16.
Among the key new features in the platform are federated management capabilities that enable more scalability across different GraphQL data graph instances. GraphQL is an open source query language for APIs, originally created by Facebook that is used to enable data graph capabilities.
The GraphQL market is still in its infancy and much more development is needed, said Randy Heffner, an analyst at Forrester.
Meeting enterprise graph database needs
"That said, Apollo looks like a very interesting vendor to track -- it's looking ahead to enterprise problems and higher-end features that enterprises will need," Heffner said. "The ability to have federated management of a graph is a key example of this kind of enterprise need."
Heffner explained that a federated graph database such as the Apollo Data Graph Platform enables teams that own different segments of an organization's data to pool resources to serve a larger need, while still maintaining control over their data segment. He added that Apollo and other GraphQL vendors will compete with and challenge each other in developing these kinds of capabilities.
Apollo's main mission is helping enterprises roll out data graph technology, Apollo co-founder and CTO Matt DeBergalis said.
A data graph, in DeBergalis' conceptualization, is a layer that sits between the application that an organization or its outside partners build and the underlying source of data that every organization possesses. The Apollo data graph doesn't necessarily sit on top of a specific type of database, but rather connects with an API to underlying data sources.
"I like to think of it as Amazon Prime for the data in your organization," DeBergalis said. "So with the data graph, instead of writing code, I type the query and just describe what I want and I don't have to know as an app author, behind the scenes, how all that's being orchestrated and where all that's coming from."
Data graph federation
It's not ideal to have a single piece of software that has an entire development team pushing code into it, that sits between products and services, DeBargalis said. Rather, from a development and workflow perspective, there's a need for something that's scalable for performance and reliability, he noted.
Randy Heffner Analyst, Forrester
"So the idea of federation is to resolve this conundrum of how do you define one data graph for the whole organization, but implement that graph in parts, so that different teams can be responsible for different pieces," DeBergalis said.
Any data graph layer can contain different concepts. Apollo said with the Apollo Data Graph Platform it is seeking is to enable users to separate those varying concepts by concerns.
So for example, one graph could understand what a product is with all the information that is needed. Another graph could be built that understands user reviews for a product.
"Apollo Federation is about how do we define a data graph so that the users can type a query that spans those divisions, but the actual implementation and the DevOps, the actual rollout of the software that does that work is kept separate," he said.
How it works
From a technical perspective, federation works in the Apollo Data Graph Platform by serving as a gateway that sits in front of the different graph services. DeBergalis said the gateway's job is to take an incoming query across the whole graph and build a plan and then issue a number of requests to the underlying services to get the data that it needs, stitch those back together into a result, and send that up to the requesting client.
Looking ahead, DeBergalis said Apollo will keep looking for ways to make it easier for organizations to embrace data graph technology.
"Every company should have a data graph and that means that we need to make it easier for product engineering teams at companies large and small to be able to stand up a data graph and see value from it right away," he said. "A lot of our roadmap is about how we accelerate that process."