|
|
|
|
|
by adsharma
1949 days ago
|
|
Re: Conways law at Facebook I was at Facebook when GraphQL was invented, maintaining a backend storage service where a core assumption was that storage should be reorganized based on access patterns and that predicates should be pushed down to storage where they can be executed more efficiently. GraphQL was hard to push predicates down, because you don't know which of the edges were written in PHP. My response was fquery[1], which is like what's being discussed here but with python as the source language instead of swift and amenable to preserving the largest possible query structure for backend optimizers, including SQL optimizers. It has some early demos converting a GraphQL/fquery into SQL where possible. It should be possible to add enough metadata to fquery to identify if an edge is non-trivial (calls into another microservice) or trivial (can be optimized to a storage backend or SQL). [1] https://github.com/adsharma/fquery |
|