1.ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。(mysql是基于OLTP 区别在于对事务的认知)

2.区别于行式数据库,单独列形式物理存储

clickhouse mysql 协议 clickhouse和mysql对比_数据库

3.关于特性:
(1)列式数据库管理系统
①不存在额外的数据
②字段类型都是固定长度的
③允许在运行时创建表和数据库、加载数据和运行查询,而无需重新配置或重启服务。
(2)数据压缩
①压缩之后可以更好的提高性能
②除了在磁盘空间和CPU消耗之间进行不同权衡的高效通用压缩编解码器之外,
ClickHouse还提供针对特定类型数据的专用编解码器,
这使得ClickHouse能够与更小的数据库(如时间序列数据库)竞争并超越它们。
(3)数据磁盘存储持久化(这点跟mysql一样)	
①存储成本不高
②不过分占用内存
(4)多核心并行处理
①支持多线程处理 充分利用服务器资源
(5)多服务器分布式处理
①几乎只有clickHouse一个列式数据库支持分布式
②对用户透明
(6)支持SQL
①跟规范差不多 跟mysql有共通之处 存在方言
②Group by,Order by,join,in都可以用 不支持窗口和相关子查询  
(7)向量引擎
①高效利用CPU
1)不仅按列存储 还按更小的向量存储
(8)实时数据更新
①支持定义主键 
1)为了查询更高效,能够在主键中更快速的检索,数据总是以增量的形式有序的存储在MergeTree中
2)写入时不加锁
(9)索引
①Mysql也有 
②也是根据主键对数据进行排序 
③几十毫秒定位数据 贼快
(10)适合在线查询
①还没对数据预处理时就以极快的速度把查询结果加载到用户界面
(11)支持近似计算(牺牲精度)
①聚合函数(distinct啥的可以用)
(12)Adaptive Join Algorithm/自适应连接算法
①支持自定义多表连接
(13)支持数据复制和数据完整性
①ClickHouse使用异步的多主复制技术。
②当数据被写入任何一个可用副本后,系统会在后台将数据分发给其他副本,
以保证系统在不同副本上保持相同的数据。
③在大多数情况下ClickHouse能在故障后自动恢复,在一些少数的复杂情况下需要手动恢复。
(14)允许通过SQL对角色的访问进行控制
(15)缺陷
①没有完整的事务支持
②缺少高频率,低延迟的修改或删除已存在数据的能力,
仅能用于批量删除和修改数据,但符合GDPR
③索引不完善(不适合通过键检索单行的点查询)