美文网首页
ClickHouse MATERIALIZED VIEW

ClickHouse MATERIALIZED VIEW

作者: 白奕新 | 来源:发表于2019-12-21 17:53 被阅读0次

    0、原理

    • 物化视图的原理是服务器觉得空闲的时候,帮你做一次select再insert的动作,可以通过物化视图来实现表间数据复制。
    • 配置parallel_view_processing来实现物化视图是同步还是异步写。
    • 物化视图也是一个普通的表。
    • pay attention:物化视图不能修改表名

    1、可以用来实现什么?

    当有需要在同个实例进行多表多写的时候,就可以使用物化视图来实现ClickHouse帮你做表的数据复制,减少了多写的带宽消耗,降低集群负载。
    适用场景:

    • 需要有多个时间维度的表
    • 同一个表需要建立不同的索引粒度

    2、怎么用?

    CREATE MATERIALIZED VIEW db.table ENGINE = MergeTree() PARTITION BY day ORDER BY name
    AS SELECT * FROM db.old-table;
    
    • 如果需要实现多个时间维度的表,则'AS SELECT'的时候对时间字段多处理即可实现

    3、测试

    对6w/s写入量级的原始表进行测试
    (1)数据完整度
    原始表


    原始表.png

    物化视图


    物化视图.png

    可以看到,数据完整度在99.99%以上。
    (2)复制时效性
    原始表


    原始表.png

    物化视图


    物化视图.png

    查看最新的数据,可以看到数据时效性在5s以内。

    (3)负载消耗


    load值.png
    cpu.png
    memory.png

    无明显大幅度负载增高

    相关文章

      网友评论

          本文标题:ClickHouse MATERIALIZED VIEW

          本文链接:https://www.haomeiwen.com/subject/alvgnctx.html