ClickHouse知识点

介绍

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统。
来自不同列的值被单独存储,来自同一列的数据被存储在一起。

特性

  • 真正的列式数据库管理系统
  • 数据压缩
  • 数据磁盘存储
  • 多核心并行处理
  • 多服务器分布式处理
  • 支持SQL
  • 向量引擎
  • 实时数据更新
  • 支持索引
  • 适合在线查询
  • 支持近似计算
  • 支持嵌套的数据结构
  • 支持数据复制和数据完整性
  • 支持角色权限控制

缺陷

  • 不支持事务
  • 缺少高频修改删除操作,只能批量修改删除

数据库引擎

数据库引擎允许您使用表。
默认情况下,ClickHouse采用Atomic数据库引擎。他提供了可配置的表引擎和SQL查询语言。
数据库引擎有:MySQL、Atomic、MaterializeMySQL、Lazy、PostgreSQL、MaterializePostgreSQL、Relicated。

  • MySQL引擎
    MySQL引擎用于将远程的MySQL服务器中的数据表映射到clickhouse中,并允许您对表进行Insert和select操作,以方便在CIickhouse与MySQL中进行数据交换。
    ClickHouse中的MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到服务器中,因此您可以执行SHOW TABLES或SHOW CREATE TABLE之类的操作。
    但无法对其执行:RENAME、CREATE TABLE、ALTER。

  • Atomic引擎
    ClickHouse中的Atomic引擎支持非阻塞的DROP TABLE和RENAME TABLE查询和原子的EXCHANGE TABLES t1 AND t2查询。ClickHouse默认使用Atomic数据库引擎。
    数据库Atomic的表都有唯一的UUID,并将数据存储在目录/clickhouse_path/store/xxx/xxx/xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy/中,其中xxxyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy是UUID。通常UUID是自动生成的。

表引擎

表引擎在ClickHouse中的作用十分关键,直接决定了数据如何存储和读取、是否支持并发、是否支持index、支持的query种类、是否支持主备复制等。一共分为四个类型:Log、MergeTree、Integration、Special。
Log系列表引擎功能相对简单,只要用于快速写入表(1百万行左右),然后全部读出的场景。
Integeration表引擎主要用于将外部数据导入ClickHouse中,或者在ClickHouse中直接操作外部数据源。
Special引擎是为了特定的场景而定制。如:Memory、Buffer、File、Null。
MergeTree是官方推荐的存储引擎,支持几乎所有ClickHouse核心功能。

  • MergeTree
    ClickHouse中最强大的数据表引擎是MergeTree(合并树)引擎及该系列的(*MergeTree)中的其他引擎。MergeTree系列引擎被设计用于插入大量的数据到一张表中。数据可以以数据片段的形式一个接着一个快速写入,数据片段在后台按照一定的规则进行合并。相比于在插入时不断修改(重写)已存储的数据,这种策略会高很多。
  • 主要特点:
    1、存储的数据按主键排序。
    2、可以指定分区键。
    在相同数据集和相同结果集的情况下ClickHouse中某些带分区的操作会比普通操作快。查询时指定分区键时ClickHouse会自动截取分区。增加了查询性能。
    3、支持数据副本
    4、支持数据采样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值