The traditional approach of providing data access to applications via remote database servers is not ideal for microservices. And while SQL provides standard access to relational databases, GraphQL can be used with any type of database—and it returns JSON documents.
The modern approach is to build and deploy microservices as domain-specific GraphSQL servers powered by their own embedded databases, with all schema and data changes sent to a remote database server via replication or messaging.
DBTA held a webinar with Shane K Johnson, head of marketing, FairCom, who discussed database architectures for microservices, including GraphQL.
Microservices represent vertical “slices” of a web application, Johnson explained. They are also the gatekeepers for a subset of the database.
With an embedded NoSQL database, the database is local and offers a NoSQL API that directly calls database functions. Users can also get access to a specific set of queries.
GraphQL was created at Facebook in 2012, Johnson said. It became open source specific in 2015 and then the GraphQL Foundation was formed in 2018.
Companies currently using it are Airbnb, Atlassian, Audi, GitHub, Intuit, KLM, Lyft, Meta, NBC, New Relic, PayPal, Pinterest, Rakuten, Shopify, Starbucks, The New York Times, Yelp, and more.
GraphQL is the “query language for APIs,” is intended for the web (like REST), and can access multiple queries per request.
To create a Database-as-a-(Micro)Service, Johnson suggests starting with a microservices framework, then embed a database with a NoSQL API, write data access functions, and expose those functions as GraphQL queries.
FairCom DB delivers predictable high-velocity transactions and massively parallel big data analytics. It empowers developers with NoSQL APIs for processing binary data at machine speed and ANSI SQL for easy queries and analytics over the same binary data.
An archived on-demand replay of this webinar is available here.