ClickHouse 极简教程:全面了解 ClickHouse_数据分析

全面了解ClickHouse

ClickHouse 概述

近年来,ClickHouse发展势头迅猛,社区、大厂纷纷跟进使用。面对万亿级的数据查询分析也能做到亚秒级响应。那么,ClickHouse 到底是何方神圣?为什么如此受青睐?各位看官,欲知 ClickHouse 为何,且往下看。

ClickHouse 是什么?

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time. ——ClickHouse 官网

ClickHouse  是一个用于 OLAP (On-Line Analytical Processing,联机分析处理)列式数据库管理系统 (Columnar DBMS),由俄罗斯 Yandex 的程序员在2008 年开始开发(使用 C++ 编程语言),并于2016年6月15日开源。 在面对海量数据(千亿、TB级)、复杂分析场景与业务逻辑的问题场景时,ClickHouse 能够实现基于 SQL 语法的秒级响应的实时分析。ClickHouse 使用 SIMD 高效指令集、向量化执行引擎,较传统方式 100-1000倍查询性能提升,50MB~200MB/S 实时导入能力,列存储数据高压缩率支持。

目前业界比较流行的分析型数据库包括 Kylin、AnalyticDB、Druid、Clickhouse、Vertica、MonetDB、InfiniDB、LucidDB等。在 DB-Engine 排行榜(https://db-engines.com/en/ranking_trend)上(如下图),

ClickHouse 极简教程:全面了解 ClickHouse_大数据_02

目前(2022.1)ClickHouse 排第44名,在 Relational DBMS 排第28名(https://db-engines.com/en/ranking/relational+dbms)。从增长曲线图可以看出,ClickHouse 从开源到现在,增长迅速。

ClickHouse 与竞品 DB 的性能基线(https://clickhouse.com/benchmark/dbms)对比如下图(1000w 数据量查询时延,越小越好)。

ClickHouse 极简教程:全面了解 ClickHouse_人工智能_03

近年来,大数据技术的发展,不论是技术迭代,还是生态圈的繁荣,都远超我们的想象。大数据技术的鼻祖 Google 开启了“三驾马车”时代:

• Google FS

• MapReduce

• BigTable

大数据逐渐成为浪潮之巅。从 Spark成为 Hadoop 生态的一部分,到 Flink横空出世挑战 Spark 成为大数据处理领域的新星,再到如今 Google 又想要用 Apache Beam (原名 Google Cloud DataFlow)一统天下。大数据技术的发展可谓跌宕起伏,波澜壮阔。我们可以看到一个有趣的现象,那就是大数据相关的技术,都跟搜索引擎有关——因为它直面海量数据,要解决海量数据的快速查询分析的问题。

关于 ClickHouse 的官网文档资料如下:

1. GitHub :https://github.com/ClickHouse/ClickHouse

2. 官网:https://clickhouse.com/

3. 在线源码阅读: https://clickhouse.com/codebrowser/html_report/ClickHouse/index.html

Tips: OLAP 与 OLTP 简介

ClickHouse 极简教程:全面了解 ClickHouse_数据分析_04

ClickHouse 极简教程:全面了解 ClickHouse_java_05

引自:https://www.youtube.com/watch?v=NN_fx6KIxr0

OLAP 的重点是 A,Analytical,也就是在线实时分析。OLAP 是数仓的灵魂,主要用于复杂多维、大规模数据集进行在线实时分析,为用户提供决策支持。OLAP 有很多不同的类型,例如:

关系型 OLAP (ROLAP,Relational OLAP)、多维OLAP(MOLAP,Multidimensional OLAP)、混合在线分析处理 (HOLAP,Hybrid Online Analytical Processing)、空间OLAP(SOLAP,Spatial OLAP)等。例如,Presto 是 ROLAP,Kylin 是 MOLAP。

OLAP 的基本分析操作有上卷、下钻、切片、切块和数据透视等,如下图所示(来自:wikimedia):

ClickHouse 极简教程:全面了解 ClickHouse_大数据_06

1. 上卷(Roll-Up),用于通过将相关数据聚合到一个变量中来减少维度。例如,可以将来自世界各地不同城市的销售额分组到一个国家/地区。

2. 下钻(Drill-Down),是 Roll-Up 的逆向操作,它分离信息以获得对收集到的数据的细粒度洞察。例如,可以根据每个季度来评估金融机构的销售业绩。

ClickHouse 极简教程:全面了解 ClickHouse_数据分析_07