clickhouse system表介绍

clickhouse 对 system 表的介绍在 https://clickhouse.com/docs/en/operations/system-tables/

aggregate_function_combinators

build_options

存储了clickhouse的编译信息,包括 clickhouse 版本号,编译用的cxx版本等

SELECT *  FROM  system.build_options LIMIT 20

在这里插入图片描述

clusters

本机地址

  • localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址。在操作系统支持 ipv6 后,它同时还指向ipv6 的地址 ::1
  • 127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1
  • 127网段是保留区段,任何ping向保留区段127的都会指向127.0.0.1

域名与IP的映射存放在 /etc/hosts
在这里插入图片描述
使用 SELECT * FROM system.clusters 查询可以看到 clickhouse 默认会创建一个测试用的单机集群
在这里插入图片描述
默认的集群配置在 /etc/clickhouse-server/config.xml 的 remote_servers 节点里
在这里插入图片描述

collations

保存了 “语言代码” 和 “对应的语言(国家/地区)”

SELECT * FROM system.collations 
  ORDER BY name DESC LIMIT 30

在这里插入图片描述
拥有超过一个地区编号的语种有8个,分别是:塞尔维亚语、中文、英语、旁遮普族语、波斯尼亚、法语等

SELECT count(name) AS cnt, language FROM system.collations 
  GROUP BY language 
  HAVING cnt > 1 
  ORDER BY cnt DESC

在这里插入图片描述
地区编码总计132个,语言总共107个

SELECT count(name), count(DISTINCT language) FROM system.collations
SELECT count(name), uniqExact(language) FROM system.collations
SELECT count(name), uniq(language) FROM system.collations

在这里插入图片描述

columns

用来存储表中所有的列的相关信息(列名,类型,注释,是否分区键,是否排序键,是否主键,是否取样键)

SELECT database,table,position,name,type,comment,
	is_in_partition_key,is_in_sorting_key,is_in_primary_key,is_in_sampling_key
	FROM system.columns
	WHERE database = 'system'
	ORDER BY database ASC,table ASC,position ASC
	LIMIT 50;

在这里插入图片描述

contributors

存储了所有贡献者的名字
在这里插入图片描述

data_type_families

存储 clickhouse 中可用的数据类型
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

databases

SHOW DATABASES 可以查看有多少个数据库
SELECT * FROM system.databases 不仅可以看到有多少数据库,还可以查看它们的存储路径
在这里插入图片描述

disks

记录 clickhouse 数据存储的目录,以及该分区“可用空间大小“及”总大小“
在这里插入图片描述

errors

这是用 dbeaver 查询的表结构

errors 表用来存储 clickhouse 启动以来发生过的所有错误信息
在这里插入图片描述

events

用来存储系统中发生的事件数的信息(event 是事件名,value 是事件自clickhouse启动以来,总共发生的次数)
在这里插入图片描述

formats

存储 clickhouse 中支持导入导出的数据格式/类型
在这里插入图片描述

functions

存储 clickhouse 中可用的函数
在这里插入图片描述
例如:

  • argMax(name,version) 在Group的时候,返回version最大的那行的name列
  • rowNumberInAllBlocks 用来获取当前行号(从0开始)

licenses

位于 ClickHouse 源的 contrib 目录中的第三方库的许可证

  • library_name (String) — 库的名称, 它是与之连接的许可证
  • license_type (String) — 许可类型-例如Apache, MIT
  • license_path (String) — 带有许可文本的文件的路径
  • license_text (String) — 许可协议文本
    在这里插入图片描述

merge_tree_settings

建表语句最后 SETTINGS 配置中可用带的参数
在这里插入图片描述

metrics

numbers

存储了从0开始递增到无穷的所有整数

WITH 10 AS n
SELECT * FROM numbers(n);

-- 等价于 
WITH 10 AS n
SELECT * FROM system.numbers LIMIT n;

在这里插入图片描述

numbers_mt

存储了从0开始递增到无穷的所有整数
在这里插入图片描述

one

固定存储一个0
在这里插入图片描述

part_log

parts

parts_columns

privileges

query_log

query_thread_log

replicated_merge_tree_settings

session_log

settings

table_engines

table_functions

tables

使用 USE <database> 可以切换当前数据库
使用 SHOW TABLES 可以查看当前数据库下有哪些表,可以加 WHERE 或者 LIMIT关键字进行筛选
在这里插入图片描述
使用 LIKE 谓词,可以仅查看匹配的表名
在这里插入图片描述
使用 SHOW CREATE TABLE <tableName> 可以查看建表语句
在这里插入图片描述
对于 system 数据库下的表,可能无法使用 SHOW CREATE TABLE <tableName> 查看建表语句

此时,我们可以使用 desc <tableName> 来查看表中的各个字段信息
在这里插入图片描述tables表的常用字段如下

  • name 也是table字段的别名,指代数据表名
  • uuid 是建表时随机生成的 8-4-4-12字符串编码
  • is_temporary 用来指示是否是临时表
  • data_paths 是数据位置(文件夹名字和uuid一样)
  • metadata_path 是存放元数据的sql文件路径
  • metadata_modifucation_time 会记录每次修改元数据表的时间
  • create_table_query 存储建表语句
  • engine 指的是表引擎
  • engine_full 包括表引擎之后的参数(比如 ORDER BY、SETTINGS 等)
  • partition_key 分区键
  • sorting_key 排序键
  • primary_key 主键
  • sampling_key 采样键
  • storage_policy 存储策略
  • total_rows 总行数
  • total_bytes 表大小
  • comment 表注释
    在这里插入图片描述

time_zones

ClickHouse 服务器支持的时区列表
在这里插入图片描述
时区可以在 /etc/clickhouse-server/config.xml 文件中的 timezone 字段里进行配置。如果不配置,默认采用系统时区
在这里插入图片描述

user_directories

用户目录

  • /etc/clickhouse-server/users.xml 是用户自定义配置文件
  • /var/lib/clickhouse/access 下面是5个空的列表文件

在这里插入图片描述

zeros

存储了无数多个0
在这里插入图片描述

zeros_mt

存储了无数多个0
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值