Overview
Introduction
Datanode is mainly responsible for storing the actual data for GreptimeDB. As we know, in GreptimeDB,
a table can have one or more Regions, and Datanode is responsible for managing the reading and writing
of these Regions. Datanode is not aware of table and can be considered as a region server. Therefore,
Frontend and Metasrv operate Datanode at the granularity of Region.

Components
A Datanode contains all the components needed for a region server. Here we list some of the vital parts:
- A gRPC service is provided for reading and writing region data, and
Frontenduses this service to read and write data fromDatanodes. - An HTTP service, through which you can obtain metrics, configuration information, etc., of the current node.
Heartbeat Taskis used to send heartbeat to theMetasrv. The heartbeat plays a crucial role in the distributed architecture of GreptimeDB and serves as a basic communication channel for distributed coordination. The upstream heartbeat messages contain important information such as the workload of aRegion. If theMetasrvhas made scheduling(such asRegionmigration) decisions, it will send instructions to theDatanodevia downstream heartbeat messages.- The
Datanodedoes not include components like thePhysical Planner,Optimizer, etc. (these are placed in theFrontend). The user's query requests for one or moreTables will be transformed intoRegionquery requests in theFrontend. TheDatanodeis responsible for handling theseRegionquery requests. - A
Region Manageris used to manage allRegions on aDatanode. - GreptimeDB supports a pluggable multi-engine architecture, with existing engines including
File EngineandMito Engine.