If anyone is familiar with both GraphQL and Arrow, I'm curious how exactly using these two together might look
GraphQL is transport-agnostic, so you can theoretically use it over anything, a good case study being Dan Luu's article here: https://danluu.com/simple-architectures/ > "Some areas where we’re happy with our choices even though they may not > sound like the simplest feasible solution are with our API, where we use > GraphQL, with our transport protocols, where we had a custom protocol for a > while, and our host management, where we use Kubernetes. For our transport > protocols, we used to use a custom protocol that runs on top of UDP, with an > SMS and USSD fallback, for the performance reasons described in this talk. > With the rollout of HTTP/3, we’ve been able to replace our custom protocol > with HTTP/3 and we generally only need USSD for events like the recent > internet shutdowns in Mali)." I've seen also GraphQL done over Protobuf/gRPC, TCP/MsgPack, and a custom binary format: - https://github.com/google/rejoiner/blob/b1cb09e9bbf7ac68bfd9c93f23a73b691e6ead72/examples-gradle/src/main/java/com/google/api/graphql/examples/streaming/graphqlserver/GraphQlGrpcServer.java#L44 - https://github.com/OlegIlyenko/sangria-tcp-msgpack-example - https://github.com/esseswann/graphql-binary If someone were interested in using Arrow as the encoding layer, how would this work in practice? Arrow messages need to have a well-defined schema, and GraphQL queries return dynamic, nested data, so I'm having a hard time understanding how you'd go about representing/encoding that in an Arrow message. Thank you =)
