去重表: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_各个引擎表的特点的更多相关文章

  1. mysql数据库 myisam数据存储引擎 表由于索引和数据导致的表损坏 的修复 和检查

    一.mysqlcheck 进行表的检查和修复 1.检查mysqlisam存储引擎表的状态 #mysqlcheck -uuser -ppassword database  table  -c  #检查单 ...

  2. InnoDB存储引擎表的主键

    在InnoDB存储引擎中,表是按照主键顺序组织存放的.在InnoDB存储引擎表中,每张表都有主键(primary key),如果在创建表时没有显式地定义主键,则InnoDB存储引擎会按如下方式选择或创 ...

  3. InnoDB存储引擎表的逻辑存储结构

    1.索引组织表:     在InnoDB存储引擎中,表都是依照主键顺序组织存放的.这样的存储方式的表称为索引组织表,在innodb存储引擎表中,每张表都有主键.假设创建的时候没有显式定义主键,则Inn ...

  4. MyISAM引擎表出现“Error 'Incorrect key file for table”

    mysql主从复制中的从库突然出现了警报,sql_thread停止了,show slave status\G;查看 mysql> show slave status\G ; . row **** ...

  5. ccflow_003.驰骋流程引擎表单方案

    003.驰骋流程引擎表单方案 设计流程主要有四个步骤 设计成型的效果图 表单的展示效果 表单方案 提供了八种表单模式 内置傻瓜表单 设计好的傻瓜表单演示 运行查看效果 内置自由表单 这是已经设计好的自 ...

  6. 关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答

    关于广州xx公司对驰骋BPM, 流程引擎表单引擎 常见问题解答 @驰骋工作流,ccflow周朋 周总早, ccflow 功能很强大,在体验过程中,以下几个问题需沟通下: 先使用.net 再使用java ...

  7. MySQL的nnodb引擎表数据分区存储

    Symlinks are fully supported only for MyISAM tables. 对应Innodb引擎数据文件放到其他目录 mysql> SHOW VARIABLES L ...

  8. INNODB存储引擎表空间

    这片文章主要是对innodb表空间的一些说明: innodb中表空间可以分为以下几种: 系统表空间 独立表空间 undo表空间 临时表空间(temporary tablespace) 通用表空间(ge ...

  9. Java工作流引擎表单引擎之JS表单字段输入脚本验证

    关键字: 表单设计器, 字段验证. workflow,ccform, ccBPM. 工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流bpm工作流系统  java工作流 ...

随机推荐

  1. Axure常用操作备忘

    目录 前言 技巧 边框重合 复制对象文本居中 复制粘贴样式 文本自适应 给图形添加连接点 导出图片无空白 前言 下面列出Axure画图过程中曾经遇到过的问题,备忘一下,避免别人也走弯路,法布施一下~ ...

  2. NTP时间同步服务

    NTP时间服务器 作用:ntp主要是用于对计算机的时间同步管理操作. 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响. 部署安装NTP ...

  3. JavaScript数组详解-全网最全

    定义数组的方式 定义数组的方式有多种,分别如下 let array=[] (字面量) let array=new Array() let array=new Array([length]) lengt ...

  4. 初中级php程序员面试时常见问题整理

    初中级php程序员面试问题收集 感悟 有时候草率给出一个答案,比思而无果更糟糕 php基础 php的数据类型 php数据类型的转换 php魔术方法 php 的trait的概念及特点 php 虚拟类和接 ...

  5. dedecms后台一些时间等验证方法(plus/diy.php)

    <?php if(trim(@$_POST['name'])==''){ $err=2; } if(trim(@$_POST['tel'])==''){ $err=1; }else{ @$_PO ...

  6. IDAPython类库---idc.py的源码

    #!/usr/bin/env python #--------------------------------------------------------------------- # IDAPy ...

  7. 基于Frida框架打造Art模式下的脱壳工具(OpenMemory)的原理分析

    本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80956614 作者dstmath在看雪论坛公布一个Android的art模式下基 ...

  8. POJ1201基础差分约束

    题意:       有一条直线,直线上做多有50000个点,然后给你组关系 a b c表明a-b之间最少有c个点,问直线上最少多少个点. 思路:        a-b最少有c个点可以想象a到b+1的距 ...

  9. python 压缩模块大杂烩(zipfile,bz2,lzma,gzip,tarfile,zlib)

    [*] 以下压缩模块请结合python的官方文档(https://docs.python.org/3.5/library/index.html)来实践或者对比(我的是python 3.5) 1.pyt ...

  10. Day003 运算符

    运算符 Java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof(判断一个对象 ...