> ## Documentation Index
> Fetch the complete documentation index at: https://docs.regatta.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# RegattaDB Software Modules

Below we describe the different software modules which together make up a RegattaDB system. A module is an independently deployable user-mode process that handles a specific functional role within the distributed database architecture.

In total, the architecture comprises six distinct modules. Each deployment includes a combination of these modules, distributed across one or more nodes.

<Info>
  A **node** is the fundamental compute unit in a RegattaDB deployment. It represents a server that provides CPU, memory, networking, and storage resources to the cluster. A node may be a physical server, a virtual machine (VM), or a container, and may host one or more RegattaDB modules.
</Info>

RegattaDB modules can be broken down into 2 groups: Management Modules and Operational Modules.

### Management Modules

These modules form the administrative framework of the RegattaDB system, providing the tools necessary to configure, monitor, and maintain the system infrastructure. The management modules are deployed as `systemd` services. They are responsible for starting, stopping, monitoring, and managing the lifecycle of the operational modules.

#### SM – System Manager

System Manager handles the deployment of RegattaDB on all nodes. After deployment, it manages both hardware and software resources, executes administrative commands, and coordinates ongoing system operations.

#### SNA – System Node Agent

The System Node Agent runs on each node where a RegattaDB module is deployed and serves as the local execution layer for the System Manager. It is responsible for managing the lifecycle of all RegattaDB modules on that node.

### Operational Modules

These modules drive the core database engine, handling active workloads, maintaining data consistency, and managing the relational schema.

#### RDB – Regatta Database

The RDB module is RegattaDB’s distributed compute engine, responsible for query execution and data processing. It leverages CPU, network, and I/O resources efficiently, and scales by adding additional RDB modules.

#### Sequencer

Coordinates consistency of the distributed transactions and snapshots between all RegattaDB modules.

#### DCM – Database Catalog Manager

Manages the database catalog which contains all the schema definitions including tables indexes and their attributes.

#### GDD – Global Deadlock Detector

The Global Deadlock Detector (GDD) component is responsible for detecting circular distributed dependencies between transactions in the system and resolving them.
