关注「学习的一天天」每天学点大数据
热爱学习的你真棒!我是onedayday,每天和你一起学点大数据。
一、SQL 支持, JSON 和 数组作为一等公民
arrayJoin groupArray arrayMap arrayFilter
SELECT a.timePeriod as t, b.count as c from (
with (select toUInt32(dateDiff('day', [START_DATE], [END_DATE])) )
as diffInTimeUnits
select arrayJoin(arrayMap(x -> (toDate(addDays([START_DATE], x))), range(0, diffInTimeUnits+1))) as timePeriod ) a
LEFT JOIN
(select count(*) as count, toDate(toStartOfDay(started_at)) as timePeriod from logs WHERE
[CONDITIONS]
GROUP BY toStartOfDay(started_at)) b on a.timePeriod=b.timePeriod
二、灵活的schema - 但需要时也可以严格
三、存储和查询效率
四、统计函数
在 Clickhouse 中,很容易计算 404 查询的中位数和 99 分位的耗时:
SELECT count(*) as cnt,
quantileTiming(0.5)(duration) as duration_median,
quantileTiming(0.9)(duration) as duration_90th,
quantileTiming(0.99)(duration) as duration_99th
FROM logs WHERE status=404
五、MySQL 和 Clickhouse 紧密结合
MySQL 作为外部词典 通过binlog将 MySQL 数据镜像至 Clickhouse MySQL 数据库引擎 - 和之前方法相似但更灵活,无需 binlog MySQL 表函数 通过特定查询链接 MySQL 表 MySQL 表引擎 在 CREATE TABLE 语句中静态描述特定表 Clickhouse 使用 MySQL 协议
六、新特性
ALTER TABLE [db.]table [ON CLUSTER cluster] DELETE WHERE filter_expr
七、缺点
八、总结
--END--
▼ 关注「学习的一天天」,获取更多技术干货 ▼
点赞「在看」
分享让你记得更牢👇
文章转载自学习的一天天,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。