Clickhouse学习之路(一)-- 功能简介

Clickhouse是一个简单化和统一化的大数据分析平台。

一.版本介绍

企业应用建议使用LTS版本,LTS版本是为企业应用推出的稳定版本,差不多6个月一个版本。

二.功能概述

1. 真正的面向列的DBMS

在一个真正的面向列的DBMS中,没有任何“垃圾”存储在值中。例如,必须支持定长数值,以避免在数值旁边存储长度“数字”。例如,十亿个UInt8类型的值实际上应该消耗大约1 GB的未压缩磁盘空间,否则这将强烈影响CPU的使用。由于解压缩的速度(CPU使用率)主要取决于未压缩的数据量,所以即使在未压缩的情况下,紧凑地存储数据(没有任何“垃圾”)也是非常重要的。ClickHouse是一个DBMS,而不是一个单一的数据库。ClickHouse允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器。

2. 数据压缩

3. 磁盘存储的数据

4. 多核并行处理

        多核多节点并行化大型查询。

5. 在多个服务器上分布式处理

6. SQL支持

        NULL不支持。所有的函数都有不同的名字。JOIN支持。子查询在FROM,IN,JOIN子句中被支持;标量子查询支持。关联子查询不支持。

7. 向量化引擎

        数据不仅按列存储,而且由矢量 - 列的部分进行处理。

8. 实时数据更新

        ClickHouse支持主键表。为了快速执行对主键范围的查询,数据使用合并树(MergeTree)进行递增排序。由于这个原因,数据可以不断地添加到表中。添加数据时无锁处理。

9. 索引

10. 支持在线查询

11. 支持近似计算

        a.系统包含用于近似计算各种值,中位数和分位数的集合函数。

        b.支持基于部分(样本)数据运行查询并获得近似结果。在这种情况下,从磁盘检索比例较少的数据。

        c.支持为有限数量的随机密钥(而不是所有密钥)运行聚合。在数据中密钥分发的特定条件下,这提供了相对准确的结果,同时使用较少的资源。

12. 数据复制和对数据完整性的支持。

使用异步多主复制。写入任何可用的副本后,数据将分发到所有剩余的副本。系统在不同的副本上保持相同的数据。数据在失败后自动恢复

三.特性

1. 真正的列式数据库管理系统:它允许在运行时创建表和数据库、加载数据和运行查询,而无需重新配置或重启服务。

2. 数据的磁盘存储

3. 多服务器分布式处理

        上面提到的列式数据库管理系统中,几乎没有一个支持分布式的查询处理。
        在ClickHouse中,数据可以保存在不同的shard上,每一个shard都由一组用于容错的replica组成,查询可以并行地在所有shard上进行处理。这些对用户来说是透明的

4. 支持SQL

5. 向量引擎

6. 支持近似计算

        ClickHouse提供各种各样在允许牺牲数据精度的情况下对查询进行加速的方法:用于近似计算的各类聚合函数,如:distinct values, medians, quantiles

        基于数据的部分样本进行近似查询。这时,仅会从磁盘检索少部分比例的数据。

不使用全部的聚合条件,通过随机选择有限个数据聚合条件进行聚合。这在数据聚合条件满足某些分布条件下,在提供相当准确的聚合结果的同时降低了计算资源的使用。

7. 支持数据复制和数据完整性

        ClickHouse使用异步的多主复制技术。当数据被写入任何一个可用副本后,系统会在后台将数据分发给其他副本,以保证系统在不同副本上保持相同的数据。在大多数情况下ClickHouse能在故障后自动恢复,在一些少数的复杂情况下需要手动恢复。

8. 限制

        没有完整的事务支持。

        缺少高频率,低延迟的修改或删除已存在数据的能力。仅能用于批量删除或修改数据,但这符合 GDPR

        稀疏索引使得ClickHouse不适合通过其键检索单行的点查询。

9. Clickhouse中的分区与分片不是同一概念

四.缺点

  1. 不支持事物。
  2. 不支持Update/Delete操作。
  3. 支持有限操作系统。

现在支持ubuntu,centos 需要自己编译,不过有热心人已经编译好了,拿来用就行。对于Windows  不支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值