clickhouse索引
文章目录
- 一、clickhouse索引
一、clickhouse索引
- 以下是总结的几点关于clickhouse索引的内容
1、clickhouse可以有多个Primary Key,而且Primary Key可以任意列(值可以重复);
2、clickhouse数据默认按第一个主键排序,第一个主键相同的按第二个主键排序,依此类推;
3、clickhouse按颗粒划分区间,默认颗粒大小是8092,10M;定位到区间后,颗粒内的数据并行进入clickhouse中进行分析处理。
4、clickhouse对第一个主键使用二分查找算法,所以基于它的过滤查找很快。
5、clickhouse对基于第二个主键过滤的查询使用通用排除搜索算法,当第一个主键基数较大时,查询性能不是很理想。
基于上面的情况,可以另外创建一个Projection(按照新的主键排序),projection会另外创建一个隐藏表,show tables时不可见。隐藏表和主表自动同步数据,且查询时会自动选择适合的表。
6、clickhouse压缩率极高;列的压缩率和主键基数的顺序有很大关系。当主键基数从小到大排序时压缩性能最好(此时物理上来看,相似数据靠的很近,更有利于压缩)
7、clickhouse有时会有快速定位某一行的需求(虽然这不是clickhouse的针对应用场景),通常的做法是:为每一行生成一个UUID,然后UUID作为第一个主键,这样就可以根据UUID快速定位到某一行了。但是这样存在一个问题:每个UUID都不相同,主键基数很高不利于后面列值的压缩。所以使用局部敏感hash生成一个fingerprint,然后主键这种形式(fingerprint, UUID),再基于UUID进行查询。这样既兼顾了查询速度,又兼顾了压缩率。
clickhouse索引相关推荐
- 主键顺序影响——如何优化 ClickHouse 索引(二)
回顾一下上一篇文章,ClickHouse 的存储设计,从存储目录出发,讲 ClickHouse 的数据读取: 第一阶段,通过隐含的 granule 单位读取主键索引 idx 文件 通过二分搜索过滤不需 ...
- 大数据druid查询不支持分页_Klin、Druid、ClickHouse核心技术对比
点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构点击右侧关注,大数据开发领域最强公众号! 大数据真好玩点击右侧关注,大数据真好玩! ...
- Kylin、Druid、ClickHouse核心技术对比
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取个gui 来源:jackywoo.cn 导读:Kylin.Druid.Cli ...
- Klin、Druid、ClickHouse核心技术对比
点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好 ...
- ClickHouse基础知识及与MySQL性能对比
文章目录 ClickHouse介绍 如何理解OLTP和OLAP 如何理解行式存储和列式存储 ClickHouse应用场景 ClickHouse引擎 Log系列引擎 MergeTree系列表引擎 Col ...
- 【clickhouse】ClickHouse表引擎 MergeTree 索引与数据存储方式 一级索引 二级索引
1.概述 转载:ClickHouse表引擎 MergeTree 索引与数据存储方式 2.一级索引 MergeTree 主键使用 primary key 定义,定义主键后,会将数据依据 index_gr ...
- 【clickhouse】MergeTree引擎的固定/自适应索引粒度
文章目录 1.概述 2.固定索引粒度 3.自适应索引粒度 1.概述 转载:聊聊ClickHouse MergeTree引擎的固定/自适应索引粒度 我们在刚开始学习ClickHouse的MergeTre ...
- ClickHouse MergeTree二级索引/跳数索引
在前一篇文章<ClickHouse MergeTree表引擎和建表语句>中,我们详细介绍了MergeTree的建表语句.存储结构和索引原理,本篇我们继续介绍MergeTree的另一个特性- ...
- clickhouse 二级索引
前言 在mysql中,我们在创建表的时候知道有多种索引可供选择,比如主键索引,单值索引,复合索引等,在clickhouse中,同样提供了多种索引可供开发者使用: primary key 主键索引(可选 ...
最新文章
- 小学英语运用计算机教学自评,信息技术在小学英语课堂中如何更有效地利用教学评价...
- 虚拟存储器(虚拟内存Vitual Memory)
- java就_GitHub - IammyselfYBX/This_is_how_Java_should_be_learned: 《Java就应该这样学》
- string 包含_一文搞懂String常见面试题,从基础到实战,到原理分析和源码解析...
- 【英语学习】【WOTD】resuscitate 释义/词源/示例
- Windows安全不能靠本地管理员权限
- traceping是什么意思_关于CCNA ,ping 与trace 有什么区别
- 未来的云计算基础设施长什么样?
- 盘古开源:中央网信办发布“十四五”国家信息化规划,数字化春风吹遍全国
- 全国大学生数学建模竞赛、美赛研究生数学建模优秀论文分享
- google aviator:轻量级Java公式引擎
- javafx 教程_用JavaFX编写图块引擎
- SpringBoot微服务技术中进程间通信原理
- 海信E8K和E8H区别对比哪个好
- 微软提出基于知识图谱的深度神经网络DKN用于新闻推荐
- 数位dp总结 之 从入门到模板
- GCN与GAT之间的重要联系和区别
- ISP-长短曝光融合生成HDR图像
- 2.ECMAScript6详解
- 教程:SurfaceRT生存指南-WinRT8.1越狱运行ARM的exe程序;