A Hydra query node consists of the following core parts:
Hydra takes as an input a high-level GraphQL-like schema modeling the blockchain data ("entities") to be indexed. The mappings describe the event handlers telling the indexer how the blockchain events affect the schema entities.
Once the schema and the mappings are set up, the Indexer prepares the database and starts the continuous scan of the blockchain, processing the events through the mappings and updating the entities in the database.
The GraphQL Server is a separate web server providing a GraphQL API for the entities in the data store. The API requests are resolved into database queries, providing quick access to the most recent state of the entities. It supports complex filtering, entity relations, pagination, and text queries.