上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.1 典型应用场景
数据分析(OLAP)场景通常涉及批量导入数据后的任意维度的灵活探索、BI工具洞察、报表制作等。在一次性写入数据后,分析师需要尝试从各个角度对数据进行挖掘和分析,直到找到业务价值、业务变化趋势等信息。这是一个需要反复试错、不断调整、不断优化的过程,读取的数据数量远远超过写入的数量。
在OLAP场景中,通常有一个或几个大的宽表,有数百甚至数千列。分析数据时,通常选择几列作为维度列,选择另外几列作为聚合分析列,执行select、count、sum、group by、order by等操作,最终聚合计算的结果集会远小于数十亿、千亿的原始数据。这正是ClickHouse擅长的领域。ClickHouse的典型应用场景包括企业级大数据分析、电商人货场运营圈选洞察、用户画像绘制、用户行为分析、各行各业的海量数据多维分析、机器学习模型评估、微服务监控和统计等领域。
在超大数据量级的分析场景中使用原生的ClickHouse会遇到一些常见问题。
1)稳定性:ClickHouse的原始稳定性并不好,比如在高频写入的场景下经常会出现问题,整个集群被一个慢查询拖死,出现节点OOM、DDL请求卡死等情况。另外,由于ClickHouse原始设计有缺陷,随着数据增长,写数据QPS增大,依赖的ZooKeeper存在瓶颈。
2)使用门槛较高:用ClickHouse搭建的系统的业务性能可能比不用ClickHouse的要高3倍甚至10倍,有些场景还需要针对性对内核进行优化,这就对数据分析师提出了更高的要求。