ClickHouse元数据 1.表相关元数据


1. disks(磁盘信息表)

记录有关服务器配置中定义的磁盘的信息。

name type comment
name String 磁盘名称
path String 指向文件系统中的挂载点路径
free_space UInt64 空闲空间
total_space UInt64 磁盘容量
keep_free_space UInt64 保持空闲空间,
keep_free_space_bytes参数中定义
type String 磁盘类型

2. Clusters(集群信息)

name type comment
cluster String 群集名称
shard_num UInt32 集群中的分片编号,从1开始
shard_weight UInt32 写入数据时分片的相对权重,1
replica_num UInt32 分片中的副本号,从1开始
host_name String 主机名,在config中指定
host_address String 从DNS获取的主机IP地址
port UInt16 用于连接服务器的端口,9000
is_local UInt8 是不是当前所在机器,1
user String 用于连接服务器的用户的名称,默认default
default_database String 默认数据库
errors_count UInt32 异常次数
每个查询集群更新一次,但 estimated_recovery_time 按需重新计算。
所以有可能有这样的情况:
非零 errors_count 和零 estimated_recovery_time,
如果它没有错误,下一个查询 errors_count将为零 并尝试使用副本。
slowdowns_count UInt32 慢查询次数
estimated_recovery_time UInt32 副本错误计数归零的秒数

3. databases(数据库列表)

列出CK中所有库的名字,引擎, 数据存储路径,元数据路径

name type comment
name String 数据库名称
engine String 数据库引擎
data_path String 数据库地址
metadata_path String 元数据地址
uuid UUID UUID

4. tables(数据表列表)

记录服务器已知的每个表的元数据。卸载的表不在system.tables中显示。

show tables就是用这个表来实现查询的

name type comment
database String 数据库
name String 数据表
uuid UUID UUID
engine String 表引擎名称
is_temporary UInt8 是否是临时表
data_paths Array(String) 表数据路径地址
metadata_path String 元数据路径
metadata_modification_time DateTime 表元数据的最新修改时间
dependencies_database Array(String) 数据库的依赖关系
dependencies_table Array(String) 表依赖关系(物理表基于当前表)
create_table_query String 创建表的查询语句
engine_full String 表引擎的参数
partition_key String 分区键
sorting_key String 排序键
primary_key String 主键
sampling_key String 采样键
storage_policy String 存储策略
MergeTree,Distributed
total_rows Nullable(UInt64) 总行数,
如果能够快速确定表中的准确行数,则为Null(包括下面的Buffer表)
total_bytes Nullable(UInt64) 如果能够快速确定存储上的表的确切字节数,则为总字节数,否则为Null(不包括任何底层存储)
lifetime_rows Nullable(UInt64)
lifetime_bytes Nullable(UInt64)

5. table_engines(表引擎表)

记录服务器支持的表引擎及其特性支持信息的描述。

name type comment
name String 表引擎名称
supports_settings UInt8 指示表引擎是否支持设置的标志
supports_skipping_indices UInt8 指示表引擎是否支持跳越索引的标志
supports_sort_order UInt8 指示表引擎是否支持
PARTITION_BY、PRIMARY_KEY、ORDER_BY和SAMPLE_BY的标志
supports_ttl UInt8 指示表引擎是否支持TTL的标志
supports_replication UInt8 指示表引擎是否支持数据复制的标志
supports_deduplication UInt8 指示表引擎是否支持数据重复数据删除的标志
supports_parallel_insert UInt8 指示表引擎是否支持并行插入的标志(请参阅 max_insert_threads 设置)

6. replicas(副本表)

包含驻留在本地服务器上的复制表的信息和状态。

name type comment
database String 数据库
table String 数据表
engine String 表引擎
is_leader UInt8 是否是 leader,
多副本中只有一个 leader
can_become_leader UInt8 副本是否可以被选举为 leader
is_readonly UInt8 副本是否是read-only只读模式
is_session_expired UInt8 ZooKeeper的会话是否已经过期
future_parts UInt32 由于尚未完成的插入或合并而出现的数据片段的数量
parts_to_check UInt32 队列中用于验证的数据片段的数量。
如果怀疑某个片段可能被损坏,则将其放入验证队列中
zookeeper_path String ZooKeeper中表数据库的路径
replica_name String ZooKeeper中副本名称。
同一表的不同副本具有不同的名称
replica_path String ZooKeeper中副本数据的路径
columns_version Int32 表结构的版本号。指示执行了多少次ALTER
如果副本有不同的版本,则有副本还没有完成所有的ALTER
queue_size UInt32 等待执行的操作的队列大小
操作包括插入数据块、合并和某些其他操作
inserts_in_queue UInt32 队列中等待插入的数据块的数量。
插入通常可以很快地复制。
如果这个数字很大,就意味着出了问题
merges_in_queue UInt32 队列中等待进行的合并的数量。
有时候合并是很长的,所以这个值可能会在很长一段时间内大于零
part_mutations_in_queue UInt32 队列中等待修改的数据片段数量
queue_oldest_time DateTime 如果queue_size大于0,则显示何时将最后的操作添加到队列中
inserts_oldest_time DateTime 参考queue_oldest_time
merges_oldest_time DateTime 参考queue_oldest_time
part_mutations_oldest_time DateTime 参考queue_oldest_time
oldest_part_to_get String
oldest_part_to_merge_to String 旧的分区被合并到哪里
oldest_part_to_mutate_to String
log_max_index UInt64 常规活动日志中的最大条目数
log_pointer UInt64 副本复制到其执行队列的一般活动日志中的最大条目数,加1。
如果log_pointer比log_max_index小得多,就说明出了问题
last_queue_update DateTime 上次更新队列的时间
absolute_delay UInt64 当前副本有多大的秒延迟
total_replicas UInt8 此表的已知副本的总数
active_replicas UInt8 在ZooKeeper中具有会话的此表的副本的数量
zookeeper_exception String

7. replicated_fetches(副本获取信息)

包含当前正在运行的后台提取的信息

name type comment
database String 数据库的名称
table String 表的名称
elapsed Float64 显示当前正在运行的后台提取自开始以来经过的时间(以秒为单位)
progress Float64 已完成工作的百分比,从 0 到 1。
result_part_name String 作为显示当前正在运行的后台提取的结果而形成的部分的名称。
result_part_path String 作为显示当前正在运行的后台提取的结果而形成的部分的绝对路径
partition_id String 分区的 ID。
total_size_bytes_compressed UInt64 结果部分中压缩数据的总大小(以字节为单位)。
bytes_read_compressed UInt64 从结果部分读取的压缩字节数。
source_replica_path String 源副本的绝对路径。
source_replica_hostname String 源副本的主机名。
source_replica_port UInt16 源副本的端口号。
interserver_scheme String 服务器间方案的名称。
URI String URL 地址
to_detached UInt8 该标志指示是否正在使用 TO DETACHED 表达式执行当前正在运行的后台提取
thread_id UInt64 线程标识符

8. replicated_merge_tree_settings(复制表引擎的参数设置)

复制表引擎的参数设置,包含了该参数是否被改变。

name type comment
name String 参数名称
value String 参数值
changed UInt8 是否能被修改
description String 参数描述
type String 参数类别

9. parts(分区信息)

MergeTree表的片段信息MergeTree表的片段信息

name type comment
partition String 分区名称
name String 分区目录名称
uuid UUID UUID
part_type String 分区类型
active UInt8 是否是激活状态,
被删除的分区,或经过合并后的分区会是非激活状态
marks UInt64 数据标记的数量
rows UInt64 行数
bytes_on_disk UInt64 所有数据文件的总量,字节
data_compressed_bytes UInt64 压缩后数据大小,不包括标记文件
data_uncompressed_bytes UInt64 未压缩的数据大小,不包括标记文件
marks_bytes UInt64 标记文件大小
modification_time DateTime 修改包含数据的目录的时间
remove_time DateTime 移除数据的时间,非激活状态
refcount UInt32 使用数据片段的位置数量
min_date Date 日期键的最小日期
max_date Date 日期键的最大日期
min_time DateTime 日期键的最小日期和时间
max_time DateTime 日期键的最大日期和时间
partition_id String 分区 ID
min_block_number Int64 合并后的最小数据块号
max_block_number Int64 合并后的最大数据块号
level UInt32 合并深度,合并的次数
data_version UInt64 用于确定应用于数据判断变化的数字
primary_key_bytes_in_memory UInt64 主键值使用的内存量,字节
primary_key_bytes_in_memory_allocated UInt64 为主键值保留的内存量,字节
is_frozen UInt8 表名存在分区数据备份的标志,
1.备份存在,0 备份不存在
database String 数据库名
table String 表名
engine String 引擎
disk_name String 磁盘名称
path String 保存数据的路径的地址
hash_of_all_files String sipHash128 压缩文件
hash_of_uncompressed_files String sipHash128 的未压缩文件,带有数据标记,索引文件等
uncompressed_hash_of_compressed_files String sipHash128 的未压缩文件中的数据
delete_ttl_info_min DateTime TTL DELETE 规则的日期和时间键的最小值。
delete_ttl_info_max DateTime TTL DELETE 规则的日期和时间键的最大值。
move_ttl_info.expression Array(String) 表达式数组。每个表达式定义一个 TTL MOVE 规则
move_ttl_info.min Array(DateTime) 日期和时间值数组。每个元素都描述了 TTL MOVE 规则的最小键值
move_ttl_info.max Array(DateTime) 日期和时间值数组。每个元素都描述了 TTL MOVE 规则的最大键值
default_compression_codec String 默认压缩算法
recompression_ttl_info.expression Array(String)
recompression_ttl_info.min Array(DateTime)
recompression_ttl_info.max Array(DateTime)
group_by_ttl_info.expression Array(String)
group_by_ttl_info.min Array(DateTime)
group_by_ttl_info.max Array(DateTime)
rows_where_ttl_info.expression Array(String)
rows_where_ttl_info.min Array(DateTime)
rows_where_ttl_info.max Array(DateTime)
bytes UInt64 bytes_on_disk 的别名
marks_size UInt64 marks_bytes 的别名

10. parts_columns(分区表列信息)

包含有关 MergeTree 表的分区和列的信息

name type comment
partition String 分区名称
name String 分区目录名称
part_type String 分区类型
active UInt8 是否是激活状态,
被删除的分区,或经过合并后的分区会是非激活状态
marks UInt64 数据标记的数量
rows UInt64 行数
bytes_on_disk UInt64 所有数据文件的总量,字节
data_compressed_bytes UInt64 压缩后数据大小,不包括标记文件
data_uncompressed_bytes UInt64 未压缩的数据大小,不包括标记文件
marks_bytes UInt64 标记文件大小
modification_time DateTime 修改包含数据的目录的时间
remove_time DateTime 移除数据的时间,非激活状态
refcount UInt32 使用数据片段的位置数量
min_date Date 日期键的最小日期
max_date Date 日期键的最大日期
min_time DateTime 日期键的最小日期和时间
max_time DateTime 日期键的最大日期和时间
partition_id String 分区 ID
min_block_number Int64 合并后的最小数据块号
max_block_number Int64 合并后的最大数据块号
level UInt32 合并深度,合并的次数
data_version UInt64 用于确定应用于数据判断变化的数字
primary_key_bytes_in_memory UInt64 主键值使用的内存量,字节
primary_key_bytes_in_memory_allocated UInt64 为主键值保留的内存量,字节
database String 数据库名
table String 表名
engine String 引擎
disk_name String 磁盘名称
path String 保存数据的路径的地址
column String
type String 类型
column_position UInt64 列位置
default_kind String 默认类型
default_expression String 默认值表达式
column_bytes_on_disk UInt64 列数据大小,字节
column_data_compressed_bytes UInt64 列数据压缩后大小,字节
column_data_uncompressed_bytes UInt64 列数据未压缩大小,字节
column_marks_bytes UInt64 列标记文件字节数
bytes UInt64 bytes_on_disk 的别名
marks_size UInt64 marks_bytes 的别名

11. columns(列信息)

统计CK中,所有的列及其相关信息

name type comment
database String 数据库名称
table String 表名
name String 列名
type String 字段类型
position UInt64 该表中的第几个字段
default_kind String 默认值类型
default_expression String 默认值 表达式
data_compressed_bytes UInt64 压缩后的数据量
data_uncompressed_bytes UInt64 未压缩的数据量
marks_bytes UInt64 标记文件大小
comment String 备注
is_in_partition_key UInt8 是否是分区键,是 1,否 0
is_in_sorting_key UInt8 是否是排序键,是 1,否 0
is_in_primary_key UInt8 是否是主键,是 1,否 0
is_in_sampling_key UInt8 是否是采样键,是 1,否 0
compression_codec String 压缩类型

12. row_policies(表过滤策略)

包含一个特定表的过滤器,以及应该使用此行策略的角色和/或用户列表。

name type comment
name String 行策略的名称
short_name String 行策略的简称。行策略的名称是复合的,
如:myfilter ON mydb.mytable。
“myfilter ON mydb.mytable”是行策略的名称,
“myfilter”是它的简称。
database String 数据库名称
table String 表名
id UUID 行策略 ID
storage String 存储行策略的目录的名称
select_filter Nullable(String) 用于过滤行的条件
is_restrictive UInt8 显示行策略是否限制对行的访问,请参阅 CREATE ROW POLICY:
0 — 行策略是用 AS PERMISSIVE 子句定义的。
1 — 行策略是用 AS RESTRICTIVE 子句定义的
apply_to_all UInt8 显示为所有角色和/或用户设置的行策略
apply_to_list Array(String) 应用行策略的角色和/或用户列表
apply_to_except Array(String) 行策略应用于除列出的角色和/或用户之外的所有角色和/或用户

13. storage_policies(存储策略)

记录有关服务器配置中定义的存储策略和卷的信息,

如果存储策略包含多个卷,则每个卷的信息存储在表的单个行中

name type comment
policy_name String 策略名称
volume_name String 策略中定义的卷名
volume_priority UInt64 配置中的卷顺序编号
disks Array(String) 磁盘名称,在存储策略中定义
volume_type String
max_data_part_size UInt64 可以存储在卷磁盘上的数据片段的最大大小(0 -无限)
move_factor Float32 空闲磁盘空间的比率。当比率超过配置参数值时,
ClickHouse开始按顺序将数据移动到下一个卷
prefer_not_to_merge UInt8 preferred_not_to_merge 设置的值。启用此设置后,不允许合并此卷上的数据。这允许控制 ClickHouse 如何处理慢速磁盘。
如果存储策略包含多个卷,则每个卷的信息都存储在表的单独行中

14. graphite_retentions(graphite_rollup的信息)

记录有关参数graphite_rollup的信息,这些参数在带有*GraphiteMergeTree引擎的表中使用。

name type comment
config_name String graphite_rollup参数名称
regexp String 指标名称的正则表达式
function String 聚合函数名称
age UInt64 数据年龄,单位秒
precision UInt64 如何精确定义数据年龄
priority UInt16 优先级模式
is_default UInt8 是否是默认模式
Tables.database Array(String) 使用 config_name 参数的表的数据库数组
Tables.table Array(String) 使用 config_name 参数的表的数组

15. merges(合并树表的变化)

记录有关目前正在处理MergeTree族表的合并和分区变化的信息。

name type comment
database String 数据库
table String
elapsed Float64 从 Merge启动花费的时间
progress Float64 完成工作的占比,0~1
num_parts UInt64 要合并的块数
source_part_names Array(String) 要合并的文件名称数组
source_part_paths Array(String) 要合并的文件路径数组
result_part_name String 合并结果文件名称
result_part_path String 合并结果路径
partition_id String 分区号
is_mutation UInt8 是否是 mutation 操作
total_size_bytes_compressed UInt64 合并块中压缩数据总大小
total_size_marks UInt64 合并分区中的标记总数
bytes_read_uncompressed UInt64 未压缩数据大小
rows_read UInt64 读取的行数
bytes_written_uncompressed UInt64 写入的未压缩字节数
rows_written UInt64 写入的函数
columns_written UInt64 写入的列数
memory_usage UInt64 使用内存大小
thread_id UInt64 线程 ID
merge_type String 合并类型
merge_algorithm String 合并算法

16. detached_parts(卸载的分区)

记录关于 MergeTree 表的已卸载分区的信息。reason 列指定了分区卸载的原因。对于用户卸载的分区,原因是空的。可以用 ALTER TABLE ATTACH PARTITION|PART 命令加载这些分区。有关其他列的描述,参考system.parts。

如果分区名称无效,某些列的值可能为NULL。可以使用ALTER TABLE DROP DETACHED PART来删除这些分区。

name type comment
database String 数据库
table String 表名
partition_id Nullable(String) 分区 ID
name String 分区名称
disk String 磁盘
reason Nullable(String)
min_block_number Nullable(Int64) 最小数据块号
max_block_number Nullable(Int64) 最大数据块号
level Nullable(UInt32) 合并深度

17. dictionaries 数据字典

通过 system.dictionaries 系统表可以查看到扩展字典的元数据信息。

name type comment
database String 所在数据库
name String 字典名称,在使用字典函数时需要使用字典名称访问数据
uuid UUID UUID
status Enum8(
‘NOT_LOADED’ = 0,
‘LOADED’ = 1,
‘FAILED’ = 2,
‘LOADING’ = 3,
‘FAILED_AND_RELOADING’ = 4,
‘LOADED_AND_RELOADING’ = 5,
‘NOT_EXIST’ = 6
)
字典状态
NOT_LOADED Dictionary未加载,由于没有被使用
LOADED 字典加载成功
FAILED 由于错误,无法加载字典
LOADING 字典正在加载中
LOADED_AND_RELOADING 字典加载成功,现在正在重新加载
FAILED_AND_RELOADING 由于错误无法加载字典,现在正在加载
NOT_EXIST 字典不存在
origin String 描述字典的配置文件的路径
type String 字典类型
key.names Array(String) Key 名称
key.types Array(String) Key 数据类型
attribute.names Array(String) 由字典提供的属性名数组
attribute.types Array(String) 由字典提供的属性类型数组
bytes_allocated UInt64 已经载入数据占用内存字节数
query_count UInt64 字典被查询次数
hit_rate Float64 命中率
element_count UInt64 载入行数
load_factor Float64 数据加载率
source String 数据源信息
lifetime_min UInt64 生命周期最小时间
lifetime_max UInt64 生命周期最大时间
loading_start_time DateTime 最初加载字典时间
last_successful_update_time DateTime 最后更新字典时间
loading_duration Float32 加载字典消耗时间
last_exception String 加载字典过程中的异常信息,

文章作者: hnbian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 hnbian !
评论
 上一篇
ClickHouse元数据 2.执行动作相关元数据 ClickHouse元数据 2.执行动作相关元数据
1. processes(查询操作记录) name type comment is_initial_query UInt8 user String 发起查询的用户 query_id String 查询 ID addr
2021-08-02
下一篇 
ClickHouse 12.副本与分片 2.分片 ClickHouse 12.副本与分片 2.分片
1. 数据分片 clickhouse 中每个服务器节点都可以被称为一个 shard(分片)。 假设有 N 台服务器,每个服务器上都有一张数据表 A,且每个服务器上的 数据表 A 的数据不重复,那么就可以说数据表 A 拥有 N 的分片。 对
2021-07-28
  目录