Sergey Nivens - Fotolia
One of the strongest trends in data application development in recent years has been the rise of the GraphQL query language. GraphQL is finding adoption by database vendors and enterprises as a way to create a data graph of knowledge that connects disparate sets of information via an API layer.
GraphQL was started by Facebook as an internal development in 2012 and was first publicly released as an open source data project in 2015. The GraphQL Foundation was launched in March 2019 with open governance and the support of multiple organizations, including Facebook, GitHub, Twitter, Airbnb, Apollo and Shopify.
After a year, the GraphQL Foundation has seen some success, which it summarized in its first annual report April 2, reporting that that membership in the foundation has grown from 10 members when the organization launched to 21 members in 2020.
While GraphQL itself is going strong as a data query language, some observers are still cautious at this stage about evaluating the success of the foundation.
"The GraphQL ecosystem has been thriving over the last couple of years," said Gary Olliffe, a Gartner analyst. "We have seen it expand from the front-end developer ecosystem where it began to penetrate the API ecosystem, including adoption by technology vendors and enterprises."
The GraphQL Foundation appears to be growing steadily and guiding the specification at a sensible pace, though that pace may feel slow, Olliffe said. An update to the specification, the first since 2018, is due later this year.
"While the foundation's recent 2019 annual report highlights positive progress and shares some very brief insight into what is planned for 2020, there is still little in the way of a concrete roadmap, their priorities or visibility into what is coming next," Olliffe said.
Olliffe noted that simply looking at the GraphQL website or Twitter feed you might be forgiven for thinking there was little happening with GraphQL. Instead, he said, news about GraphQL is plentiful in the GraphQL community, such as on Reddit.
Foundation wants a neutral home for GraphQL
Lee Byron, executive director of the foundation and co-creator of GraphQL, said his main goal for the foundation was to create a neutral home for GraphQL that has a clear licensing and ownership model to enable continual development of GraphQL's core technical projects. In that regard, the foundation's first year has been positive, he said.
"In the last year, we improved the GraphQL spec to address a number of inconsistencies and ambiguities," Byron said. "We also solved some issues that caused different implementations of GraphQL to interpret query text in subtly different ways."
Gary OlliffeResearch vice president, Gartner
The GraphQL hosts several projects, including the core protocol specification, GraphQL.js reference implementation, data loader library and GraphQL developer tool. Though GraphQL is sometimes used by databases, the foundation has no plans to take ownership of any database-specific projects.
"GraphQL is importantly not a database query language," Byron said. "There are some impressive databases which can provide a GraphQL-based API for some kinds of queries."
For Byron, GraphQL is most successful as an API layer, typically overlaying systems with complexity such as multiple services or databases and unifying them into a holistic surface for clients.
One such organization that has used GraphQL to unify different data sources is San Francisco-based financial services firm Credit Karma, which has been using GraphQL in production since 2017. Credit Karma's GraphQL architecture provides data to users in a model that doesn't directly expose a database.
The intersection of GraphQL data graphs and databases
Another software company, data graph vendor Apollo, based in San Francisco, is one of the founding members of the GraphQL Foundation and also has a commercial Data Graph Platform based on GraphQL.
"Apollo is an implementation of GraphQL that's specifically designed to allow companies to define a data graph, a GraphQL schema on top of the APIs and databases that they already have," said Matt DeBergalis, CTO and co-founder of Apollo.
GraphQL provides a new way of describing what an app needs in terms of data, DeBergalis said. Multiple vendors have added GraphQL support to databases, among them Neo4j, MongoDB, Dgraph, FaunaDB and others, he said.
"GraphQL speaks to the desire of being able to integrate all the different kinds of data you have into an application," DeBergalis said.
For example, for an e-commerce application it's important to have more than just a product catalog, he noted. It's also key to provide personalization capabilities, including recommendations and other elements that improve the user experience.
What makes building software like that so difficult is this need to integrate across many different kinds of data that lives in different systems and were built by different teams, DeBergalis said. GraphQL brings all that together.
"The excitement from the database world to integrate with GraphQL I think is really good evidence that we're onto something special here, where they want to make data more approachable," he said.