GBASE南大通用分享:clickhouse-Merge Tree原理解析

GBASE南大通用分享

MergeTree表引擎参数:

partition by:分区键

order by:排序键

primary key:主键

sample by:抽样表达式(如果使用此配置,主键配置也需要声明同样的表达式)

settings index_granularity:索引力度,默认值是8192,表示每隔8192行数据才生成一条索引

settings:index_granularity_bytes:根据每一批次写入数据的体量大小,动态划分间隔大小,默认为10M,设置为0表示不启动自适应功能

settings:enable_mixed_granularity_parts:设置是否开启自适应索引间隔的功能

settings:merge_with_ttl_timeout:数据ETL功能

settings:storage_policy:多路径的存储策略

一级索引:

稀疏索引

索引粒度:8192,通过index_granularity这个参数来实现

二级索引:

allow_experimental_data_skipping_indices

granularity:数据的粒度

index_granularity:聚合信息汇总的粒度

跳数索引类型:

minmax:记录了一段数据内的最小和最大极致

set:记录了声明字段或表达式的取值(唯一值,无重复),其中max_rows是一个阈值,表示在一个index_granularity内索引最多记录的数据行数,如果为0,表示无限制

ngrambf_v1:记录的是数据短语的布隆表过滤器,只支持string和fixedstring数据类型,完整形式(n,size_of_bloom_filter_in_bytes,number_of_hash_functions,random_seed)

n:token长度,依据n的长度将数据切割为token短语

size_of_bloom_filter_in_bytes:布隆过滤器的大小

number_of_hash_functions:布隆过滤器中使用hash函数的个数

random_seed:hash函数的随机种子

tokenbf_v1:是ngrambf_v1的变种,除了短语token的处理方法外,其他的一样。

查询压缩数据的统计信息:

clickhouse-compressor --stat < .bin(数据文件)

数据块的大小由min_compress_block_size(默认65536)与max_compress_block_size(默认1048576)参数指定

相关推荐
qq_529835355 分钟前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New2 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6752 小时前
数据库基础1
数据库
我爱松子鱼3 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo3 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser4 小时前
【SQL】多表查询案例
数据库·sql
Galeoto4 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)4 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231114 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白4 小时前
PostgreSQL:更新字段慢
数据库·postgresql