| Concept | Meaning |
|---|---|
| sql_dialect | IoTDB supports two time-series data models (SQL dialects), both managing devices and measurement points. Tree: Manages data in a hierarchical path manner, where one path corresponds to one measurement point of a device. Table: Manages data in a relational table manner, where one table corresponds to a category of devices. |
| Schema | Schema is the data model information of the database, i.e., tree structure or table structure. It includes definitions such as the names and data types of measurement points. |
| Device | Corresponds to a physical device in an actual scenario, usually containing multiple measurement points. |
| Timeseries | Also known as: physical quantity, time series, timeline, point location, semaphore, indicator, measurement value, etc. It is a time series formed by arranging multiple data points in ascending order of timestamps. Usually, a Timeseries represents a collection point that can periodically collect physical quantities of the environment it is in. |
| Encoding | Encoding is a compression technique that represents data in binary form to improve storage efficiency. IoTDB supports various encoding methods for different types of data. For more detailed information, please refer to:Encoding-and-Compression |
| Compression | After data encoding, IoTDB uses compression technology to further compress binary data to enhance storage efficiency. IoTDB supports multiple compression methods. For more detailed information, please refer to: Encoding-and-Compression |
The following figure shows a common IoTDB 3C3D (3 ConfigNodes, 3 DataNodes) cluster deployment pattern:
IoTDB's cluster includes the following common concepts:
The above concepts will be introduced in the following text.
IoTDB cluster includes three types of nodes (processes): ConfigNode (management node), DataNode (data node), and AINode (analysis node), as shown below:
In IoTDB, both metadata and data are divided into small partitions, namely Regions, which are managed by various DataNodes in the cluster.
The number of replicas for data and metadata can be configured. The recommended configurations for different deployment modes are as follows, where multi-replication can provide high-availability services.
| Category | Parameter | Stand-Alone Recommended Configuration | Cluster Recommended Configuration |
|---|---|---|---|
| Schema | schema_replication_factor | 1 | 3 |
| Data | data_replication_factor | 1 | 2 |
IoTDB has two operating modes: Stand-Alone mode and Cluster mode.
An IoTDB Stand-Alone instance includes 1 ConfigNode and 1 DataNode, i.e., 1C1D;
An IoTDB cluster instance consists of 3 ConfigNodes and no less than 3 DataNodes, usually 3 DataNodes, i.e., 3C3D; when some nodes fail, the remaining nodes can still provide services, ensuring the high availability of the database service, and the database performance can be improved with the addition of nodes.
| Dimension | Stand-Alone Mode | Cluster Mode |
|---|---|---|
| Applicable Scenarios | Edge-side deployment, scenarios with low requirements for high availability | High-availability business, disaster recovery scenarios, etc. |
| Number of Machines Required | 1 | ≥3 |
| Security and Reliability | Cannot tolerate single-point failures | High, can tolerate single-point failures |
| Scalability | Can expand DataNodes to improve performance | Can expand DataNodes to improve performance |
| Performance | Can be expanded with the number of DataNodes | Can be expanded with the number of DataNodes |