基于ClickHouse造实时计算引擎,百亿数据秒级响应!
前言 为了能够实时地了解线上业务数据,京东算法智能应用部打造了一款基于ClickHouse的实时计算分析引擎,给业务团队提供实时数据支持,并通过预警功能发现潜在的问题。 本文结合了引擎开发过程中对资源位数据进行聚合计算业务场景,对数据实时聚合计算实现秒级查询的技术方案进行概述。ClickHouse是整个引擎的基础,故下文首先介绍了ClickHouse的相关特性和适合的业务场景,以及最基础的表引擎MergeTree。接下来详细的讲述了技术方案,包括Kafka数据消费到数据写入、结合ClickHouse特性建表、完整的数据监控,以及从几十亿数据就偶现查询超时到几百亿数据也能秒级响应的优化过程。 ClickHouse ClickHouse是Yandex公司内部业务驱动产出的列式存储数据库。为了更好地帮助自身及用户分析网络流量,开发了ClickHouse用于在线流量分析,一步一步最终形成了现在的ClickHouse。在存储数据达到20万亿行的情况下,也能做到90%的查询能够在1秒内返回结果。 ClickHouse能够实现实时聚合,一切查询都是动态、实时的,用户发起查询的那一刻起,整个过程需要能做到在一秒内完成并返回结果。ClickHouse的实时聚合能力和我们面对的业务场景非常符合。 ClickHouse支持完整的DBMS。支持动态创建、修改或删除数据库、表和视图,可以动态查询、插入