clickhouse:列式存储,一个用于(OLAP–>联机分析)的列式数据库管理系统(DBMS)
clickhouse为啥快:
1.有多少CPU吃多少资源
2.Clickhouse不支持事务,不存在隔离级别
3.IO方面,mysql是行存储,Clickhouse是列存储.mysql需要大量的随机io.clickhouse基本是顺序io.(顺序io,磁头顺序访问.随机IO,需要先寻址===通俗就是顺序io,找到第一块数据后,其他数据都在这块数据后就不需要寻址了,依次获取即可,随机IO重复到不同的扇区找不同的数据,所以慢)
4.列式存储,向量化引擎
数据处理:
OLAP:联机分析处理,—->数据的聚合,上钻,下钻等==>上,获取数据上一级数据,下,获取更细节的数据
OLTP:联机事务处理,—>数据的增删改查等
#####按行存储和按列存储
1 | 1.只访问查询的列,大大降低IO |
基础数据类型
1 | Int:Int8,Int16,Int32,Int64 toInt32 |
复合数据类型
1 | 数组 Array ,数组内的数据类型可以不同,但是不能冲突,如int和float是可以的,但是不能和String组成 |
#####特殊数据类型
1 | Nullable===>辅助修饰,让某些字段可以写入NULL值如:Nullable(String)----->慎用,会影响性能.只能和基础数据类型搭配不能搭配符合数据类型 Nullable(Array(String))不可行.Array(Nullable(String)) 可行 |