ClickHouse

特点

存储,查询快

难理解

向量化执行引擎:它是基于物理硬件cpu部分的,简单来说,就是cpu中的simd指令(单条命令执行多条数据),通过数据并行以提高性能的一种实现方式,原理是在cpu寄存器层面实现数据的并行操作。

replacingmergetree引擎:与merge不同的是他会去重,去重的并不是主键相同的,而是排序相同的(order By),但是当插入数据的时候,因为它是并行工作的,所以可能得到的并不是最新的数据,这时候用engine=ReplacingMergeTree(version) , version在数据中定义一个int,这样插入数据的时候,按照int的数值最大的为最后的更新,也可以配置时间为参数

sql

with 语法
with ‘2’ as a select * from user where id=a
with (select count(1) from user) as a select (sum(age) )
查询最近7日的情况
select toDate(row_create_time),count(1) from track_all where row_create_time >= toDate((now()) - interval 7 day )group by toDate(row_create_time);
查询的热度
select article.article_id, article.article_title,article.article_type,count(article_id) as “hot” from article left join track_all on track_all.article_id=CAST(article.article_id as String)
where track_all.row_create_time >= toDate((now())- interval 7 day)
group by article_id,article_title,article_type order by hot desc limit 12
查询最近7天的某个事件的热度
select event,toDate(row_create_time),count(1) from track_all
where row_create_time>=toDate(now()- interval 7 day)
group by event,toDate(row_create_time) order by toDate(row_create_time)
创表

39 40
CREATE TABLE saas_binlog.article_binlog
(
    `logId` Int64 COMMENT '日志id',
    `operate_time` DateTime COMMENT '操作时间',
    `operator` String COMMENT '操作人员',
    `module` String COMMENT '所属模块',
   `targetId` Int64 COMMENT '操作对象id稿件id',
    `action` String COMMENT '操作类型',
    `detail` String COMMENT '日志内容(操作人 新建|修改|删除 稿件id(修改字段))',
    `fieldChange` String COMMENT '最新值/旧值',
   `tenantId` Int64 COMMENT '租户ID',
   `appId` Int64 COMMENT '应用ID',
    `dwd_json` String COMMENT '原有字符串'
)
ENGINE =ReplicatedReplacingMergeTree ('/clickhouse/tables/{layer}-{shard}/article_binlog','{replica}')
PARTITION BY toYYYYMM(operate_time)
PRIMARY KEY logId
ORDER BY (logId, operate_time)
39
create TABLE saas_binlog.article_binlog_all AS saas_binlog.article_binlog ENGINE = Distributed(perftest_2shards_1replicas,saas_binlog, article_binlog, rand());

参考

https://clickhouse.tech/docs/zh/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值