3box / 3box-graphql

3box GraphQL Service
9 stars 0 forks source link

How to deal with continual schema updates? #9

Open zachferland opened 5 years ago

zachferland commented 5 years ago

Most of graphqls benefits and performance benefits are from having well structured data with type defs. But data in our stores are dynamic and not strictly defined, nor are they defined by a single entity, how can we reconcile these two things? In what ways to they come together best? Do they, or will another solution ultimately be better (like pushing graphql to client side, since nothing else is gained by service)

But right now, best effort relies on defining a schema over what we consider the well defined and shared subset of keys, and even this will change pretty regularly, so how do we approach frequent updates?

oed commented 5 years ago

Does projects make PRs to this repo? What about Spaces? Would each public space have their own schema?

Also random thought: For encrypted stores, the fact that keys are only hashed provides an interesting way of doing GraphQl queries on them. Basically the query could be converted in the client to a query that uses the hashed keys, this is sent to the GQL server which responds to the client with the requested data, the client can then decrypt the data. Not sure if this would be possible with a model where keys also are encrypted.