Glossary(术语表)
本文档解释 GreptimeDB 在可观测数据、存储、查询和运维中的常用术语。
注:该排名顺序按照英文词汇首字母正序排列。
A
Anomaly Detection (异常检测)
识别数据点、事件或观测值显著偏离常态的过程。在时序数据场景中,异常检测可辅助发现可能表征关键事件的非常规模式。
Append Only Table (Append Only 表)
保留每次写入的数据行、不支持按行更 新和删除的表类型。它不执行去重,常用于不可变的 logs 和事件数据。
C
Cardinality (基数)
衡量数据库元素唯一性的指标,如数据列中唯一值的数量。高基数场景(尤其在时序数据中)将显著提升存储复杂度与资源需求。
Cloud-Native Design (云原生架构)
利用云基础设施和服务完成部署、扩容和恢复的架构方式。GreptimeDB 可以在边缘以 Standalone 运行,也可以部署为分布式集群。
Columnar Storage (列式存储)
按列而非按行组织数据的存储方式。查询可以只读取需要的列,类型和分布相近的值也可以放在一起压缩。
D
Datanode (数据节点)
GreptimeDB 分布式架构中负责数据存储和处理的核心组件。Datanode 处理数据摄入、存储管理、本地数据查询执行,并维护包含实际表数据的 region。可在集群中部署多个 datanode 以提供水平可扩展性、容错能力和分布式数据处理能力。
Decoupled Compute and Storage Architecture (存算分离架构)
分别管理计算资源和持久化数据存储的架构。在使用共享对象存储的 GreptimeDB 分布式部署中,增减 Datanode 不需要在节点间搬迁所有持久化数据文件。
E
Edge Database (边缘数据库)
部署在网络边缘侧(临近数据源或终端用户)的数据库系统,通过降低数据传输延迟实现实时数据处理。
Edge Deployment (边缘部署)
在接近数据源的位置运行系统,以减少网络延迟和带宽消耗。满足资源要求的边缘设备可以运行 GreptimeDB Standalone。
Event Management (事件管理)
对 logs、alerts 和状态变化等事件进行采集、组织和分析的过程。
F
Field (字段)
用于保存测量值、日志内容、trace 属性和其他值的列语义。Field 列不参与主键。
Flow Engine (Flow 引擎)
GreptimeDB 针对持续写入源表的数据行执行连续计算的引擎。计算结果会物化到 sink table。聚合和 TQL workload 使用 batching mode;原始的 streaming mode 已经废弃,不推荐新 workload 使用。
Frontend (前端节点)
GreptimeDB 分布式架构中的查询处理层,作为客户端连接的入口点。Frontend 节点处理 SQL 解析、查询规划、分布式查询协调和结果聚合。它们将查询路由到适当的 datanode,管理客户端会话,并为各种数据库接口(包括 MySQL、PostgreSQL 和 GreptimeDB 原生协议)提供协议兼容性。
G
GreptimeCloud
GreptimeDB 的全托管数据库服务,提供托管的 GreptimeDB 实例,并负责部署、扩缩容、升级和监控。
I
IoT Cloud (物联网云平台)
专为物联网应用设计的云计算平台,提供海量设备数据存储、处理与连接管理能力。
IoT Database (物联网数据库)
针对物联网设备产生的高频数据进行优化的数据库,用于存储和查询时序测量、设备事件和日志。随着设备数量和数据量增长,它可以 提供可扩展的存储和查询能力。
IoT Observability (物联网可观测性)
使用指标、日志和事件监控物联网设备及其配套服务的状态与行为,帮助团队保障可靠性并诊断性能问题。
Interoperability (协议互操作性)
系统通过兼容接口交换数据的能力。GreptimeDB 支持 SQL 接口,以及 InfluxDB、OpenTelemetry、Prometheus、Elasticsearch 和 Loki 的部分 API;每一层兼容接口都有各自的范围。
J
JSON2
JSON2 是面向 logs 和其他半结构化数据的 Beta 列类型。它以结构化列式形式保存 JSON 子路径,支持点号路径、json_get 和可选的 type hint。目前 JSON2 只能用于 append-only 表。
L
Log Aggregation (日志聚合)
对一组日志执行计算以生成单个摘要统计数据,以供分析和故障排除,例如 SUM,COUNT 等。
Logical and Physical Tables (逻辑表与物理表)
Logical table 是用户创建和查询的表,physical table 是内部实际保存数据的表。Mito Engine 通常为 logical table 使用独立的物理存储;Metric Engine 可以把多张 logical metrics table 映射到共享的 physical table。共享 physical table 不会合并各张逻辑表的 schema 和查询接口。
Log Management (日志管理)
对日志进行采集、存储、查询和可视化的过程,用于性能分析和安全调查。
LSM-Tree (日志结构合并树)
GreptimeDB 存储引擎采用的数据结构,通过先将数据写入日志再定期合 并为有序结构来优化写入性能。该设计特别适合高写入吞吐量的时序工作负载。
M
Memory Leak (内存泄漏)
程序未能正确释放闲置内存导致的软件缺陷,长期运行可能引发系统性能下降或崩溃。
Metasrv (元数据服务)
GreptimeDB 分布式架构中的元数据管理服务,维护集群状态、表结构和 region 分布信息。Metasrv 协调集群操作,管理表的创建和修改,处理 region 分配和迁移,确保集群范围内的元数据一致性。它作为集群管理的中央控制平面,是所有元数据操作的权威数据源。
Metric Engine (指标引擎)
GreptimeDB 用于大量逻辑指标表的存储引擎。它将逻辑表映射到共享的物理宽表,以复用列和元数据,从而降低存储开销,并改善列式压缩和查询效率。Metric Engine 使用 Mito Engine 进行物理存储。
Mito Engine (Mito 引擎)
GreptimeDB 的默认存储引擎。Mito 采用 LSM-Tree 设计,包含 WAL、memtable、不可变 SST 文件和 compaction。它支持本地存储和对象存储,并可使用本地 cache 加速远端数据访问。
O
Observability (可观测性)
通过系统外部输出推断内部状态的能力。Metrics、logs、traces 和事件为监控与调试提供依据。
OpenTelemetry
用于采集和导出 metrics、logs 与 traces 的开源框架,提供 API、SDK 和协议。GreptimeDB 通过 OTLP/HTTP 接收这些信号。
P
Pipeline (数据管道)
GreptimeDB 在数据写入存储前执行解析和转换的配置。Processor 解析或修改字段,transform 将字段映射为表中的列和类型,dispatcher 可以根据输入记录中的值选择 Pipeline。Pipeline 支持时间戳解析、正则匹配、字段提取和类型转换,使可观测数据能够以便于高效查询的结构写入存储。
Primary Key (主键)
由一列或多列 Tag 组成,用于标识一组时间序列或记录。对于开启去重的表,主键与时间索引共同标识按 merge mode 合并的数据行。它不是通用关系数据库中的唯一约束:append-only 表可以不设置主键,也可以把主键和时间戳重复的写入保留为不同数据行。
PromQL (Prometheus 查询语言)
Prometheus 用于查询时序数据的语言。GreptimeDB 提供接近 100% 的 PromQL 兼容性,并支持使用已有的 Prometheus 仪表盘和告警规则。具体限制和范围参见兼容性列表。
R
Read Replica (读副本)
GreptimeDB Enterprise 为表增加只读 Follower Region 的功能,用于扩展读取负载并降低 Leader Region 的查询压力。Leader Region 和 Follower Region 共享对象存储中的 SST 文件;Leader 同步 SST metadata,Follower 在读取最新数据时从 Leader 获取尚未 flush 的数据。通过 Datanode group 可以把 Leader 和 Follower 部署到不同节点,隔离读写 workload、缩短查询响应时间、支持地理分布式访问并提高读取可用性。参见读副本。
Region (区域)
GreptimeDB 架构中数据分布的基本单元。Region 包含表数据的子集,可分布在集群的不同节点上。每个 Region 管理自己的存储、索引和查询处理,实现水平扩展和容错能力。
Repartition (重分区)
通过合并已有分区并按新规则拆分分区来调整建表后的分区边界的过程。重分区用于更好地匹配当前数据分布、缓解热点,并减少冷小分区。
Rust
提供静态内存安全保证的系统编程语言。GreptimeDB 使用 Rust 实现。