并行执行框架突破了CPU扩展能力的限制,带来了显著的性能提升。然而,受限于行式存储及行式执行器的效率限制,单核执行性能存在天花板,其峰值性能依然与专用的OLAP系统存在差距。要更进一步的提升分析性能,则需要引入列式存储:
- 在分析场景,经常需要访问某个列的大量记录,而列存按列拆分存储的方式会避免读取不需要的列。其次,列存会将相同属性的列连续保存,其压缩效率也远超行存,通常可以达到10倍以上。列存中大块存储的结构,结合MIN/MAX等粗糙索引信息可以实现大范围的数据过滤。所有这些行为都极大的提升了IO的效率。在存储计算分离架构下,减少通过网络读取的数据量可以对查询处理的响应时间带来立竿见影的提升。
- 列式存储同样能提高CPU在处理数据时的执行效率。首先,列存的紧凑排列方式可提升CPU访问内存的效率,减少由L1/L2 Cache miss导致的执行停顿时间。其次,在列式存储上可以应用SIMD技术来进一步提升单核吞吐能力。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




