名词解释

本文介绍Lindorm SQL语法的常见术语。

Lindorm宽表引擎和时序引擎对术语的支持情况,请参见下表。

术语

宽表引擎

时序引擎

说明

DATABASE

Database(数据库)是一个结构化的、用于存储和管理相关数据的集合。

TABLE

Table(表)是一种结构化的数据对象,用于存储和组织相关的数据记录。构建表时需要定义表的Schema结构,包括表的列名和列类型。

在宽表引擎中创建的表称为宽表,在时序引擎中创建的表称为时序表

PRIMARY KEY

Primary Key(主键) 用于唯一标识表中每个记录的一列或一组列。主键的值在表中是唯一的,且不允许为空。

在宽表中,主键可以由一个或多个列组成。在时序表中,主键必须由一个时间戳列和一个或多个标签列组成。

重要

在宽表引擎中使用主键列时,需要注意以下限制:

  • 单个主键列的最大长度为2 KB。

  • 所有主键列的长度之和不能超过30 KB。

  • 单个非主键列的最大长度不能超过2 MB。

TTL

TTL(Time To Live)用于设置数据的有效期,即数据可以在数据库中存储的时间。

在宽表引擎中支持为多级别的对象设置TTL,例如Database、Table等。在时序引擎中仅支持为Database设置TTL。

COMPACTION

Compaction(数据压缩)是一种数据管理技术,用于优化和减小数据库文件的大小,从而提高数据库性能。不同的存储引擎实现中存在不同的Compaction策略。

INDEX

✖️

Index(索引)是一种数据结构,用于加快数据库中数据的检索速度,提高查询性能。

索引可以看作是表中一个或多个列的快速访问入口,可以根据某个特定的列值快速定位到想要访问的数据。

宽表引擎支持多种索引,例如二级索引、搜索索引。时序引擎暂不支持自定义索引。

DYNAMIC COLUMN

✖️

Dynamic Column(动态列)是指在宽表引擎中创建宽表时,未显式指定但在实际业务中动态写入数据的列。在宽表引擎中,建表可以通过设置表属性来指定表是否允许写入动态列。

MUTABILITY

✖️

Mutability(易变性)是指对宽表写入数据的模式进行分类,并以此组织索引数据的属性。详细介绍,请参见二级索引

TAG

✖️

Tag(标签)描述产生时序数据的数据源特征,通常不随时间变化。Tag由Tag Key、Tag Value组成,两者均为字符串(STRING)类型。

在时序表的主键列中,时间戳列以外的列默认被视作标签列。为贴合业务场景并进一步提升查询性能,您可以在创建时序表时指定标签列作为主键,显式指定数据在多个节点分片(Data Sharding)上的分片规则。

FIELD

✖️

Field(量测列)是指时序表中标签列和时间戳列以外的列。

TIME SERIES

✖️

Time Series(时间线)是指数据源的某一指标随时间变化的序列。标签列的组合确定一条时间线。

DOWNSAMPLE

✖️

Downsample(降采样)是一种数据查询方式。当查询时间区间跨度较大,且原始数据采样频率较高时,可以通过降采样降低数据的时间粒度。例如,按秒采集的数据,降采样查询时按小时级别采样,减少结果集的数据点数。