clickhouse_各个引擎表的特点
去重表:RepalcingMergeTree
1.使用order by排序键作为判断重复数据的唯一键
2.只有在合并分区的时候才会触发删除重复数据的逻辑
3.以数据分区为单位删除重复数据。当分区合并时,同一分区内的重复数据会被删除;不同分区之间的重复数据不会被删除。
4.在进行数据去重时,因为分区内的数据已经基于order by进行了排序,所以能够找到那些相邻的重复数据
5.数据去重策略有两种:
如果没有设备ver版本号,则保留同一组重复数据中的最后一行
如果设置了ver版本号,则保留同一组重复数据中ver字段取值最大的那一行
-------------------------------------------------------------------------------------
求和表:SummingMergeTree
1.用order by排序键作为聚合数据的条件key
2.只有在合并分区的时候才会触发汇总的逻辑
3.以数据分区为单位来聚合数据。当分区合并时,同一数据分区内聚合key相同的数据会被合并汇总,而不同分区之间的数据则不会被汇总
4.如果在定义引擎时指定了columns汇总列(非主键的数值类型字段),则SUM汇总这些列字段;如果未指定,则聚合所有非主键的数值类型字段
5.在进行数据汇总时,因为分区内的数据已经基于order by 排序,所以能够找到相邻且拥有相同聚合key的数据。
6.在汇总数据时,同一分区内,相同聚合key的多行数据会合并成一行。其中,汇总字段会进行sum计算,对于那些非汇总字段,则会使用第一行数据的取值。
7.支持嵌套结构,但列字段名称必须以map后缀结尾。嵌套类型中,默认以第一个字段作为聚合key。除第一个字段以外,任何名称以key、id或type为后缀结尾的字段,都将和第一个字段一起组成复合key。
-------------------------------------------------------------------------------------
聚合表AggregatingMergeTree
1.用order by排序键作为聚合数据的条件key
2.使用AggregateFunction字段类型定义聚合函数的类型以及聚合的字段
3.只有在合并分区的时候才会触发聚合计算的逻辑
4.以数据分区为单位来聚合数据。当分区合并时,同一数据分区内聚合key相同的数据会被合并计算,而不同分区之间的数据则不会被计算
5.在进行数据计算时,因为分区内的数据已经基于order by排序,所以能够找到那些相邻且拥有相同聚合key的数据
6.在聚合数据时,同一分区内,相同聚合key的多行数据会合并成一行。对于那些非主键、非AggregateFunction类型字段,则会使用第一行数据的取值。
7.AggregatingMergeTree类型的字段使用二进制存储,在写入数据时,需要调用*State函数;而在查询数据时,则需要调用相应的*Merge函数。其中,*表示定义时使用的聚合函数。
8.AggregatingMergeTree通常作为物化视图的表引擎,与普通MergeTree搭配使用
clickhouse_各个引擎表的特点的更多相关文章
- mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查
一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database table -c #检查单 ...
- InnoDB存储引擎表的主键
在InnoDB存储引擎中,表是按照主键顺序组织存放的.在InnoDB存储引擎表中,每张表都有主键(primary key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创 ...
- InnoDB存储引擎表的逻辑存储结构
1.索引组织表: 在InnoDB存储引擎中,表都是依照主键顺序组织存放的.这样的存储方式的表称为索引组织表,在innodb存储引擎表中,每张表都有主键.假设创建的时候没有显式定义主键,则Inn ...
- MyISAM引擎表出现“Error 'Incorrect key file for table”
mysql主从复制中的从库突然出现了警报,sql_thread停止了,show slave status\G;查看 mysql> show slave status\G ; . row **** ...
- ccflow_003.驰骋流程引擎表单方案
003.驰骋流程引擎表单方案 设计流程主要有四个步骤 设计成型的效果图 表单的展示效果 表单方案 提供了八种表单模式 内置傻瓜表单 设计好的傻瓜表单演示 运行查看效果 内置自由表单 这是已经设计好的自 ...
- 关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答
关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答 @驰骋工作流,ccflow周朋 周总早, ccflow 功能很强大,在体验过程中,以下几个问题需沟通下: 先使用.net 再使用java ...
- MySQL的nnodb引擎表数据分区存储
Symlinks are fully supported only for MyISAM tables. 对应Innodb引擎数据文件放到其他目录 mysql> SHOW VARIABLES L ...
- INNODB存储引擎表空间
这片文章主要是对innodb表空间的一些说明: innodb中表空间可以分为以下几种: 系统表空间 独立表空间 undo表空间 临时表空间(temporary tablespace) 通用表空间(ge ...
- Java工作流引擎表单引擎之JS表单字段输入脚本验证
关键字: 表单设计器, 字段验证. workflow,ccform, ccBPM. 工作流快速开发平台 工作流流设计 业务流程管理 asp.net 开源工作流bpm工作流系统 java工作流 ...
随机推荐
- xman_2019_format(非栈上格式化字符串仅一次利用的爆破)
xman_2019_format(非栈上格式化字符串仅一次利用的爆破) 首先检查一下程序的保护机制 然后用IDA分析一下 存在后门 首先malloc了一片堆空间,读入数据 把刚刚读入的数据当作格式化字 ...
- 承接上一篇,whale系统开篇,聊聊用户认证
写在前面 上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战. 没错,系 ...
- Day01_11_Java方法
Java - 方法 什么是java中的方法? - 方法就是一段代码片段,并且这段代码可以完成某个特定的功能.动作.是可以被重复的使用. - 方法就是类的一个动作. - 方法在C语言中也叫做函数 或 f ...
- 简单好用微服务套件Anno&Viper DashBoard全新版来啦
1.Anno简介? Anno是一个微服务框架引擎.入门简单.安全.稳定.高可用.全平台可监控.依赖第三方框架少.底层通讯RPC(Remote Procedure Call)采用稳定可靠 ...
- 微信小程序底部实现自定义动态Tabbar
多图警告!!! 最近在工作中遇到这样一个需求:微信小程序底部的Tab需要通过判断登录人的角色动态进行改变,想要实现这个功能依靠小程序原生的Tabbar是不可能实现的了,所以研究了一下自定义Tab,这里 ...
- 展开说说,Spring Bean IOC、AOP 循环依赖
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 延迟满足能给你带来什么? 大学有四年时间,但几乎所有人都是临近毕业才发现找一份好工作 ...
- 利用宝塔面板搭建 Laravel 5.5 环境
1.更新系统 yum install epel-release #rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...
- 【Java集合】JDK1.7和1.8 HashMap有什么区别
JDK1.7和1.8 HashMap区别: 1.数组+链表改成了数组+链表或红黑树: 2.表的插入方式从头插法改成了尾插法,简单说就是插入时,如果数组位置上已经有元素,1.7将新元素放到数组中,原始节 ...
- Java中的反射机制Reflection
目录 什么是反射? 获取.class字节码文件对象 获取该.class字节码文件对象的详细信息 通过反射机制执行函数 反射链 反射机制是java的一个非常重要的机制,一些著名的应用框架都使用了此机制, ...
- ADB调试工具的使用
ADB(Android Debug Bridge)安卓调试桥,ADB工具是可以方便调试安卓应用的工具. ADB的安装 下载ADB工具,解压, 将ADB工具的目录加入系统环境变量中,打开CMD窗口,输入 ...