Architecture

architecture

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 Metasrv.

  • Metasrv is the central command of GreptimeDB cluster. In a typical cluster deployment, at least three nodes is required to setup a reliable Metasrv 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 _Datanode_s, 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 requests, authenticates them, translates them from various protocols into GreptimeDB internal gRPC, and forwards to certain _Datanode_s under guidance from Metasrv by table sharding.
  • Datanodes hold regions of tables in Greptime DB cluster. It accepts read and write requests sent from Frontend, executes them against its data, and returns the handle results.

These three components will be combined in a single binary as GreptimeDB standalone mode, for local or embedded development.

You can refer to architecture in contributor guide to learn more details about how components work together.