This is a
playground to test code. It runs a full
Node.js environment and already has all of
npm’s 1,000,000+ packages pre-installed, including
greldal with all
npm packages installed. Try it out:
This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.
A simple micro-framework to expose your relational datastore as a GraphQL API (powered by Node.js).
GraphQL is a powerful solution for making your server side data available to clients through a flexible and bandwidth efficient API.
However, if your primary data source is a relational database then mapping GraphQL queries to efficient database queries can be arduous. With naive hierarchical resolution of resolvers it is very easy to end up with inefficient data access patterns and N+1 queries. Caching strategies, dataloader etc. partly mitigate the problem but the fact remains that you are not taking the full advantage of the capabilities of your powerful datastore.
GRelDAL is a low level library that gives you a declaritive API to map your relational data sources to GraphQL APIs. It is data store agnostic thanks to Knex, the underlying data access library that supports all common databases. Currently MySQL, PostgreSQL and SQLite are well tested.
When you generate your GraphQL API through GRelDAL, you can choose exactly how:
Plus, unlike many other similar solutions, GRelDAL has first class support for subscriptions, stored procedures, user defined functions, JSON/XML/binary data and custom column types.