database schema • Once the tables are created, CRUD APIs get generated. So a GraphQL server can be built quickly • Authentication, authorization and federation are also available What is Hasura?
GraphQL server into Hasura as Remote Schema • Using gqlgen for schema-first development • Complex Queries and Mutations are implemented on this server Custom GraphQL Server
• Implemented integration with Elasticsearch in Remote Schema ◦ As of today (September 13th, 2023), Hasura does not support Elasticsearch Elasticsearch
There is no need to implement resolvers for those parts • Overall, auto-generated APIs are used for 90% of Queries and 10% of Mutations ◦ Due to the frequent external integration, the proportion of mutations is low The implementation effort has been reduced
setting is easily managed through the GUI • Authorization for the federated target can also be managed with Hasura Hasura takes on the role of the Federation Layer
Hasura, the step of defining the GraphQL schema is omitted Usually Using Hasura Table definition GraphQL schema definition Implementation Table definition Implementation
the table structure ◦ The team's policy of developing in full-stack is the underlying principle • Export only the required schema ◦ Reducing the cost of schema selection Solutions
complex SQL queries • Understanding the complex SQL queries is nearly impossible • It is not possible to modify the SQL query unless fixing the GraphQL Query Tuning the database is difficult
to focus on core logic implementation ◦ It's highly recommended for Proof of Concept or creating prototypes • While there are some cons, we have been able to handle them so far, so overall, we believe it was a good choice to adopt it Conclusion