没有合适的资源?快使用搜索试试~ 我知道了~
1、ClickHouse介绍
需积分: 0 1 下载量 138 浏览量
2023-05-29
10:14:17
上传
评论
收藏 560KB PDF 举报
温馨提示
试读
12页
1、ClickHouse介绍 网址:https://blog.csdn.net/chenwewi520feng/article/details/130499343 介绍clickhouse的主要功能、应用场景
资源推荐
资源详情
资源评论
ClickHouse系列文章
1、ClickHouse介绍
2、clickhouse安装与简单验证(centos)
3、ClickHouse表引擎-MergeTree引擎
4、clickhouse的Log系列表引擎、外部集成表引擎和其他特殊的表引擎介绍及使用
5、ClickHouse查看数据库容量、表的指标、表分区、数据大小等
@TOC
本文主要分为三部分,即OLAP关键特性、clickhouse特性和配置文件的简单介绍。
Clickhouse是一个高性能且开源的数据库管理系统,主要用于在线分析处理(OLAP)业务。它采用列式存
储结构,可使用SQL语句实时生成数据分析报告,另外它还支持索引,分布式查询以及近似计算等特
性,凭借其优异的表现,ClickHouse在各大互联网公司均有广泛地应用。
官网:https://clickhouse.com/
中文官网:https://clickhouse.com/docs/zh
一、OLAP关键特征
大多数数据库访问都是读请求
数据总是以批量形式写入数据库(每次写入大于1000行)
已添加的数据一般无需修改
每次查询都从数据库中读取大量的行,但是同时又仅需少量的列
数据表多为宽表,即每个表均包含着大量的列
查询量一般较少(非高并发,通常每台服务器每秒约有数百个查询或更少)
对于简单查询,允许的延迟大约为50毫秒(响应时间要迅速)
列中的数据相对较小,一般为数字或短字符串
处理单个查询时需要高吞吐量(每个服务器每秒高达数十亿行)
事务不是必须的
对数据一致性要求低
查询结果明显小于源数据,换句话说,数据被过滤或聚合后能够被存放在单台服务器的内存中。
OLAP业务场景与业务场景OLTP等有很大的不同,使用OLTP数据库或Key-Value数据库去处理分析查询
业务将会获得非常差的性能。
另外,相比于行式数据库,列式数据库则更适用于OLAP场景,因为对于大多数的查询而言,列式数据库
的处理速度要至少比行式数据库快100倍。二者的性能差别很大,列式数据库明显占优,主要体现在如
下:
对于分析类查询,通常只需要读取数据表中的一小部分列,使用列式数据库可以很轻松地实现,而
使用行式数据库却必须要读取全部的列,这就带来了性能的损失。
列式数据库按列存储数据,使得数据更容易被压缩,可以降低I/O传输的体积,从而使查询速度加
快。
由于I/O体积的降低,可以使得更多的查询数据被系统缓存,进一步加快了查询的速度。
执行一个查询一般需要处理大量的行,在整个列向量上执行所有操作将比在每一行上执行所有操作
更加高效,而且还可以更加充分地利用CPU资源,从而提升了查询的性能。
二、ClickHouse特性
相比于其它的列式数据库,ClickHouse的以下特性决定了它更适用于OLAP业务场景
数据压缩:ClickHouse会自动对插入的数据进行压缩,这对于性能的提升起到了至关重要的作用
磁盘存储:ClickHouse被设计为工作在传统磁盘上,这意味着数据存储的成本较低
多核心并行处理:ClickHouse会利用服务器的一切必要资源,以并行化处理大规模查询
分布式查询:在ClickHouse中,数据可以保存在不同的分片(shard)上,查询可以在所有分片上并
行处理
支持SQL:ClickHouse的查询语言大部分情况下是与SQL标准兼容的
向量引擎:ClickHouse采用了列向量引擎技术,可以更为高效地使用CPU资源
实时数据更新:ClickHouse使用MergeTree引擎对数据进行增量排序,数据可以持续不断地写入到
表中并进行合并,而且在整个过程中不会存在任何加锁行为
支持索引:ClickHouse按照排序键对数据进行排序并支持主键索引,可以使其在几十毫秒内完成对
特定值或特定范围的查找
支持近似计算:ClickHouse提供了许多在允许牺牲数据精度的情况下对查询进行加速的方法
下图显示了ClickHouse与其它主流列式数据库的性能对比。可以看到,对于大多数查询而言,
ClickHouse的响应速度更快,这也是选择ClickHouse作为OLAP数据处理的主要原因
三、ClickHouse配置文件
在使用ClickHouse之前,我们需要修改ClickHouse配置文件中的一些默认配置,比如数据存储路径,集
群信息以及用户信息等,这样可以更好地对ClickHouse进行管理控制,以满足我们的业务需求。
1、配置说明
ClickHouse支持多配置文件管理,主配置文件为config.xml,默认位于/etc/clickhouse-server目录
下,其余的配置文件均需包含在/etc/clickhouse-server/config.d目录下。
ClickHouse的所有配置文件均是XML格式的,而且在每个配置文件中都需要有相同的根元素,通常
为主配置文件中的一些配置可以通过replace或remove属性被其子配置文件所覆盖,如子配置文件
中的表示将使用该配置来替换主配置文件中的zookeeper选项。如果两个属性都未指定,则会递归
组合各配置文件的内容并替换重复子项的值。
配置文件中还可以定义substitution替换,如果一个配置包含incl属性,则替换文件中相应的配置将
被使用。默认情况下替换文件的路径为/etc/metrika.xml,可以通过include_from配置项进行设
置。如果待替换的配置不存在,ClickHouse会记录错误日志,为了避免这种情况,可以指定配置项
的optional属性来表示该替换是可选的,如在启动时,ClickHouse会根据已有的配置文件生成相应
的预处理文件,这些文件中包含了所有已完成替换和覆盖的配置项,它们被统一放置于
preprocessed目录下,你可以从这些文件中查看最终的配置项是否正确。另外ClickHouse会跟踪
配置文件的更改,对于某些配置如集群配置以及用户配置等,更改后会自动生效,无需重启
ClickHouse服务,而对于其它配置项的更改可能需要重启服务才能生效。
对于集群中的全部ClickHouse节点,除部分配置(如macros)外,其它所有的配置最好都保持一
致,以便于统一管理及使用。
2、数据路径配置
数据路径下既存储数据库和表的元数据信息(位于metadata目录)也存储表的真实数据(位于
data目录)。元数据是指建库和建表的语句,亦即数据库和表的结构信息,每次ClickHouse启动时
会根据元数据信息去加载相应的数据库和表。
数据路径的配置如下所示,其对应的XML标签为。
当单个物理盘无法存储全部的数据时,可以考虑将不同的数据库存储在不同的物理盘上,然后
在/path/to/clickhouse/data/目录下创建软连接指向其它物理盘上的数据库目录。
3、日志配置
ClickHouse的日志文件中记录了各种类型的事件日志,包括数据的插入和查询的日志以及一些配置和数
据合并相关的日志等。一般我们会通过日志文件找出ClickHouse报错的具体原因,以便解决问题。
日志的配置如下所示,其对应的XML标签为
level表示事件的日志级别,可以配置为trace,debug,information,warning,error等值
log表示主日志文件路径,该日志文件中包含所有level级别以上的事件日志
errorlog表示错误日志文件路径,该日志文件仅包含错误日志,便于问题排查
size表示日志大小,当日志文件达到指定size后,ClickHouse会进行日志轮转
count表示日志轮转的最大数量
事件日志是由多线程异步写入到日志文件中的,所以不同事件之间的日志会产生交错,不利于按顺序进
行日志排查。但ClickHouse为每个事件都提供了唯一的ID来标识,我们可以根据此ID来跟踪事件状态的
变化
4、集群配置
集群的配置主要用于分布式查询,在创建分布式表(Distributed)时会用到。
集群配置文件的示例如下所示,其对应的XML标签为
<path>/path/to/clickhouse/</path>
<logger>
<level>trace</level>
<log>/path/to/clickhouse-server/clickhouse-server.log</log>
<errorlog>/path/to/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>
<yandex>
<remote_servers>
<cluster_name>
<shard>
<weight>1</weight>
<internal_replication>false</internal_replication>
剩余11页未读,继续阅读
资源评论
一瓢一瓢的饮alanchanchn
- 粉丝: 2876
- 资源: 69
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功