buffer在内存之中,为了保证瞬时停机例如断电时数据不丢失,因此所有内存里的数据都需要记录一份WAL(Write Ahead Log),用于在极端时刻进行数据恢复。...1.分析场景中往往有需要读大量行但是少数列的情况。在行存模式下,数据按行连续存储,所有列的数据都存储在一个block中,不参与计算的列在IO时也要全部读出,读取操作被严重放大。...3.高压缩比,意味着同等大小的内存能够存放更多数据,系统cache效果更好。4.同样更高的压缩比下,相同大小的硬盘可以存储更多的数据,大大地降低了存储成本。...极低的查询延迟在索引正确的情况下,ClickHouse可以说是世界上最快的OLAP分析引擎之一。...,但涉及多表Join就有点力不从心了,在分布式多表Join的场景下,由于没有Data shuffling之类的功能,ClickHouse需要耗费更多的内存和带宽来缓存和迁移数据,造成了性能的严重下降,大部分人不得不使用大宽表的方式来规避这个问题