Clickhouse存储引擎的存储模型及工作机制
本章将向读者完整地介绍clickhouse存储引擎的存储模型及工作机制
文件组织
在大部分的DBMS中,数据库本质上就是一个由各种子目录和文件组成的文件目录,clickhouse当然也不例外。clickhouse默认数据目录在/var/lib/clickhouse/data目录中。所有的数据库都会在该目录中创建一个子文件夹。下图展示了clickhouse对数据文件的组织。
每一个数据库都会在clickhouse的data目录中创建一个子目录,clickhouse默认携带default和system两个数据库。default顾名思义就是默认数据库,system是存储clickhouse服务器相关信息的数据库,例如连接数、资源占用等。
上图展示了clickhouse通过官方提供的入门教程操作后,导入的数据库的文件形式。可以看到,在tutorial文件夹中,建立了两个子目录,每个子目录为即为一张数据表。进入hits_v1目录后又能看到两个子目录和一个文本文件。
分区目录
分区目录下的子目录和文件的含义如下:
目录名 | 类型 | 说明 |
---|---|---|
201403_1_10_2 | 目录 | 分区目录一个或多个,由于分区+LSM生成的 |
detached | 目录 | 通过DETACH语句卸载后的表分区存放位置 |
for |