In order to form a robust database cluster and keep complexity at an acceptable level, there are three main components in GreptimeDB architecture: Datanode, Frontend and Meta.
- Meta is the central command of GreptimeDB cluster. In typical deployment, at least three nodes is required to setup a reliable Meta mini-cluster. Meta manages database and table information, including how data spread across the cluster and where to route requests to. It also keeps monitoring availability and performance of Datanodes, to ensure its routing table is valid and up-to-date.
- Frontend is a stateless component that can scale to as many as needed. It accepts incoming request, authenticates it, translates it from various protocols into GreptimeDB cluster's internal one, and forwards to certain Datanodes under guidance from Meta.
- Datanodes hold regions of tables and data in Greptime DB cluster. It accepts read and write request sent from Frontend, and executes it against its data. A single-instance Datanode deployment can also be used as GreptimeDB standalone mode, for local development.
You can refer to architecture in developer guide to learn more details about how components work together.