AbsaOSS / AbsaOSS/atum-service
Spike: Can GraphQL be used to build the retrieval layer better than REST API?
- 主要语言
- Scala
- 星标
- 6
- 派生
- 1
- 平均合并
- 2 天 7 小时
- 30 天内合并 PR
- 4
描述
## Background
Some of our users are saying that working with Atum Service's REST API layer (those who cannot or don't want to use Atum Reader) is a bit complicated for measurement retrieval.
Mmaybe GraphQL could be used on Atum Service for convenience. The REST API of the Atum service is not simple and the requests might 'underfetch' or 'overfetch' a lot. And there can be multiple queries needed to obtain a desired result.
## Questions To Answer
1. Come up with few common usecases that could be done better in GraphQL. Maybe something like 'get me last 5 [input] checkpoints related to specific partitioning Additional Data [input]. Sure, we can build rest API and DB functions for everything, but that's maybe much more costly
2. We have Postgres, DB functions, Scala & Scala DTO models, and REST API - how, if so, can GraphQL be used? Any OSS libraries to use?
3. How could the implementation look like - what needs to be done, how much effort it would take, what about security model (think about the current DB function level also)?
## Business Value
Adoption of Atum is much higher, thus its value is higher - we are capturing control metrics, but not acting on them (this is fine, never was in Atum's scope). But in the end of the day, we don't want to gather data for the sake of gathering, someone or something needs to consume and build DQ related stuff with it. So the convenience of metric consumption is important. If it's 'system' written in Scala, then this can just use Reader. Outside of that, users might struggle.
## Desired Outcome
The list of desired outcomes of this spike ticket.
### Tasks
- [ ] Questions have been answered or we have a clearer idea of how to get to our goal
- [ ] Discussion with the team
- [ ] Documentation
- [ ] Create recommendations and new implementation tickets
## Additional Info/Resources
1. https://www.moesif.com/blog/graphql/technical/Ways-To-Add-GraphQL-To-Your-Postgres-Database-Comparing-Hasura-Prisma-and-Others/
2. https://github.com/sangria-graphql/sangria
3. https://www.howtographql.com/graphql-scala/0-introduction/
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。