Clickhouse简介

一、Clickhouse定义

Clickhouse是一个列式数据库,通常适合OLAP场景

二、适合Clickhouse的场景或一般的OLAP场景

  • 绝大多数的请求都是读请求;

  • 数据更新适合大批量,比如一次更新1000条以上,或者不更新,不适合一次更新1条记录;

  • 对于读取,会从数据库中获取相当多的行,但只有每行的一小部分列。

  • clickhouse适合大宽表,但是每次查询只查询几列;

  • 每列的值相对较小,通常为int或较短的字符串(60个bytes以内比较合适)

  • 每个查询最多只有一张大表或全部是小表

  • 查询结果明显小于源数据。换句话说,数据被过滤或聚合,因此每个查询获取的结果通常当个服务器的内存就可以承受。

  • 查询并发通常不太多(通常单台server控制在每秒并发100以内)

  • 对于简单查询,延迟大约在50毫秒左右。

  • 处理单个查询时需要高吞吐量(每台服务器每秒高达数十亿行),需要对大量数据进行处理。

  • 不需要事物

  • 数据一致性需求较低

三、列式数据库为什么比行存储数据库做OLAP场景查询更快

3.1 input/output
  • 对于面向列式存储的数据库,每次只需要读取需要列的数据,如对于100列中只需要查询5列,则至少有20倍I/O的减少;
  • 相同数据的格式更容易压缩,进一步减少I/O;
  • 由于减少了数据和I/O,系统也可以缓存更多的数据;

使用快速压缩算法每秒单机可以至少解压数GB的未压缩数据,也就是说每秒单机可以处理数十亿行数据的查询。

3.2 cpu

向量化处理

四、Clickhouse的特性

4.1 真正的列式数据库管理系统
  • 每列数据之间不存储其他数据比如数据长度,没有任何垃圾,只存储真正的值
  • 不仅仅是一个database,还是一个数据库管理系统,可以在线创建表、加载数据、查询等
4.2 数据压缩
  • 一些列式数据库并没有启用压缩,但是压缩在数据性能方面起到非常重要的作用
4.3 硬盘存储数据
  • 数据根据主键物理排序存储,这使得查询一定范围的数据只需要很少的时间。一些列式数据库只能支持在内存中工作,这将加大预算。Clickhouse面向普通硬盘设计,这样每GB数据成本将更少。
4.4 单机上多核并行计算

大型查询以自然的方式并行化,占用当前服务器上可用的所有必要资源。

4.5 多服务器并行计算

在ClickHouse中,数据可以驻留在不同的shards上。每个shards可以是一组用于容错的副本。查询在所有shards上并行处理。这对用户是透明的。

4.6 多服务器并行计算

支持标准的SQL查询,包括子查询、group by 、order by等,不支持依赖子查询和窗口函数。

4.7 向量引擎

数据不仅由列存储,而且由向量(列的一部分)处理。这使我们能够实现高CPU效率。

4.8 向量引擎

ClickHouse支持带有主键的表。为了快速对主键的范围执行查询,使用合并树对数据进行增量排序。因此,数据可以不断地添加到表中。当接收到新数据时,不会执行任何锁定。

4.9 实时数据更新

ClickHouse支持带有主键的表。为了快速对主键的范围执行查询,使用合并树对数据进行增量排序。因此,数据可以不断地添加到表中。当接收到新数据时,不会执行任何锁定。

4.10 索引

通过按主键对数据进行物理排序,可以在不到几十毫秒的时间内提取特定值或值范围的数据。

4.11 适合低延迟查询

低延迟意味着在加载用户界面页面的同时,可以毫不延迟地处理查询,而无需提前准备答案。换句话说,在线。

4.12 支持近似计算
  • 如Hyper Log近似算法
  • 针对样例数据sample抽样计算等
4.13 数据副本和完整性

使用异步多主机复制。在写入任何可用的副本后,数据将分发到后台的所有剩余副本。系统在不同的副本上维护相同的数据。大多数故障后的恢复是自动执行的,在复杂情况下是半自动的。
clickhouse replication

ClickHouse是一个开源的列式数据库管理系统,用于处理大规模数据分析。它的文件存储位置可以在配置文件中指定,配置文件的路径是/etc/clickhouse-server/config.xml。启动ClickHouse的可执行文件位于/usr/bin目录下,数据存储在/var/lib/clickhouse目录中,日志文件位于/var/log/clickhouse-server目录中。\[1\] 如果你想下载ClickHouse,可以在http://repo.red-soft.biz/repos/clickhouse/stable/el7/找到下载地址。在单机模式下,你需要将以下5个文件上传到/usr/local/clickhouse目录中: - clickhouse-client-1.1.54236-4.el7.x86_64.rpm - clickhouse-compressor-1.1.54236-4.el7.x86_64.rpm - clickhouse-debuginfo-1.1.54236-4.el7.x86_64.rpm - clickhouse-server-1.1.54236-4.el7.x86_64.rpm - clickhouse-server-common-1.1.54236-4.el7.x86_64.rpm\[2\] 然后,你可以使用以下命令安装这5个rpm文件: rpm -ivh /usr/local/clickhouse/*.rpm\[2\] 最后,你可以使用以下命令启动ClickHouse服务器: nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml >/dev/null 2>&1 &\[3\] #### 引用[.reference_title] - *1* [【用户画像】ClickHouse简介、特点、安装和部署](https://blog.youkuaiyun.com/weixin_43923463/article/details/127471546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ClickHouse原理及使用](https://blog.youkuaiyun.com/weixin_32265569/article/details/111822811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值