clickhouse系统表 官方文档翻译

一、 系统表简介

系统表提供以下信息:

  • ClickHouse 状态、进程和环境
  • ClickHouse 的内部流程

1. 系统表特点

  • 位于system数据库中
  • 数据只读
  • 不能drop或alter,但可以detach
  • 大多数系统表将其数据存储在内存中,由ClickHouse在启动时创建
  • 名字带_log的系统日志表存储在文件系统中(metric_log、query_log、query_thread_log、trace_log、part_log、crash_log和text_log)为MergeTree引擎表
  • 如果从文件系统中删除_log表,ClickHouse 会在下次数据写入时自动创建空表
  • 如果系统表结构在新版本中发生更改,ClickHouse 会重命名当前表并创建一个新表

2. 系统日志表说明及配置

系统日志表可以通过/etc/clickhouse-server/config.xml文件配置,或者在/etc/clickhouse-server/config.d/目录下创建一个与表同名的配置文件

可以配置信息如下:

  • database:系统日志表所属的数据库。此选项现已弃用,所有系统日志表都在 database 下system
  • table:插入数据的表名
  • partition_by:分区表达式
  • ttl:过期配置(默认情况下,表增长是无限的。要控制表的大小,可以使用TTL设置来删除过时的日志记录)
  • flush_interval_milliseconds:刷数据到磁盘的时间间隔
  • engine:提供带参数的完整引擎表达式(以 ENGINE= 开头)。此选项与partition_by和ttl参数相矛盾,如果一起设置,服务器将抛异常并退出。

一个例子:

<clickhouse>
    <query_log>
        <database>system</database>
        <table>query_log</table>
        <partition_by>toYYYYMM(event_date)</partition_by>
        <ttl>event_date + INTERVAL 30 DAY DELETE</ttl>
        <!--
        <engine>ENGINE = MergeTree PARTITION BY toYYYYMM(event_date) ORDER BY (event_date, event_time) SETTINGS index_granularity = 1024</engine>
        -->
        <flush_interval_milliseconds>7500</flush_interval_milliseconds>
    </query_log>
</clickhouse>

二、 主要系统表及功能

  • asynchronous_metrics:包含在后台定期计算的指标

  • asynchronous_metric_log:保存asynchronous_metrics的历史信息,默认启用,每分钟保存一次
  • clusters:集群信息
  • columns:表中的列信息

  • crash_log:ClickHouse 严重错误(fatal errors)的堆栈记录。该表默认不存在,只在发生严重错误时会自动创建
  • current_roles:当前用户的活跃角色,set role命令可以改变该表内容
  • data_skipping_indices:表中跳数索引(稀疏索引)信息
  • data_type_families:ClickHouse支持的数据类型
  • databases:数据库信息
  • detached_parts:MergeTree引擎表分离part的信息,reson字段指定detach的原因

  • dictionaries:保存外部字典(External Dictionaries)信息

  • disks:数据目录磁盘信息,总空间、剩余空间、磁盘路径等
  • distributed_ddl_queue:分布式ddl语句(带on cluster的)执行记录
  • distribution_queue:包含队列中待发送到分片的本地文件的信息。这些本地文件包含以异步模式将新数据插入分布式表而创建的new parts
  • errors:包含错误代码及其被触发的次数
  • events:自 ClickHouse 服务器启动以来,各类事件发生的次数(例如一共执行了多少query)
  • functions:包括普通函数及聚集函数信息
  • grants:账号授权情况
  • INFORMATION_SCHEMA:元数据视图,其数据来自system.columns, system.databases, system.tables 几个系统表
  • merge_tree_settings:MergeTree引擎表配置信息
  • merges:MergeTree 系列引擎表当前正在处理的merge和mutation(update和delete)的信息
  • metrics: 包含可以立即计算或具有当前值的指标,此表始终是最新的
  • metric_log:包括来自system.metrics 和 system.events两个表的数据,周期性刷入磁盘
  • mutations:包含MergeTree引擎表执行的mutation信息及进度,每行记录代表一条mutation命令
  • one:只有一行的表,类似oracle的dual
  • part_log:仅当在配置文件中指定了part_log信息时才会创建该表。此表包含有关MergeTree系列表中data parts发生的事件的信息,例如添加或合并数据。
  • parts:MergeTree引擎表的part信息
  • parts_columns:MergeTree引擎表的part及列信息
  • processes:正在执行的会话信息(show processlist命令的源表)
  • query_log:包含查询信息的日志
  • query_thread_log:包含查询和线程信息的日志
  • query_views_log:包含有关运行查询时执行的依赖视图的信息
  • quota_limits:包含有关所有配额的最大值及间隔信息
  • quota_usage:当前用户使用的配额:用了多少、还剩多少
  • quotas:支持配置的配额信息
  • quotas_usage:所有用户使用的配额
  • replicas:包含驻留在本地服务器上的复制表的信息和状态
  • replicated_fetches:包含当前运行的后台fetches信息
  • replication_queue:包含有关存储在 ClickHouse Keeper 或 ZooKeeper 中的复制队列中的任务信息,用于ReplicatedMergeTree引擎表
  • role_grants:包含用户和角色的角色授权。要向此表添加条目,请使用GRANT role TO user
  • roles:包含有关已配置角色的信息
  • row_policies:包含行策略信息,以及使用该行策略的角色和/或用户列表
  • session_log:包含有关所有成功和失败的登录和注销事件的信息
  • settings:包含有关当前用户的会话设置的信息
  • stack_trace:包含所有服务器线程的堆栈跟踪
  • storage_policies:包含有关在服务器配置中定义的存储策略和卷的信息
  • table_engines:包含服务器支持的表引擎的描述及其功能支持信息
  • tables:包含每个表的元数据
  • text_log:包含日志记录条目。写入此表的日志记录级别由text_log.level参数设置
  • time_zones:包含 ClickHouse 服务器支持的时区列表,可能因版本而异
  • users:用户列表
  • zookeeper:除非配置了ClickHouse Keeper或ZooKeeper,否则该表不存在。该表包含配置的zookeeper集群数据,查询必须具有path =或path IN 的WHERE条件
  • zookeeper_log:包含有关向 ZooKeeper 服务器请求的参数和来自它的响应的信息。

参考

System Tables | ClickHouse Docs

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值