ClickHouse简介及安装

0    294    3

👉 本文共约2018个字,系统预计阅读时间或需8分钟。

简介

近几年很火的ClickHouse是俄罗斯的Yandex在2016年开源的列式数据库,软件使用的是C++语言编写,主要使用的场景是OLAP(在线分析领域),能够用SQL语句实时的生成分析报表。

ClickHouse 是一个用于联机分析 (OLAP) 的列式数据库管理系统 (DBMS)。来自于 2011 年在纳斯达克上市的俄罗斯本土搜索引擎企业 Yandex 公司,诞生之初就是为了服务 Yandex 公司自家的 Web 流量分析产品 Yandex.Metrica,后来经过演变,逐渐形成为现在的 ClickHouse,全称是:Click Stream,Data WareHouse

ClickHouse 官网:https://clickhouse.tech/,它具有 ROLAP、在线实时查询、完整的 DBMS 功能支持、列式存储、不需要任何数据预处理、支持批量更新、拥有非常完善的 SQL 支持和函数、支持高可用、不依赖 Hadoop 复杂生态、开箱即用等许多特点。

在 1 亿数据集体量的情况下,ClickHouse 的平均响应速度是 Vertica 的 2.63 倍、InfiniDB 的 17 倍、MonetDB 的 27 倍、Hive 的 126 倍、MySQL 的429 倍以及Greenplum 的 10 倍。详细的测试结果可以查阅:https://clickhouse.tech/benchmark/dbms/
ClickHouse 非常适用于商业智能领域(也就是我们所说的 BI 领域),除此之外,它也能够被广泛应用于广告流量、Web、App 流量、电信、金融、电子商务、信息安全、网络游戏、物联网等众多其他领域。

ClickHouse 是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域。目前国内社区火热,各个大厂纷纷跟进大规模使用:
今日头条内部用 ClickHouse 来做用户行为分析,内部一共几千个 ClickHouse 节点,单集群最大 1200 节点,总数据量几十 PB,日增原始数据300TB 左右。

腾讯内部用 ClickHouse 做游戏数据分析,并且为之建立了一整套监控运维体系。
携程内部从 18 年 7 月份开始接入试用,目前 80% 的业务都跑在 ClickHouse 上。每天数据增量十多亿,近百万次查询请求。
快手内部也在使用 ClickHouse,存储总量大约 10PB, 每天新增 200TB, 90% 查询小于 3S。

ClickHouse 缺点:

1、没有完整的事务支持
2、稀疏索引导致 ClickHouse 不擅长细粒度或者 key-value 类型数据的查询需求
3、缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据
4、不擅长 join 操作

以下两幅图来自于官方,展示了行式数据库和列式数据库工作模式的的不同。

行式

ClickHouse简介及安装

列式

ClickHouse简介及安装

列存的好处如下:

比如在I/O方面,针对分析类查询,通常只需要读取表的一小部分列,在列式数据库中你可以只读取你需要的数据。例如,如果只需要读取100列中的5列,这能帮助你最少减少20倍的I/O消耗。由于数据总是打包成批量读取的,所以压缩是非常容易的。同时数据按列存储这也更容易压缩,可以进一步降低I/O容量。由于I/O的降低,也会帮助更多的数据被系统缓存。

在CPU方面,由于执行一个查询需要处理大量的行,因此在整个向量上执行所有操作将比在每一行上执行所有操作更加高效。关于向量执行引擎(Vectorized execution engine),其实是对内存中的列式数据,一个batch调用一次SIMD指令。可以减少函数调用次数、降低了cache miss,充分发挥SIMD指令的并行能力,大幅缩短了计算耗时。

https://github.com/ClickHouse/ClickHouse/releases

安装

ClickHouse 可以通过源码编译、预编译压缩包、Docker 镜像和 RPM 等多种方法进行安装。

安装包:

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

https://packagecloud.io/Altinity/clickhouse

https://repo.clickhouse.tech/tgz/

ClickHouse需要使用SSE硬件指令集加速,大大加快了CPU寄存器计算效率,所以,安装ClickHouse之前先要检查是否支持SSE4.2指令集。

yum安装

https://packagecloud.io/Altinity/clickhouse/install#bash-rpm

简单使用

配置文件

主配置文件:/etc/clickhouse-server/config.xml ,config.xml文件中,包含两类设置: 1、服务器参数设置 2、常规配置参数设置

这里配置文件必须是XML 格式,同时,文件中的开头结尾必须是 <yandex> </yandex> , 以下是一些常用的重要的配置参数

更多配置参考信息地址:

https://clickhouse.tech/docs/en/operations/server-configuration-parameters/settings/

https://clickhouse.tech/docs/en/operations/server-configuration-parameters/

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

5 − 1 =

 

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部