Clickhouse之物化视图

前言

      使用过ClickHouse的开发者都知道,ClickHouse能够使用向量化计算快速得出结果,但是并发量不高。如何解决呢?其实我们可以引入物化视图这个概念来解决。

 

作用

  • 同一个表需要建立不同的索引粒度,提前预聚合
  • 降低查询速度,提高并发量
  • 降低服务的查询压力,cpu使用率平缓利用

 

使用教程

一、统计类(ReplicatedSummingMergeTree引擎)

 1.创建本地表

CREATE TABLE if not exists exit \
( \
    app_id String, \
    view_id UInt64, \
    dt String, \
    hr String \
) ENGINE = ReplicatedMergeTree('/clickhouse/table/{shard}/exit', '{replica}') \
PARTITION BY dt \
ORDER BY app_id \
SETTINGS index_granularity = 8192, use_minimalistic_part_header_in_zookeeper = 1;

 说明: 

  1. 不指定PRIMARY KEY 的话,默认使用 ORDER BY字段作为主键。
  2. use_minimalistic_part_header_in_zookeeper=1会使ZooKeeper 会存储更少的数据,避免zookeeper在snapshot时响应超时。

 

2.创建物化视图

CREATE MATERIALIZED VIEW IF NOT EXISTS  exit_materialized \
ENGINE = Replicate

你可能感兴趣的:(clickhouse,clickhouse,物化视图)