Most companies have denormalize data to a great many materialized views, to support multiple use cases. I don't see how GraphQL gives you those materialized views for free. I admit, I have not worked with GraphQL since 2017, and maybe the eco-system has come a long way. But at the time, we were doing all the work ourselves, and much of it was redundant with other efforts we had ongoing.
Most companies have denormalize data to a great many materialized views, to support multiple use cases. I don't see how GraphQL gives you those materialized views for free. I admit, I have not worked with GraphQL since 2017, and maybe the eco-system has come a long way. But at the time, we were doing all the work ourselves, and much of it was redundant with other efforts we had ongoing.
Some trade-offs are things like more backend complexity, querying complex data (like deeply nested or recursive data structures) becomes harder, limiting exponential query complexity as the data branches out, etc. It also becomes more difficult to predict resource usage and to monitor performance, as the article mentions.