# 字段类型

LinDB 的field 字段提供了多种标准类型。这些类型可以通过SDK(ProtoBuf)或行协议(文本)传输。所有原始数据在落盘时便会根据相应的类型进行聚合。对于普通用户而言,并不需要关心 Field 的具体存储形式 ,相对应的转换过程都会封装在SDK中。

# SumField

SumField 是一个自动累计的字段,多个值在存储或查询时会根据时间区间进行自动汇总求和。 例如,SumField 可以用来记录上一个时间区间内的PV、UV、错误数等类型的数据

# MinField

MinField 是一个自动求最小值的字段,多个值在存储时会根据时间区间写入最小的一个值,在降采样查询时也会如此。 例如,MinField 通常作为 HistogramField 的辅助Field,也可以根据需求自主使用。

# MaxField

MaxField 是一个自动求最大值的字段,功能与 MinField 类似。

# GaugeField

GaugeField 用来表示可以任意波动的值,例如当前的内存用量、CPU使用率等。 GaugeField 是一个复合型的 Field,在存储时会自动转换为 gaugeSum与gaugeCount两个字段,查询时也会转换为相对应的字段来进行查询。

# IncreaseField

IncreaseField 是一个累计型的字段,类似 Prometheus 中的 Counter型,只能单调递增。例如,可以记录 Nginx 已处理的请求数、页面总访问量等数据。

# HistogramField

HistogramField 是组成直方图数据的基础字段,在 SDK中打点时,对应的数据会被拆解为多个HistogramField,记录到不同的Bucket中,以支持计算99线、95线等。

# SummaryField

SummaryField 类似 HistogramField,但更准确的说是摘要数据。对于 Summary 的计算是在 Client 端进行的。