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.
