ClickHouse 架构概述之Field介绍
Posted snake-fly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ClickHouse 架构概述之Field介绍相关的知识,希望对你有一定的参考价值。
ClickHouse 架构概述之Field介绍
盛年不重来,一日难再晨,及时当勉励,岁月不待人
尽管如此,有时候也可能需要处理单个值。表示单个值,可以使用 Field
。Field
是 UInt64
、Int64
、Float64
、String
和 Array
组成的联合。IColumn
拥有 operator[]
方法来获取第 n
个值成为一个 Field
,同时也拥有 insert
方法将一个 Field
追加到一个列的末尾。这些方法并不高效,因为它们需要处理表示单一值的临时 Field
对象,但是有更高效的方法比如 insertFrom
和 insertRangeFrom
等。
Field
中并没有足够的关于一个表(table)的特定数据类型的信息。比如,UInt8
、UInt16
、UInt32
和 UInt64
在 Field
中均表示为 UInt64
。
Field对应的代码目录位置在dbmssrcCore下的Field.cpp和Field.h
Field的作用在于可以将Null、UInt64、Int64、Float64、UInt128、Int128、String、Array、Tuple、Decimal32、Decimal64、Decimal128和AggregateFunctionState这些类型都用Field模板类来表示,达到更通用和高效的目的。
支持等于、小于、大于、小于等于、大于等于、==和不等于等算法,对应的类如下图所示:
以上是关于ClickHouse 架构概述之Field介绍的主要内容,如果未能解决你的问题,请参考以下文章
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计