On Thursday, October 20, 2016 at 3:55:45 AM UTC-6, Rupert Smith wrote:
>
> On Wednesday, October 19, 2016 at 8:23:46 PM UTC+1, OvermindDL1 wrote: 
>>
>> Absinthe handles all the nasty parts of GraphQL though, the combining of 
>> queries, the real-time type documentation generation, etc... etc...
>>
>
> What database do you use? Is it always a SQL database or can Absinthe work 
> with noSQL too?
>
> Also, when it combines queries, does it translate that down into an 
> efficient SQL join? Or does it process the joins outside of the database, 
> in the server code? 
>

It is storage agnostic, and technically you do not even need a storage, 
remember that GraphQL calls are basically just RPC, you could have a `fib` 
GraphQL call that just calculates that.

The database I use is PostgreSQL via the Ecto library though.  Absinthe is 
database and all agnostic, however it does have a section at 
http://absinthe-graphql.org/guides/ecto-best-practices/ talking about the 
best ways to use it with ecto for optimization purposes, and they do have 
planned more detailed ecto integration in the future, but for now it is 
do-it-yourself (which I prefer, means I can use my permission system to 
only return specific things that they have access to).  Absinthe itself 
does not combine queries, it has no clue what a query is, it just gives the 
graphql 'function call' setup to you, what the user requested, what they 
passed in, etc...  With proper Ecto work all the joins are in-database. 
 With ecto it is trivial to build up database joins in piecemeal, so it 
works fantastically with graphql.

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to