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)采用的就是行存储结构,数据存储于磁盘采用的按行的方式存储,而列存储数据库则与之相反,根据表结构,按照列的方式存储,大致如下:
行存储:
列存储:
对于和两种存储方式其实不能用于性能比较,只能说是使用场景的不同,适应的需求也不同,行存储的数据通常用于OLTP,而列存储的数据库则比较适用于OLAP,两者之间没有绝度的界限。
ClickHouse主要特点
适用于读多写少的场景
不适用于修改数据,甚至不修改数据
适用于宽表,并且每次读取的只是其中少部分的列
适用于对事务和数据一致性要求不高的场景
适用于每次操作都是大量数据的,而不对某条数据的场景
性能
单个大查询的吞吐量:2-10GB/s
处理短查询的延迟时间:<50ms
处理大量短查询的吞吐量:数百个QPS(建议每秒最多查询100次)
数据的写入性能:50到200MB/s(建议每次写入不少于1000行的批量写入)
总结
最近公司在做数据大屏,恰好数据量比较大,使用MySQL做分析明显不合适,正好公司其他团队有用ClickHouse作数据分析,我们也就一并使用起来,刚刚使用,还未深入理解,先写个文章记录下,等后面有更深入的理解和使用再来一起探讨。