clickhouse查询加速的主要解决方案

    加速查询

  1. 加速查询通过增加线程数。
  2. 加速查询通过减少读取。
  3. 查询的效率趋于I/O的扩展。
  4. 使用prewhere语句来帮助过滤非索引字段数据。
  5. 确保最优的分区数。不是分区数越多越好!分区数过多,不仅在clickhouse启动服务时增加load data parts的时间,同时对于replicatedMergeTree(复制)表也会导致Zookeeper上Znode的数量增多。so,保持每张表分区数在百级别,不要到千级别及以上。
  6. 在压缩前使用不同的编码方式来减小数据大小。clickhouse提供了多种编码方式。通过编码方式,结合压缩算法,提升数据压缩率,能有效减少压缩后的数据量,从而减少I/O,提升性能。
  7. 优化主键索引以及减少数据大小和索引选择。clickhouse内部以主键排序存储。选择不同的主键,对于查询性能影响很大。这个需要结合业务方常用查询SQL来确定。
  8. 原表之外通过物化视图来传输数据。我们可以事先进行一些聚合操作,然后将其构建到clickhouse提供的物化视图上。这样也可以进一步提升性能。
posted @ 2022-06-28 14:36  渐逝的星光  阅读(973)  评论(0编辑  收藏  举报