天天看点

ClickHouse学习笔记--ClickHouse的整体特性

本文主要包含如下内容:

ClickHouse适用场景

ClickHouse缺点

ClickHouse优点

ClickHouse表引擎-合并树

ClickHouse表引擎-合并树-稀疏索引

ClickHouse表引擎-内存引擎

ClickHouse表引擎-其他引擎

ClickHouse数据同步

ClickHouse数据类型

ClickHouse调优建议

ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性

有符号整型(-2n-1~2n-1-1):

Int8 - [-128 : 127]

Int16 - [-32768 : 32767]

Int32 - [-2147483648 : 2147483647]

Int64 - [-9223372036854775808 : 9223372036854775807]

无符号整型范围(0~2n-1):

UInt8 - [0 : 255]

UInt16 - [0 : 65535]

UInt32 - [0 : 4294967295]

UInt64 - [0 : 18446744073709551615]

Float32 - float

Float64 – double

没有单独的类型来存储布尔值。可以使用 UInt8 类型,取值限制为 0 或 1。

变长字符串 String

字符串可以任意长度的。它可以包含任意的字节集,包含空字节。

定长字符串 FixedString(N)

固定长度 N 的字符串,N 必须是严格的正自然数。当服务端读取长度小于 N 的字符串时候,通过在字符串末尾添加空字节来达到 N 字节长度。 当服务端读取长度大于 N 的字符串时候,将返回错误消息。

与String相比,极少会使用FixedString,因为使用起来不是很方便。

Enum8 用 'String'= Int8 对描述。

Enum16 用 'String'= Int16 对描述。

Enum 保存 'string'= integer 的对应关系。在 ClickHouse 中,尽管用户使用的是字符串常量,但所有含有 Enum 数据类型的操作都是按照包含整数的值来执行。这在性能方面比使用 String 数据类型更有效。

举例:

Array(T)

由 T 类型元素组成的数组。T 可以是任意类型,包含数组类型,但不推荐使用多维数组,ClickHouse 对多维数组的支持有限。

可以使用array()函数和中括号来创建数组

Tuple(T1, T2, ...)

元组,其中每个元素都有单独的类型。

举个例子:

Date

用两个字节存储,表示从 1970-01-01 (无符号) 到当前的日期值, 最小值输出为0000-00-00。

DateTime

用四个字节(无符号的)存储 Unix 时间戳,允许存储与日期类型相同的范围内的值。最小值为 0000-00-00 00:00:00,时间戳类型值精确到秒。

ClickHouse学习笔记--ClickHouse的整体特性
ClickHouse学习笔记--ClickHouse的整体特性

作者的原创文章,转载须注明出处。原创文章归作者所有,欢迎转载,但是保留版权。对于转载了博主的原创文章,不标注出处的,作者将依法追究版权,请尊重作者的成果。

继续阅读