ClickHouse初探

ClickHouse初探

简介

官方介绍:

ClickHouse is a fast open-source OLAP database management system

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)

从官方网站我们可以快速知道,ClickHouse主要特点就是快,主要用于OLAP的开源列数据库。

什么是OLAP?

OLAP(On-Line Analytical Processing),即联机分析处理,数据处理的一类,与之对应的就是OLTP(On-Line Transaction Processing),联机事务处理,这两个就是数据分析常见的两大类。

OLTP就是对传统关系数据库(RDBMS)的应用,注重事务

OLAP对应的则是数据仓库(DWH)的应用,注重大数据量的分析

什么是列存储?

列存储是相对于行存储来说的,其实就是数据存储的不同方式,传统的关系型数据库(如,MySQL)采用的就是行存储结构,数据存储于磁盘采用的按行的方式存储,而列存储数据库则与之相反,根据表结构,按照列的方式存储,大致如下:

行存储

列存储

clickhouse-column.png

对于和两种存储方式其实不能用于性能比较,只能说是使用场景的不同,适应的需求也不同,行存储的数据通常用于OLTP,而列存储的数据库则比较适用于OLAP,两者之间没有绝度的界限。

ClickHouse主要特点

  • 适用于读多写少的场景

  • 不适用于修改数据,甚至不修改数据

  • 适用于宽表,并且每次读取的只是其中少部分的列

  • 适用于对事务和数据一致性要求不高的场景

  • 适用于每次操作都是大量数据的,而不对某条数据的场景

性能

  • 单个大查询的吞吐量:2-10GB/s

  • 处理短查询的延迟时间:<50ms

  • 处理大量短查询的吞吐量:数百个QPS(建议每秒最多查询100次)

  • 数据的写入性能:50到200MB/s(建议每次写入不少于1000行的批量写入)

总结

最近公司在做数据大屏,恰好数据量比较大,使用MySQL做分析明显不合适,正好公司其他团队有用ClickHouse作数据分析,我们也就一并使用起来,刚刚使用,还未深入理解,先写个文章记录下,等后面有更深入的理解和使用再来一起探讨。

你可能感兴趣的:(ClickHouse初探)