GraphQL for databases: A layer for universal database access?
GraphQL is a query language mostly used to streamline access to REST APIs. Now, a new breed of GraphQL implementations wants to build an abstraction layer for any database on top of GraphQL, and it seems to be catching up.
Airbnb, Coursera, Docker, GitHub, Twitter, Uber, and, of course, Facebook, where it was invented. These are some of the organizations where people use GraphQL solutions, as presented in last week’s GraphQL Europe, and if you’re one to be impressed by name-dropping, this should get your attention.
GraphQL seems to be spreading like wildfire, and there’s a reason for that. As REST APIs are proliferating, the promise of accessing them all through a single query language and hub, which is what GraphQL and GraphQL server implementations bring, is alluring.
REST APIs expose application functionality, and all applications use some database in the back end. So, a big part of those APIs is wrapping database CRUD (Create, Read, Update and Delete) operations.
Furthermore, databases may also expose APIs of their own for those CRUD operations. So the idea of using GraphQL for database CRUD operations comes as a natural next step, and there are a few initiatives working on that.