ClickHouse目录结构

默认安装路径:/var/lib/clickhouse/

目录结构:

主要介绍metadatadata

metadata

其中的default、system及相应的数据库,.sql文件即数据库创建相关sql语句

进入default数据库(默认数据库):
可以看到数据库中已有表所对应的sql语句:

查看t_order_mt.sql

其中ATTACH即“装载”,使该sql语句生效;

index_granlarity即索引粒度(因为clickhouse是稀疏索引)

data

data文件夹中存储着具体的数据

进入后首先看到的是数据库:

进入默认数据库:

可以看到创建的两张表:

进入t_order_mt

其中detached即“卸载”,与attach对应;

20200601_1_1_020200602_2_2_0即分区数据

以20200601_1_1_0为例,其中20200601是分区字段,而后面的_1_1_0分别是最小编号,最大编号和合并等级

分区文件命名规则

t_order_mt为例:

命名规则如下:

PartitionId_MinBlockNum_MaxBlockNum_Level

分区值_最小分区块编号_最大分区块编号_合并层级

详细含义如下:

  • PartitionId(数据分区ID)生成规则:

    数据分区规则由分区ID决定,分区ID由PARTITION BY分区键决定。根据分区键字段类型,ID生成规则可分为:

未定义分区键

没有定义PARTITION BY,默认生成一个目录名为all的数据分区,所有数据均存放在all目录下

整型分区键

分区键为整型,那么直接用该整型值的字符串形式做为分区ID

日期类分区键

分区键为日期类型,或者可以转化成日期类型

其他类型分区键

String、Float类型等,通过128位的Hash算法取其Hash值作为分区ID

  • MinBlockNum:最小分区块编号,自增类型,从1开始向上递增。每产生一个新的目录分区就向上递增一个数字。
  • MaxBlockNum:最大分区块编号,新创建的分区MinBlockNum等于MaxBlockNum的编号。
  • Level:合并的层级,被合并的次数。合并次数越多,层级值越大

分区目录介绍

进入20200601_1_1_0目录,有以下文件:

checksums.txt:校验文件,用于校验各个文件的正确性。存放各个文件的size以及hash值

columns.txt:列信息,可以查看列名以及列属性:

count.txt:列数;

data.bin:数据文件

data.mrk3:标记文件(标记文件在 idx索引文件 和 bin数据文件 之间起到了桥梁作用,一般是记录了列的偏移量)

default_compression_codec.txt:默认数据压缩格式

primary.idx:主键索引,用于加快查询效率

partition.dat:分区信息

minmax_create_time.idx:分区键的最大最小值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/52249.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis数据未到过期时间被删除

1. 问题描述 使用了jeecgboot开发后端代码,代码设置的redis过期时间为24小时,部署使用的宝塔面板,在redis中看到的过期时间也是为24小时,但是并未到过期时间,数据就被删除。 2. 解决办法 观察了一下redis中的数据&a…

【C++】数据结构与算法:常用排序算法

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍常用排序算法。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&#x1…

力扣 1049. 最后一块石头的重量 II

题目来源:https://leetcode.cn/problems/last-stone-weight-ii/description/ C题解(思路来源代码随想录):本题其实就是尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了。 …

【JavaEE】Spring Boot - 项目的创建和使用

【JavaEE】Spring Boot 开发要点总结(1) 文章目录 【JavaEE】Spring Boot 开发要点总结(1)1. Spring Boot 的优点2. Spring Boot 项目创建2.1 下载安装插件2.2 创建项目过程2.3 加载项目2.4 启动项目2.5 删除一些没用的文件 3. Sp…

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型,专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…

#rust taur运行报错#

场景:在window11系统上运行 tauri桌面莹应用,提示错误。 Visual Studio 2022 生成工具 安装的sdk11 , rust运行模式是stable-x86_64-pc-window-gnu, 运行npm run tauir dev 一致失败,失败信息如下 原因:1:在window11系…

UE4查看加密PAK里边的资源Android/iOS/PC方法

我们经常会需要把1个模型进行减面然后在移动端使用,有时候会出现移动端模型和PC端模型不一致的问题,这时候就需要将移动端的模型和PC端的模型进行对比,找到问题出现的原因,检查Mesh、Normal、UV0、UV1、MaterialId、碰撞等是否一致。 如何打包Pak文件,见这篇文章:UE4打包…

【GEMM预备工作】行主序和列主序矩阵的内存中的连续性,解决理解问题

在内存存储中,默认矩阵是按照行优先储存的,即矩阵的每一列在内存中是连续的。行优先矩阵储存中行数据是不连续的。 而对于列主序的矩阵,是按照列优先储存的,即矩阵的每一行在内存中是连续的。列优先矩阵储存中列数据是不连续的&am…

物联网|按键实验---学习I/O的输入及中断的编程|函数说明的格式|如何使用CMSIS的延时|读取通过外部中断实现按键捕获代码的实现及分析-学习笔记(14)

文章目录 通过外部中断实现按键捕获代码的实现及分析Tip1:函数说明的格式Tip2:如何使用CMSIS的延时GetTick函数原型stm32f407_intr_handle.c解析中断处理函数:void EXTI4_IRQHandler 调试流程软件模拟调试 两种代码的比较课后作业: 通过外部中断实现按键捕获代码的实…

MGRE综合

实验 一、实验思路 1.先按照上图配置IP地址及环回 2.写缺省使公网可通 3.让R1、R4、R5每台路由器均成为中心站点形成全连网状结构拓扑 4.让R1成为中心站点R2R3为分支站点 5.分区域宣告ospf之后更改ospf在虚拟接口Tunnel工作方式为broadcast及让R1 当选DR 二、上虚拟机操作…

小白玩转浏览器开发者工具—F12(超详细)

目录 1、检查元素:🚀 2、修改样式:🛫 3、调试代码:👑 4、网络分析:🚂 5、控制台输出:🚁 6、移动设备模拟:🎨 7、缓存管理&…

强大的截图软件--Snipaste

这里写目录标题 前言Snipaste贴图并置顶标注功能 下载 前言 在工作中,我们经常需要保存当前屏幕的图片,虽然系统总是会自带一些截图工具,但似乎用起来总是不那个顺手,例如我们需要对图片进行一些标注,或者将图片贴在屏…